Expose SkToBigInt for usage from other packages & repos
arnaucube root@arnaucube.com
Wed, 22 Apr 2020 14:53:31 +0200
1 files changed,
8 insertions(+),
1 deletions(-)
jump to
M
babyjub/eddsa.go
→
babyjub/eddsa.go
@@ -36,6 +36,13 @@
// Scalar converts a private key into the scalar value s following the EdDSA // standard, and using blake-512 hash. func (k *PrivateKey) Scalar() *PrivKeyScalar { + s := SkToBigInt(k) + return NewPrivKeyScalar(s) +} + +// SkToBigInt converts a private key into the *big.Int value following the +// EdDSA standard, and using blake-512 hash +func SkToBigInt(k *PrivateKey) *big.Int { sBuf := Blake512(k[:]) sBuf32 := [32]byte{} copy(sBuf32[:], sBuf[:32])@@ -43,7 +50,7 @@ pruneBuffer(&sBuf32)
s := new(big.Int) utils.SetBigIntFromLEBytes(s, sBuf32[:]) s.Rsh(s, 3) - return NewPrivKeyScalar(s) + return s } // Pub returns the public key corresponding to a private key.