@settitle PyGOST
@copying
-Copyright @copyright{} 2015-2018 @email{stargrave@@stargrave.org, Sergey Matveev}
+Copyright @copyright{} 2015-2020 @email{stargrave@@stargrave.org, Sergey Matveev}
@end copying
@node Top
It is
@url{https://www.gnu.org/philosophy/pragmatic.html, copylefted}
@url{https://www.gnu.org/philosophy/free-sw.html, free software}:
-licenced under @url{https://www.gnu.org/licenses/gpl-3.0.html, GPLv3+}.
+licenced under @url{https://www.gnu.org/licenses/gpl-3.0.html, GPLv3}.
You can read about GOST algorithms @url{http://gost.cypherpunks.ru/, more}.
Currently supported algorithms are:
(@url{https://tools.ietf.org/html/rfc7091.html, RFC 7091})
public key signature function
@item various 34.10 curve parameters included
+@item Coordinates conversion from twisted Edwards to Weierstrass
+ form and vice versa
@item VKO GOST R 34.10-2001 key agreement function
(@url{https://tools.ietf.org/html/rfc4357.html, RFC 4357})
@item VKO GOST R 34.10-2012 key agreement function
(@url{https://tools.ietf.org/html/rfc7836.html, RFC 7836})
@item 28147-89 and CryptoPro key wrapping
(@url{https://tools.ietf.org/html/rfc4357.html, RFC 4357})
-@item 28147-89 CryptoPro key meshing for CFB mode
+@item 28147-89 CryptoPro key meshing for CFB and CBC modes
(@url{https://tools.ietf.org/html/rfc4357.html, RFC 4357})
@item @url{https://tools.ietf.org/html/rfc4491.html, RFC 4491}
(using GOST algorithms with X.509) compatibility helpers
Example 34.10-2012 keypair generation, signing and verifying:
@verbatim
->>> from pygost.gost3410 import CURVE_PARAMS
->>> from pygost.gost3410 import GOST3410Curve
->>> curve = GOST3410Curve(*CURVE_PARAMS["GostR3410_2012_TC26_ParamSetA"])
+>>> from pygost.gost3410 import CURVES
+>>> curve = CURVES["id-tc26-gost-3410-12-512-paramSetA"]
>>> from os import urandom
>>> prv_raw = urandom(32)
>>> from pygost.gost3410 import prv_unmarshal