265 lines
9.7 KiB
Plaintext
265 lines
9.7 KiB
Plaintext
News
|
||
****
|
||
|
||
*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 moder 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
|
||
(http://www.pyderasn.cypherpunks.ru/) 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 "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.
|
||
|