block-ciphers icon indicating copy to clipboard operation
block-ciphers copied to clipboard

rc6: RC6 Implementation

Open ashWhiteHat opened this issue 2 years ago • 4 comments

Part of https://github.com/RustCrypto/block-ciphers/issues/1

Hi there. I implemented rc6.

Implementation and documentation are aligned with rc5 implementation.

I referred following document for key schedule, encryption and decryption algorithms. https://www.grc.com/r&d/rc6.pdf

I checked whether it works by following test vectors. https://datatracker.ietf.org/doc/html/draft-krovetz-rc6-rc5-vectors-00#section-3

I would appreciate it if you could confirm. Thank you!

ashWhiteHat avatar Jul 09 '23 02:07 ashWhiteHat

+1

RustCrypto apparently already owns the crate "rc6" and just isn't doing anything with it, so not merging this seems somewhat silly.

ghost avatar Aug 27 '23 17:08 ghost

The reason this hasn't been merged yet is because it hasn't yet been code reviewed, which is especially important for cryptographic code.

Please give us time to review it.

If you'd like to be helpful, it would be good to get some feedback on if it worked in a particular application you're interested in.

tarcieri avatar Aug 27 '23 17:08 tarcieri

The reason this hasn't been merged yet is because it hasn't yet been code reviewed, which is especially important for cryptographic code.

Please give us time to review it.

Oh, yeah, 100%. I apologize if I came off as impatient. My intent was to express interest in the feature, not to rush you guys.

If you'd like to be helpful, it would be good to get some feedback on if it worked in a particular application you're interested in.

I am planning on using it in an application soon, hence my original comment. I'll report back with my results.

ghost avatar Aug 27 '23 17:08 ghost

The RC6 standard doesn't mandate any key size, round count, or word length, but this implementation does. RustCrypto's RC5 implementation has a similar problem which I've opened an issue for (#381). RC5 and RC6 are very similar so most of what I wrote there should be applicable here.

ghost avatar Aug 27 '23 19:08 ghost

The test failures look unrelated.

We'd still be interested in this if you could rebase!

tarcieri avatar Jul 29 '24 00:07 tarcieri

Hi @tarcieri Thank you for the notification.

I rebased and fixed conflict. I would appreciate it if you could confirm. Thank you!

ashWhiteHat avatar Jul 29 '24 01:07 ashWhiteHat

This includes rc5 refactoring and it's hard to rebase. I close this PR.

ashWhiteHat avatar Jul 29 '24 02:07 ashWhiteHat

@ashWhiteHat can you open a new PR with just the rc6 implementation?

tarcieri avatar Jul 30 '24 15:07 tarcieri

Copy that. Probably in weekend.

ashWhiteHat avatar Jul 31 '24 00:07 ashWhiteHat