package main import ( "crypto/rand" "fmt" "github.com/babylonchain/babylon/crypto/eots" ) func main() { // Generate keys secretKey, _ := eots.KeyGen(rand.Reader) publicKey := eots.PubGen(secretKey) privateRand, publicRand, _ := eots.RandGen(rand.Reader) // sign for message 1 h1 := []byte("hello") s1, _ := eots.Sign(secretKey, privateRand, h1) // sign for message 2 h2 := []byte("world") s2, _ := eots.Sign(secretKey, privateRand, h2) // extract private key extractedKey, _ := eots.Extract(publicKey, publicRand, h1, s1, h2, s2) fmt.Println(" original secret key:", secretKey) fmt.Println("extracted secret key:", extractedKey) }