Versions in this module Expand all Collapse all v0 v0.1.0 Jul 23, 2026 Changes in this version + const GOST28147BlockSize + const GOST28147KeySize + const KuznyechikBlockSize + const MagmaBlockSize + var SboxCryptoProA = &Sbox + var SboxTC26Z = &Sbox + func GOST2814789Decrypt(key, ciphertext []byte) ([]byte, error) + func GOST2814789Encrypt(key, plaintext []byte) ([]byte, error) + func GOST28147_IMIT(key, msg []byte) ([]byte, error) + func GOSTR341194(msg []byte) []byte + func GenerateEphemeralKey(curve *Curve, rnd io.Reader) (privRaw, pubRaw []byte, err error) + func KDFTree2012_256(key, label, seed []byte, keyOutLen int) []byte + func KEG2012_256(curve *Curve, serverPubRaw, clientPrivRaw, ukmSource []byte) ([64]byte, error) + func Kexp15(variant KexpVariant, sharedKey, cipherKey, macKey, iv []byte) ([]byte, error) + func KeyWrapCryptoPro(sbox *Sbox, kek, ukm, sessionKey []byte) ([]byte, error) + func KuznyechikDecrypt(key, ciphertext []byte) ([]byte, error) + func KuznyechikEncrypt(key, plaintext []byte) ([]byte, error) + func MagmaDecrypt(key, ciphertext []byte) ([]byte, error) + func MagmaEncrypt(key, plaintext []byte) ([]byte, error) + func NewGOST28147IMITPlaceholderHash() hash.Hash + func NewGOST28147_CNT(key, iv []byte) (cipher.Stream, error) + func NewGOSTR341194CryptoProHash() hash.Hash + func NewKuznyechikCipher(key []byte) cipher.Block + func NewMagmaCipher(key []byte) cipher.Block + func NewStreebog256Hash() hash.Hash + func NewStreebog512Hash() hash.Hash + func PublicKeyRawFromPrivate(curve *Curve, prvRaw []byte) ([]byte, error) + func PublicKeyRawFromPrivate2001Test(prvRaw []byte) ([]byte, error) + func R341012Sign(prvRaw, digest []byte) ([]byte, error) + func R341012Verify(prvRaw, digest, sig []byte) (bool, error) + func R342001Verify(pubRaw, digest, sig []byte) (bool, error) + func SignDigestOnCurve(curve *Curve, prvRaw, digest []byte, rnd io.Reader) ([]byte, error) + func Streebog256(msg []byte) []byte + func Streebog512(msg []byte) []byte + func VKO2001(prvRaw, pubRaw, ukmRaw []byte) ([]byte, error) + func VKO2001OnCurve(curve *Curve, prvRaw, pubRaw, ukmRaw []byte) ([]byte, error) + func VKO2001TestCurve(prvRaw, pubRaw, ukmRaw []byte) ([]byte, error) + func VKO2012_256(prvRaw, pubRaw, ukmRaw []byte) ([]byte, error) + func VKO2012_256OnCurve(curve *Curve, prvRaw, pubRaw, ukmRaw []byte) ([]byte, error) + func VKO2012_512(prvRaw, pubRaw, ukmRaw []byte) ([]byte, error) + func VerifyDigestOnCurve(curve *Curve, pubRaw, digest, sig []byte) (bool, error) + type CTR struct + func NewCTR(block cipher.Block, iv []byte) (*CTR, error) + func NewCTRACPKM(newBlock func([]byte) cipher.Block, key, iv []byte, sectionSize int) (*CTR, error) + func (c *CTR) XORKeyStream(dst, src []byte) + type Curve struct + func CurveByOID(oid asn1.ObjectIdentifier) (*Curve, error) + func GOST2001CryptoProAParamSetCurve() *Curve + func GOST2001TestParamSetCurve() *Curve + func (c *Curve) Name() string + func (c *Curve) PointSize() int + type GOST28147Cipher struct + func NewGOST28147Cipher(key []byte, sbox *Sbox) *GOST28147Cipher + func (c *GOST28147Cipher) Decrypt(dst, src []byte) + func (c *GOST28147Cipher) Encrypt(dst, src []byte) + func (c *GOST28147Cipher) SeqMACBlock(block []byte) []byte + type KexpVariant int + const KexpKuznyechik + const KexpMagma + type OMAC struct + func NewOMAC(block cipher.Block, tagSize int) (*OMAC, error) + func (o *OMAC) BlockSize() int + func (o *OMAC) Reset() + func (o *OMAC) Size() int + func (o *OMAC) Sum(b []byte) []byte + func (o *OMAC) Write(p []byte) (int, error) + type Sbox struct + type TLSTree struct + func NewTLSTreeKuznyechikCTROMAC(masterKey []byte) *TLSTree + func NewTLSTreeMagmaCTROMAC(masterKey []byte) *TLSTree + func (t *TLSTree) Derive(seqNum uint64) []byte