INNER CODE UNIT · Go
ed25519PointToBigInts
schollz/pake · pake.go:105
func ed25519PointToBigInts(pointBytes []byte) (*big.Int, *big.Int) {
if len(pointBytes) != 32 {
return big.NewInt(0), big.NewInt(0)
}
// Store the entire point in x coordinate, y is always 0
x := new(big.Int).SetBytes(pointBytes)
y := big.NewInt(0)
return x, y
}
// Pake keeps public and private variables by
// only transmitting between parties after marshaling.
//
// This method follows
// https://crypto.stanford.edu/~dabo/cryptobook/BonehShoup_0_4.pdf
// Figure 21/15
// http://www.lothar.com/~warner/MagicWormhole-PyCon2016.pdf
// Slide 11