3

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.

otus
  • 32,132
  • 5
  • 70
  • 165
Lisbeth
  • 497
  • 3
  • 13

1 Answers1

2

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.)

otus
  • 32,132
  • 5
  • 70
  • 165