我在curve25519上有两个点([32]字节)。我如何添加它们(a + b)。我显然不能使用 big.Int 来做到这一点,因为它们不是数字而是曲线上的点。到目前为止,我还没有找到任何库来做类似于我可以使用edwards25519做的事情:
a := [32]byte // I get that from another function
b := [32]byte // also from another function
pointA, _ := new(edwards25519.Point).SetBytes(a)
pointB, _ := new(edwards25519.Point).SetBytes(b)
pointC := pointA.Add(pointA, pointB)
fmt.Println(pointC.Bytes())
我已经尝试使用它并使用 将结果转换为蒙哥马利曲线&edwards25519.Point{}.BytesMontgomery()
,但我既不能导入也a
不能b
导入 edwards25519 曲线,因为它们是曲线 25519 上的点。