-
Notifications
You must be signed in to change notification settings - Fork 131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rc6: RC6 Implementation #371
Conversation
12e3df7
to
02b2381
Compare
+1 RustCrypto apparently already owns the crate "rc6" and just isn't doing anything with it, so not merging this seems somewhat silly. |
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. |
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.
I am planning on using it in an application soon, hence my original comment. I'll report back with my results. |
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. |
The test failures look unrelated. We'd still be interested in this if you could rebase! |
Hi @tarcieri I rebased and fixed conflict. |
categories = ["cryptography"] | ||
|
||
[dependencies] | ||
cipher = { version = "0.4.3", features = ["zeroize"] } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cipher = { version = "0.4.3", features = ["zeroize"] } | |
cipher = { version = "0.5.0-pre.6", features = ["zeroize"] } |
cipher = { version = "0.4.3", features = ["zeroize"] } | ||
|
||
[dev-dependencies] | ||
cipher = { version = "0.4.3", features = ["dev"] } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cipher = { version = "0.4.3", features = ["dev"] } | |
cipher = { version = "0.5.0-pre.6", features = ["dev"] } |
This includes rc5 refactoring and it's hard to rebase. |
@ashWhiteHat can you open a new PR with just the |
Copy that. |
Part of #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!