-
Notifications
You must be signed in to change notification settings - Fork 153
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
xaes: initial implementation #612
Conversation
90897dd
to
8c08e80
Compare
aes-gcm/tests/xaes256gcm.rs
Outdated
use common::TestVector; | ||
use hex_literal::hex; | ||
|
||
/// C2SP XAES-256-GCM test vectors |
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.
sidebar - would love if C2SP test vectors would be embedded in crate a-like of wycheproof-rs so test vectors can be updated independently to all associated impl's and no messing updating multiple places
gave you few nits - take em if you like if you feel like it and if worried about non-ct anywhere: |
@newpavlov @tarcieri Any chance for a review here? |
@SergioBenitez sorry, I've been on vacation. I'll look at this soon. |
Checking in. Any chance to push this forward? |
@SergioBenitez haven't had a whole lot of free time lately for code review but I still hope to review it soon |
Sorry for the belated review. On #1 we had discussed an I am a bit wary including the construction in the However, I'd also note the construction in the spec is called |
5908f6a
to
d3141c6
Compare
Sure! Went ahead and published a |
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.
Sorry for the long delay in review! This looks good now.
@SergioBenitez attempted to do a Cargo.lock merge but it seems it didn't work. Can you take a look? |
Merged in #642 |
This is an initial implementation of XAES-256-GCM (re: #1) which passes the test vectors.
Would love a review, especially as it pertains to constant-time and zeroing (why isn't
zeroize
used to zero IVs?). I don't see an obvious constant-time byte-slice XOR in use elsewhere in Rust-Crypto, but please point to a canonical reference if possible. I also have not placed this behind any feature flags, yet. Finally, the primary structureXaesGcm256
is not parameterized in any way. If it's desirable to parameterize it in a similar fashion toAesGcm
, please let me know.