Skip to content

li0ard/dstu4145_go

Repository files navigation

dstu4145_go
DSTU 4145-2002 curves and DSA



Examples

package main

import (
	"encoding/hex"
	"fmt"

	dstu4145go "github.com/li0ard/dstu4145_go"
)

c := dstu4145go.NewCurve(dstu4145go.DSTU_163_TEST())
privateKey, _ := hex.DecodeString("00000000000000000000000183F60FDF7951FF47D67193F8D073790C1C9B5A3E")
publicKey := c.GetPublicKey(privateKey)
fmt.Println("x =", publicKey.X.Text(16))
fmt.Println("y =", publicKey.Y.Text(16))
hash, _ := hex.DecodeString("09C9C44277910C9AAEE486883A2EB95B7180166DDF73532EEB76EDAEF52247FF")
var signature = c.Sign(privateKey, hash, nil)
fmt.Println("r =", signature.R.Text(16))
fmt.Println("s =", signature.S.Text(16))
fmt.Println("check =", c.Verify(publicKey, hash, signature))

About

DSTU 4145-2002 curves and DSA

Topics

Resources

License

Stars

Watchers

Forks

Languages