访问NaCl / libsodium

时间:2018-02-16 04:26:26

标签: libsodium nacl-cryptography

根据https://cr.yp.to/highspeed/naclcrypto-20090310.pdf,NaCl从crypto_box API中的共享密钥和随机数中获取MAC密钥。

  

Alice使用长流的前32个字节(使用salsa20从共享密钥和现时生成)来计算加密数据包的验证者。

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

1 个答案:

答案 0 :(得分:0)

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

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

因此,您只需使用crypto_stream()来计算Poly1305密钥。