Skip to content

crypto: document that the GCM AEADs are safe for concurrent use if the underlying cipher.Block is #41689

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

Open
cespare opened this issue Sep 29, 2020 · 2 comments
Labels
Documentation Issues describing a change to documentation. NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@cespare
Copy link
Contributor

cespare commented Sep 29, 2020

This is a follow-on to #25882.

That issue is about documenting which cipher.Block implementations are safe for concurrent use.

Similarly, the cipher.AEAD created by NewGCM and friends ought to be documented as safe for concurrent use if the underlying cipher.Block is. In particular, AES-GCM should be safe.

/cc @FiloSottile

@gopherbot gopherbot added the Documentation Issues describing a change to documentation. label Sep 29, 2020
@FiloSottile
Copy link
Contributor

Sounds good, send a CL with a test if you'd like! Thank you!

@andybons andybons added the NeedsFix The path to resolution is known, but the work has not been done. label Sep 29, 2020
@andybons andybons added this to the Unplanned milestone Sep 29, 2020
@enj enj moved this to 📋 Backlog in SIG Auth: KMS v2 Mar 14, 2023
@aramase aramase moved this from 📋 Backlog to 🚫 v1.28 Blockers in SIG Auth: KMS v2 May 2, 2023
@aramase aramase moved this from 🚫 v1.28 Blockers to 🚫 v1.29 Blockers in SIG Auth: KMS v2 May 2, 2023
@awnumar
Copy link
Contributor

awnumar commented Aug 31, 2023

chacha20poly1305 should also either be documented as concurrent safe or not.

From a glance at the code it appears as though it is safe to use concurrently as the only state that's accessed in the Open/Seal functions is a read of the key, though there are also assembly implementations I don't understand.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Documentation Issues describing a change to documentation. NeedsFix The path to resolution is known, but the work has not been done.
Projects
None yet
Development

No branches or pull requests

5 participants