-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Shift StreamingAead
to use RustCrypto aead::stream
module
#67
Comments
I'd be very happy if tink-rust could defer the cryptographic heavy lifting to another (RustCrypto) crate for However, (as you say) it would depend on everything needing/using the exact same variants, and I've not yet looked into the details either. (To put it another way: I'd like the Tink cross-language tests to keep passing.) BTW, did you see https://eprint.iacr.org/2020/1019.pdf? The intro includes a helpful description of Tink's adaptation of STREAM. |
Upon examining Tink it appears to use the original Rogaway paper definition of STREAM, which is definitely something worth supporting. I can and should add support for it to RustCrypto/traits#436, which otherwise implements a slightly different version with a small optimization/ergonomics improvement, but that's why it defines the
Nice writeup, thanks! It appears Tink operates at a much higher level and defines its own STREAM framing, in addition to specifying STREAM "ciphersuites" which use HKDF to derive a STREAM-specific key. That's all well and good and for the best. That said, the traits and implementations thereof in RustCrypto/traits#436 are much, much lower-level and I think should fit within Tink's framework just fine. |
aead::stream
moduleaead::stream
module
FYI, the new https://docs.rs/aead/0.4.1/aead/stream/index.html The https://docs.rs/aead/0.4.1/aead/stream/struct.StreamBE32.html |
aead::stream
moduleStreamingAead
to use RustCrypto aead::stream
module
FYI, there's an open PR to add a
stream
module to the RustCryptoaead
crate whichStreamingAead
could potentially benefit from:RustCrypto/traits#436
In particular I think it'd be nice if
rage
andtink-rust
could potentially share code, particularly around things like async and/or parallel stream readers/writers.Anyway, heads up we're working on some common abstractions for this sort of thing and would love your input, in particular if you think it would be helpful for things like
StreamingAead
, and if you have any concerns about the proposed design.I think
age
and Tink (in all forms) might also use a common "flavor" of STREAM, although I haven't confirmed that.Sidebar:
STREAM isn't actually OAE2, but rather "nonce-based OAE" (nOAE). CHAIN is required for OAE2. (Edit: I now see thenoncebased
streaming module, never mind)The text was updated successfully, but these errors were encountered: