@item GOST R 34.12-2015 64-bit block cipher Магма (Magma)
@item GOST R 34.13-2015 padding methods
@item MGM AEAD mode for 64 and 128 bit ciphers
@item GOST R 34.12-2015 64-bit block cipher Магма (Magma)
@item GOST R 34.13-2015 padding methods
@item MGM AEAD mode for 64 and 128 bit ciphers
@item TLSTREE keyscheduling function
@item ESPTREE/IKETREE (IKE* is the same as ESP*) keyscheduling function
@item @code{PRF_IPSEC_PRFPLUS_GOSTR3411_2012_@{256,512@}} and generic
@item TLSTREE keyscheduling function
@item ESPTREE/IKETREE (IKE* is the same as ESP*) keyscheduling function
@item @code{PRF_IPSEC_PRFPLUS_GOSTR3411_2012_@{256,512@}} and generic
)
func main() {
data := []byte("data to be signed")
hasher := gost34112012256.New()
_, err := hasher.Write(data)
dgst := hasher.Sum(nil)
)
func main() {
data := []byte("data to be signed")
hasher := gost34112012256.New()
_, err := hasher.Write(data)
dgst := hasher.Sum(nil)
- curve := gost3410.CurveIdtc26gost34102012256paramSetB()
- prvRaw := make([]byte, int(gost3410.Mode2001))
+ curve := gost3410.CurveIdtc26gost341012256paramSetB()
+ prvRaw := make([]byte, 32)
- prv, err := gost3410.NewPrivateKey(curve, gost3410.Mode2001, prvRaw)
+ prv, err := gost3410.NewPrivateKey(curve, prvRaw)
pub, err := prv.PublicKey()
pubRaw := pub.Raw()
sign, err := prv.Sign(rand.Reader, dgst, nil)
pub, err := prv.PublicKey()
pubRaw := pub.Raw()
sign, err := prv.Sign(rand.Reader, dgst, nil)
- pub, err = gost3410.NewPublicKey(curve, gost3410.Mode2001, pubRaw)
+ pub, err = gost3410.NewPublicKey(curve, pubRaw)
isValid, err := pub.VerifyDigest(dgst, sign)
if !isValid { panic("signature is invalid") }
}
@end verbatim
Please send questions, bug reports and patches to
isValid, err := pub.VerifyDigest(dgst, sign)
if !isValid { panic("signature is invalid") }
}
@end verbatim
Please send questions, bug reports and patches to