4.0: * 34.10-2012 TC26 twisted Edwards curve related parameters * Coordinates conversion from twisted Edwards to Weierstrass form and vice versa * More test vectors * Backward incompatible Sbox and curves parameters renaming, to comply with OIDs identifying them: Gost2814789_TestParamSet -> id-Gost28147-89-TestParamSet Gost28147_CryptoProParamSetA -> id-Gost28147-89-CryptoPro-A-ParamSet Gost28147_CryptoProParamSetB -> id-Gost28147-89-CryptoPro-B-ParamSet Gost28147_CryptoProParamSetC -> id-Gost28147-89-CryptoPro-C-ParamSet Gost28147_CryptoProParamSetD -> id-Gost28147-89-CryptoPro-D-ParamSet Gost28147_tc26_ParamZ -> id-tc26-gost-28147-param-Z GostR3411_94_TestParamSet -> id-GostR3411-94-TestParamSet GostR3411_94_CryptoProParamSet -> id-GostR3411-94-CryptoProParamSet GostR3410_2001_TestParamSet -> id-GostR3410-2001-TestParamSet GostR3410_2001_CryptoPro_A_ParamSet -> id-GostR3410-2001-CryptoPro-A-ParamSet GostR3410_2001_CryptoPro_B_ParamSet -> id-GostR3410-2001-CryptoPro-B-ParamSet GostR3410_2001_CryptoPro_C_ParamSet -> id-GostR3410-2001-CryptoPro-C-ParamSet GostR3410_2001_CryptoPro_XchA_ParamSet -> id-GostR3410-2001-CryptoPro-XchA-ParamSet GostR3410_2001_CryptoPro_XchB_ParamSet -> id-GostR3410-2001-CryptoPro-XchB-ParamSet GostR3410_2012_TC26_256_ParamSetA -> id-tc26-gost-3410-2012-256-paramSetA GostR3410_2012_TC26_ParamSetA -> id-tc26-gost-3410-12-512-paramSetA GostR3410_2012_TC26_ParamSetB -> id-tc26-gost-3410-12-512-paramSetB GostR3410_2012_TC26_ParamSetC -> id-tc26-gost-3410-2012-512-paramSetC * Backward incompatible GOST3410Curve initialization: all parameters are passed not as big-endian encoded binaries, but as integers * Backward incompatible change: gost3410.CURVE_PARAMS is disappeared. gost3410.CURVES dictionary holds already initialized GOST3410Curve. Just use CURVES["id-tc26-gost-3410-12-512-paramSetA"] instead of GOST3410Curve(*CURVE_PARAMS["id-tc26-gost-3410-12-512-paramSetA"]) 3.15: * Licence changed back to GNU GPLv3+. GNU LGPLv3+ licenced versions are not available anymore * More ASN.1-based test vectors (PyDERASN dependency required) 3.14: Add missing typing stubs related to previous release. 3.13: * Ability to explicitly specify used 28147-89 Sbox in pygost.wrap.* functions * Ability to use key meshing in 28147-89 CBC mode 3.12: * Added mode argument to pygost.gost3410_vko.kek_34102012256, because 256-bit private keys can be used with that algorithm too * Fix incorrect degree sanitizing in pygost.gost3410.GOST3410Curve.exp preventing using of UKM=1 in @code{pygost.gost3410_vko.kek_*} functions 3.11: Fixed PEP247 typing stub with invalid hexdigest method. 3.10: Additional missing 34.11-* typing stubs. 3.9: Add missing 34.11-2012 PBKDF2 typing stub. 3.8: * 34.11-2012 based PBKDF2 function added * 34.13-2015 does not require double blocksized IVs 3.7: Fixed 34.13-2015 OFB bug with IVs longer than 2 blocks. 3.6: Fixed source files installation during setup.py install invocation. 3.5: Dummy release: added long description in package metadata. 3.4: * Small mypy stubs related fixes * Licence changed from GNU GPLv3+ to GNU LGPLv3+ 3.3: * GOST3412Kuz renamed to GOST3412Kuznechik * GOST3412Magma implements GOST R 34.12-2015 Magma 64-bit block cipher 3.2: 34.13-2015 block cipher modes of operation implementations. 3.1: Fixed mypy stubs related to PEP247-successors. 3.0: * gost3411_94 renamed to gost341194 * gost3411_2012 renamed and split to gost34112012256, gost34112012512 * GOST34112012 split to GOST34112012256, GOST34112012512 * gost3410.kek moved to separate gost3410_vko.kek_34102001 * VKO GOST R 34.10-2012 appeared in gost3410_vko, with test vectors * 34.11-94 digest is reversed, to be compatible with HMAC and PBKDF2 test vectors describe in TC26 documents * 34.11-94 PBKDF2 test vectors added * gost3410.prv_unmarshal, gost3410.pub_marshal, gost3410.pub_unmarshal helpers added, removing the need of x509 module at all * gost3410.verify requires (pubX, pubY) tuple, instead of two separate pubX, pubY arguments * 34.11-94 based PBKDF2 function added 2.4: Fixed 34.13 mypy stub. 2.3: Typo and pylint fixes. 2.2: GOST R 34.13-2015 padding methods. 2.1: Documentation and supplementary files refactoring. 2.0: PEP-0247 compatible hashers and MAC. 1.0: * Ability to specify curve in pygost.x509 module * Ability to use 34.10-2012 in pygost.x509 functions Renamed classes and modules: * pygost.gost3410.SIZE_34100 -> pygost.gost3410.SIZE_3410_2001 * pygost.gost3410.SIZE_34112 -> pygost.gost3410.SIZE_3410_2012 * pygost.gost3411_12.GOST341112 -> pygost.gost3411_2012.GOST34112012 0.16: 34.10-2012 TC26 curve parameters. 0.15: PEP-0484 static typing hints. 0.14: 34.10-2012 workability fix. 0.13: Python3 compatibility. 0.11: GOST R 34.12-2015 Кузнечик (Kuznechik) implementation. 0.10: CryptoPro and GOST key wrapping, CryptoPro key meshing.