I want to know to how break NaCl encryption when a nonce is used more than once for a given key private key. According to PyNaCl docs:

It is VITALLY important that the nonce is a nonce, i.e. it is a number used only once for any given key. If you fail to do this, you compromise the privacy of the messages encrypted.


NaCl's public key authenticated encryption uses a stream cipher for symmetric encryption (after key derivation using Curve25519). Like all synchronous stream ciphers, it produces the same keystream when you use the same nonce.

That means you are in the same position as when a one-time pad has been reused. (Having a known plaintext would make things even easier than mentioned in that link, since it would just reveal (a part of) the keystream.)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.