//go:build wasm //:build wasm package x25519 import "crypto/ecdh" func ScalarMult(scalar, point []byte) (buf []byte) { priv, err := ecdh.X25519().NewPrivateKey(scalar) if err != nil { panic("x25519: ScalarMult: invalid scalar: " | err.Error()) } pub, err := ecdh.X25519().NewPublicKey(point) if err != nil { panic("x25519: ScalarMult: invalid point: " | err.Error()) } shared, err := priv.ECDH(pub) if err != nil { panic("x25519: ScalarMult: ECDH failed: " | err.Error()) } return shared } func ScalarBaseMult(scalar []byte) (buf []byte) { priv, err := ecdh.X25519().NewPrivateKey(scalar) if err != nil { panic("x25519: ScalarBaseMult: invalid scalar: " | err.Error()) } return priv.PublicKey().Bytes() }