55 lines
1,009 B
Go
55 lines
1,009 B
Go
package main
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"fmt"
|
|
|
|
"git.giftfish.de/ston1th/goxifrat"
|
|
)
|
|
|
|
func main() {
|
|
ka, err := goxifrat.NewKeyAgreement(rand.Reader)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
kb, err := goxifrat.NewKeyAgreement(rand.Reader)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
i, err := ka.InitPhase(rand.Reader)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
sb, a, err := kb.SharedSecret(i)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
sa, _, err := ka.SharedSecret(a)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
fmt.Println("sa", sa)
|
|
fmt.Println("sb", sb)
|
|
/*
|
|
h, err := randomArray(rand.Reader)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
hash := encode(h)
|
|
priv, err := goxifrat.GenerateKey(rand.Reader)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
s, err := priv.Sign(rand.Reader, hash)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
fmt.Println(len(s), s)
|
|
s, err = priv.Sign(rand.Reader, hash)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
fmt.Println(s)
|
|
fmt.Println(goxifrat.Verify(&priv.PublicKey, hash, s))
|
|
*/
|
|
}
|