首页 > 解决方案 > 信号协议中Curve25519中的不同基点?

问题描述

几天以来我一直在研究Curve25519信号协议。我了解到,通常 Curve25519 使用“9”作为基点,但使用的信号基点是 convert_mont(9)。convert_mont(9) 是使用蒙哥马利私钥作为参数生成扭曲爱德华曲线密钥对的函数。这是为什么?

还提到在文档中

XEd25519 signatures are valid Ed25519 signatures [1] and vice versa, provided the public keys are converted with the birational map.

我认为这意味着如果 Ed25519 签名是使用 convert_mont() 计算的,那么它等同于 XEd25519 签名。

如果我必须实现 convert_mont() 那么我如何在 libsodium 中进行空气计算操作,因为我对密码学很陌生。

谢谢。

标签: cryptographylibsodiumcurve-25519signal-protocol

解决方案


推荐阅读