Next: Download, Previous: Frequently asked questions, Up: PyGOST
Ability to use masked 34.10 private keys.
Fixed incorrect digest calculation when using GOST34112012*.update()
method.
gost34112012
’s update()
/digest()
methods are
streaming now – they do not store the whole data in memory.
Added ISO 10126 pygost.gost3413.(un)pad_iso10126
padding support.
Fixed wrap.wrap_cryptopro
, that ignored Sbox for key diversification.
Added human-readable name of the curve in GOST3410Curve.name
.
Fixed MGM ignoring of the set tag size.
Fixed lint errors for previous release.
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
gost3410.prv_marshal
helper can make private keys that are
in curve’s Q field, for better compatibility with some implementations.
gost34112012
.
asn1schemas/cert-selfsigned-example.py
optionally
can issue CA signed child certificate.
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.
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.
MGM AEAD mode for 64 and 128 bit ciphers.
Removed gost28147.addmod
for simplicity.
Fix invalid gost28147.addmod
’s behaviour with much bigger values
than the modulo.
Fixed digest endianness and more RFC4491bis conformance in
asn1schemas/cert-selfsigned-example.py
certificate’s.
id-tc26-gost-3410-2012-512-paramSetTest
curve
Dummy release with fixed pygost.__version__
.
pygost.gost3410.sign
accepts predefined random
data used for k/r generation
__version__
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
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
GOST3410Curve
initialization: all
parameters are passed not as big-endian encoded binaries, but as
integers
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"])
Add missing typing stubs related to previous release.
pygost.wrap.*
functions
pygost.gost3410_vko.kek_34102012256
,
because 256-bit private keys can be used with that algorithm too.
pygost.gost3410.GOST3410Curve.exp
preventing using of
UKM=1
in pygost.gost3410_vko.kek_*
functions.
Fixed PEP247 typing stub with invalid hexdigest method.
Additional missing 34.11-* typing stubs.
Add missing 34.11-2012 PBKDF2 typing stub.
Fixed 34.13-2015 OFB bug with IVs longer than 2 blocks.
Fixed source files installation during setup.py install
invocation.
Dummy release: added long description in package metadata.
GOST3412Kuz
renamed to GOST3412Kuznechik
GOST3412Magma
implements GOST R 34.12-2015 Magma 64-bit
block cipher
34.13-2015 block cipher modes of operation implementations.
Fixed mypy stubs related to PEP247-successors.
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
gost3410_vko
,
with test vectors
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
Fixed 34.13 mypy stub.
Typo and pylint fixes.
GOST R 34.13-2015 padding methods.
Documentation and supplementary files refactoring.
PEP-0247 compatible hashers and MAC.
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
34.10-2012 TC26 curve parameters.
PEP-0484 static typing hints.
34.10-2012 workability fix.
Python3 compatibility.
GOST R 34.12-2015 Кузнечик (Kuznechik) implementation.
CryptoPro and GOST key wrapping, CryptoPro key meshing.
Next: Download, Previous: Frequently asked questions, Up: PyGOST