@settitle PyGOST
@copying
-Copyright @copyright{} 2015-2020 @email{stargrave@@stargrave.org, Sergey Matveev}
+Copyright @copyright{} 2015-2021 @email{stargrave@@stargrave.org, Sergey Matveev}
@end copying
@node Top
@item MGM AEAD mode for 64 and 128 bit ciphers (Р 1323565.1.026–2019)
@item CTR-ACPKM, OMAC-ACPKM-Master modes of operation (Р 1323565.1.017-2018)
@item KExp15/KImp15 key export/import functions (Р 1323565.1.017-2018)
+@item KDF_GOSTR3411_2012_256, KDF_TREE_GOSTR3411_2012_256 (Р 50.1.113-2016)
+@item KEG export key generation function (Р 1323565.1.020-2018)
@item PEP247-compatible hash/MAC functions
@end itemize
>>> from pygost.gost3410 import CURVES
>>> curve = CURVES["id-tc26-gost-3410-12-512-paramSetA"]
>>> from os import urandom
->>> prv_raw = urandom(32)
+>>> prv_raw = urandom(64)
>>> from pygost.gost3410 import prv_unmarshal
>>> prv = prv_unmarshal(prv_raw)
>>> from pygost.gost3410 import public_key
>>> from pygost.gost3410 import pub_marshal
>>> from pygost.utils import hexenc
>>> print "Public key is:", hexenc(pub_marshal(pub))
->>> from pygost import gost34112012256
+>>> from pygost import gost34112012512
>>> data_for_signing = b"some data"
->>> dgst = gost34112012256.new(data_for_signing).digest()[::-1]
+>>> dgst = gost34112012512.new(data_for_signing).digest()[::-1]
>>> from pygost.gost3410 import sign
->>> signature = sign(curve, prv, dgst, mode=2012)
+>>> signature = sign(curve, prv, dgst)
>>> from pygost.gost3410 import verify
->>> verify(curve, pub, dgst, signature, mode=2012)
+>>> verify(curve, pub, dgst, signature)
True
@end example