pyca / pynacl

Python binding to the Networking and Cryptography (NaCl) library
https://pynacl.readthedocs.io/
Apache License 2.0
1.05k stars 228 forks source link

SecretBox vs Aead #829

Open gonatienza opened 4 days ago

gonatienza commented 4 days ago

I was wondering why XChaCha20-Poly was not being exposed as the default cipher and authentication for the main high level wrapper. Found out that the low-level APIs were already there after going through the code, issues history and changelogs. Later found the wrapper class right there along SecretBox (🤦).

Any reason why the public documentation (https://pynacl.readthedocs.io/en/latest/secret/) references only SecretBox and not Aead?

Thanks!

PS -> Love the lib, thanks for all the work here.

alex commented 4 days ago

Because that was the recipe expose as secret in djb's original nacl library (https://nacl.cr.yp.to/secretbox.html). The availability of other algorithms is a more recent addition by libsodium ( https://libsodium.gitbook.io/doc/secret-key_cryptography/aead)

On Thu, Jul 4, 2024 at 1:24 PM Gonzalo Atienza @.***> wrote:

I was wondering why XChaCha20-Poly was not being exposed as the default cipher and authentication for the main high level wrapper. Found out that the low-level APIs were already there after going through the code, issues history and changelogs. Later found the wrapper class right there along SecretBox (🤦).

Any reason why the public documentation ( https://pynacl.readthedocs.io/en/latest/secret/) references only SecretBox and not Aead?

Thanks!

PS -> Love the lib, thanks for all the work here.

— Reply to this email directly, view it on GitHub https://github.com/pyca/pynacl/issues/829, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAAGBCB5OH46WK3MOUVKBDZKWAL5AVCNFSM6AAAAABKL43DACVHI2DSMVQWIX3LMV43ASLTON2WKOZSGM4TCMRVGEZTOMY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- All that is necessary for evil to succeed is for good people to do nothing.

gonatienza commented 4 days ago

Thanks for the quick reply, Alex. If you were to document it today would you default it to Aead? Or simply add Aead as an option to SecretBox? I would be happy to contribute with either replacing SecretBox from the docs or adding Aead as an option under or above SecretBox.