Files
xmlrpcserver/deps/pygost-5.12/NEWS
Ivan Vazhenin a440d30b12 Add pygost deps
2023-08-30 19:10:53 +03:00

265 lines
9.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
curves 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 peers 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 curves
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: curves 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" certificates.
*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 modules "__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 (projects 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.