6.0
* Removed Python2 compatibility.
* Added SESPAKE (RFC 8133) algorithm support.
* Removed utils.bytes2long, utils.long2bytes,
utils.xrange, utils.hexenc, utils.hexdec.
5.13
Ability to use masked 34.10 private keys.
5.12
Fixed incorrect digest calculation when using
GOST34112012*.update() method.
5.11
gost34112012's update()/digest() methods are streaming now -- they
do not store the whole data in memory.
5.10
Added ISO 10126 pygost.gost3413.(un)pad_iso10126 padding support.
5.9
Fixed wrap.wrap_cryptopro, that ignored Sbox for key diversification.
5.8
Added human-readable name of the curve in GOST3410Curve.name.
5.7
Fixed MGM ignoring of the set tag size.
5.6
Fixed lint errors for previous release.
5.5
More 34.10 curve parameters aliases:
id-tc26-gost-3410-2012-256-paramSetA -> id-tc26-gost-3410-12-256-paramSetA
id-tc26-gost-3410-2012-256-paramSetB -> id-tc26-gost-3410-12-256-paramSetB
id-tc26-gost-3410-2012-256-paramSetC -> id-tc26-gost-3410-12-256-paramSetC
id-tc26-gost-3410-2012-256-paramSetD -> id-tc26-gost-3410-12-256-paramSetD
id-tc26-gost-3410-2012-512-paramSetTest -> id-tc26-gost-3410-12-512-paramSetTest
id-tc26-gost-3410-2012-512-paramSetA -> id-tc26-gost-3410-12-512-paramSetA
id-tc26-gost-3410-2012-512-paramSetB -> id-tc26-gost-3410-12-512-paramSetB
id-tc26-gost-3410-2012-512-paramSetC -> id-tc26-gost-3410-12-512-paramSetC
5.4
gost3410.prv_marshal helper can make private keys that are in
curve's Q field, for better compatibility with some implementations.
5.3
* More than 4 times speed increase of gost34112012.
* asn1schemas/cert-selfsigned-example.py optionally
can issue CA signed child certificate.
5.2
* GOST3410Curve has .contains(point) method for checking
if point is on the curve.
* gost3410_vko functions check if remote peer's public
key is on the curve.
* Small typing stubs fixes.
5.1
Small typing stubs fixes.
5.0
* Backward incompatible removing of misleading and excess "mode"
keyword argument from all gost3410* related functions. Point/key
sizes are determined by looking at curve's parameters size.
* asn1schemas/cert-selfsigned-example.py optionally can create
CA certificate.
4.9
* Fixed nasty bug with Edwards curves using in 34.10-VKO functions:
curve's cofactor has not been used.
* CTR-ACPKM mode of operation.
* OMAC-ACPKM-Master mode of operation.
* KExp15/KImp15 key export/import functions.
* KDF_GOSTR3411_2012_256, KDF_TREE_GOSTR3411_2012_256.
* KEG export key generation function.
4.8
MGM AEAD mode for 64 and 128 bit ciphers.
4.7
Removed gost28147.addmod for simplicity.
4.6
Fix invalid gost28147.addmod's behaviour with much bigger values
than the modulo.
4.5
Fixed digest endianness and more RFC4491bis conformance in
asn1schemas/cert-selfsigned-example.py certificate's.
4.4
* id-tc26-gost-3410-2012-512-paramSetTest curve.
* Simple FAQ.
* More test vectors for 34.10-2012.
* More X.509, PKCS #10 and corresponding ASN.1 helper structures.
4.3
Dummy release with fixed pygost.__version__.
4.2
* pygost.gost3410.sign accepts predefined random data used
for k/r generation.
* More test vectors for 34.10-2012.
4.1
* PEP-396 compatible module's __version__.
* Curve parameters aliases:
id-GostR3410-2001-CryptoPro-XchA-ParamSet -> id-GostR3410-2001-CryptoPro-A-ParamSet
id-GostR3410-2001-CryptoPro-XchB-ParamSet -> id-GostR3410-2001-CryptoPro-C-ParamSet
id-tc26-gost-3410-2012-256-paramSetB -> id-GostR3410-2001-CryptoPro-A-ParamSet
id-tc26-gost-3410-2012-256-paramSetC -> id-GostR3410-2001-CryptoPro-B-ParamSet
id-tc26-gost-3410-2012-256-paramSetD -> id-GostR3410-2001-CryptoPro-C-ParamSet
* Forbid any later GNU GPL version autousage (project's licence now
is GNU GPLv3 only).
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.
=> http://www.pyderasn.stargrave.org/
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 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.