Skip to content
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

[sha3] Impl SyncStreamCipher for Sha3XofReader #181

Closed
niluxv opened this issue Jul 10, 2020 · 5 comments
Closed

[sha3] Impl SyncStreamCipher for Sha3XofReader #181

niluxv opened this issue Jul 10, 2020 · 5 comments

Comments

@niluxv
Copy link

niluxv commented Jul 10, 2020

Since the Shake variants are considered secure PRFs (stream ciphers), it would be nice if sha3::Sha3XofReader would implement stream_cipher::SyncStreamCipher. (Or if there would be a different way to get a stream cipher out of shake.)

@niluxv niluxv changed the title Impl SyncStreamCipher for Sha3XofReader [sha3] Impl SyncStreamCipher for Sha3XofReader Jul 10, 2020
@newpavlov
Copy link
Member

I think we will do it on the trait crate level, i.e. we will have a blanket (feature-gated) impl of the stream cipher traits for XOFs.

@niluxv
Copy link
Author

niluxv commented Jan 21, 2021

Yes, that would be a lot nicer from an API perspective!
Why does it need to be feature-gated? It wouldn't be backwards incompatible, right?

@tarcieri
Copy link
Member

tarcieri commented Jan 21, 2021

@niluxv it would introduce a dependency on the cipher crate in the digest crate. Presently there is no such dependency.

Making the cipher dependency optional means it'd only be used when needed, and other users of digest would not see an additional dependency.

Edit: made a note of this in RustCrypto/traits#478

@niluxv
Copy link
Author

niluxv commented Jan 23, 2021

it would introduce a dependency on the cipher crate in the digest crate.

Ah, yes, that makes sense. I should have known that. Thanks for answering!

@newpavlov
Copy link
Member

Going to close it in favor of RustCrypto/traits#510.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants