Libsodium 签名和验证

Libsodium sign and verify

函数

int crypto_sign(unsigned char *sm, unsigned long long *smlen,
            const unsigned char *m, unsigned long long mlen,
            const unsigned char *sk); 

为消息 m 添加签名。但是,我无法在文档中找到 libsodium 是直接对消息签名,还是先创建哈希。如果它使用散列,使用什么样的散列方法?

它使用了类似于Schnorr签名的EdDSA算法。

消息确实使用 SHA512 函数进行了哈希处理(实际上是两次)以计算签名。