【发布时间】:2020-10-22 11:05:48
【问题描述】:
我正在生成一个新的随机对称密钥,并希望使用crypto_box_easy 将其传递给多个人。
可以为相同的消息和相同的发件人但为不同的收件人重复使用相同的(随机)随机数吗?可以使用随机密钥和crypto_secretbox_easy 进行对称加密吗?
由于 nonce 必须与加密消息一起提供,它无论如何都不能被隐藏,但是在多个不同的收件人之间重复使用是个问题吗?如果他们提供了一个生成错误的公钥,这是否会削弱加密,从而可以提取其他人的密钥?
非常感谢。
【问题讨论】:
-
欢迎来到 Stackoverflow。请参阅en.wikipedia.org/wiki/Cryptographic_nonce 了解 nonce 的定义或简而言之:“nonce”表示一次,因此对于任何加密(无论是一人或多人)。为每一次加密生成一个随机数,并将其与密文一起传递给接收者。
-
@MichaelFehr,实际上
crypto_box_easy将使用收件人公钥和您的私钥执行 ECDH 以生成共享密钥,然后将其散列为对称密钥。因此,为每个接收者使用一次相同的 nonce 是可以接受的,因为每个 Diffie Hellman 进程都会生成一个唯一的密钥。
标签: cryptography libsodium nacl-cryptography