-
Notifications
You must be signed in to change notification settings - Fork 136
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
Missing AES-KW #294
Comments
AES-KW is something of a difficult construction to place within our taxonomy. I wouldn't call it a block cipher in and of itself: rather it is closer to a mode of operation. We don't have plans to implement it: personally I'd say it was largely obsoleted by AES-SIV and its successor AES-GCM-SIV, both of which we provide crates for. However, if someone is interested in contributing it, we'd be happy to have an upstream implementation, if we can figure out the proper place to put it. |
Hi. AES-KW is one of the last remaining WebCrypto bits missing from Deno, and trying to fill in the gaps in the impl. The problem is, of course, that WebCrypto has not evolved to include newer algs such as AES-SIV, Ed25519 etc. @dignifiedquire do you still have your implementation, could it be submitted as a PR? Thanks |
@jedisct1 has an implementation https://github.com/jedisct1/rust-aes-keywrap |
I am using the code here, which has some audit done when rpgp was audited. Feel free to take it https://github.com/rpgp/rpgp/blob/master/src/crypto/aes_kw.rs |
regarding location, either standalone repo or sth like "key-wraps" or "KWs" given the special nature of these kinds of algorithms |
The problem with a That said we do have a KDFs repo containing only |
Hi. Just committed a version of @dignifiedquire's code to a personal repo, modified to fit into my initial impression of RustCrypto standards. Repo structure copied from KDF repo and adjusted. Perhaps you guys could have a look and if ok, decide on a suitable location in RustCrypto org and, if needs be, create a new repo. Then I can submit the code as a PR and we can do some Code Review stuff to ensure compatibility with RustCrypto standards and stuff. Let me know ... |
@seanwykes is it private? I can't see it... |
Oops. Sorry. It's now public :)
|
Looks like a start, although there's still some copypasta from HKDF. If it's okay with @newpavlov I can make a new repo and then you can PR the individual crate so we can review it. Alternatively we could put it in https://github.com/rustcrypto/block-modes |
Great. I'll check out the copy-paste stuff .. If there's any trait-trickery you want me to impl, pls let me know during CR. (I'm still learning to find my way around RustCrypto ..) From my point of view, I think it would be very interesting to release an initial crate with Deno-compatible dependencies (aes 0.7.5) to avoid dep upgrades at this point. |
Ops. I updated the lib.rs and 'doc-test' code, but not the read-me. Is there an automatic way of generating one from the other, or is it copy-paste? |
If you're okay with an MSRV of 1.56+ (i.e. a 2021 edition crate), you can use: #![doc = include_str!("../README.md")] ...to place the contents of README.md into the rustdoc, and also doctest any code examples that appear in the README. We've moved to doing this in our crates that are MSRV 1.56. Here's an example: https://github.com/RustCrypto/traits/blob/master/kem/src/lib.rs#L1 |
Just dropped a DRAFT-PR@Deno. Passing all relevant WPT and JOSE tests for Thanks @dignifiedquire and @tarcieri for your code and help - once the code lands here, I'll update the PR to the released crate. |
@tarcieri |
I created a new repo: https://github.com/RustCrypto/key-wraps @seanwykes can you PR your proposed structure against it? |
Going to close this issue, since |
AFAICS, there is currently no implementation of AES-KW. Is that on the roadmap?
The only mention I could find was offer here to submit code for this mode.
The text was updated successfully, but these errors were encountered: