0

根据https://cr.yp.to/highspeed/naclcrypto-20090310.pdf,NaCl 从共享密钥和crypto_boxAPI 中的 nonce 派生 MAC 密钥。

Alice 使用长流的前 32 个字节(由共享密钥和 nonce 生成salsa20)来计算加密数据包的身份验证器。

但是,此过程是内部的。我想知道是否有一个 API 可以手动派生 MAC 密钥?

4

1 回答 1

0

box构造使用xsalsa20密码(最初 - 还有一个变体 using xchacha20)。

该密码的第一个块用作 Poly1305 密钥。剩余的块与消息进行异或以计算密文。

因此,您可以简单地使用crypto_stream()Poly1305 密钥来计算。

于 2018-02-16T10:17:07.337 回答