]> Cypherpunks.ru repositories - pygost.git/blob - NEWS
pygost.gost3410.sign rand argument and more 34.10-2012 test vectors
[pygost.git] / NEWS
1 4.1:
2     * PEP-396 compatible module's __version__
3     * Curve parameters aliases:
4
5       id-GostR3410-2001-CryptoPro-XchA-ParamSet -> id-GostR3410-2001-CryptoPro-A-ParamSet
6       id-GostR3410-2001-CryptoPro-XchB-ParamSet -> id-GostR3410-2001-CryptoPro-C-ParamSet
7       id-tc26-gost-3410-2012-256-paramSetB      -> id-GostR3410-2001-CryptoPro-A-ParamSet
8       id-tc26-gost-3410-2012-256-paramSetC      -> id-GostR3410-2001-CryptoPro-B-ParamSet
9       id-tc26-gost-3410-2012-256-paramSetD      -> id-GostR3410-2001-CryptoPro-C-ParamSet
10
11     * Forbid any later GNU GPL version autousage (project's licence
12       now is GNU GPLv3 only)
13
14 4.0:
15     * 34.10-2012 TC26 twisted Edwards curve related parameters
16     * Coordinates conversion from twisted Edwards to Weierstrass
17       form and vice versa
18     * More test vectors
19     * Backward incompatible Sbox and curves parameters renaming, to
20       comply with OIDs identifying them:
21
22       Gost2814789_TestParamSet       -> id-Gost28147-89-TestParamSet
23       Gost28147_CryptoProParamSetA   -> id-Gost28147-89-CryptoPro-A-ParamSet
24       Gost28147_CryptoProParamSetB   -> id-Gost28147-89-CryptoPro-B-ParamSet
25       Gost28147_CryptoProParamSetC   -> id-Gost28147-89-CryptoPro-C-ParamSet
26       Gost28147_CryptoProParamSetD   -> id-Gost28147-89-CryptoPro-D-ParamSet
27       Gost28147_tc26_ParamZ          -> id-tc26-gost-28147-param-Z
28       GostR3411_94_TestParamSet      -> id-GostR3411-94-TestParamSet
29       GostR3411_94_CryptoProParamSet -> id-GostR3411-94-CryptoProParamSet
30
31       GostR3410_2001_TestParamSet            -> id-GostR3410-2001-TestParamSet
32       GostR3410_2001_CryptoPro_A_ParamSet    -> id-GostR3410-2001-CryptoPro-A-ParamSet
33       GostR3410_2001_CryptoPro_B_ParamSet    -> id-GostR3410-2001-CryptoPro-B-ParamSet
34       GostR3410_2001_CryptoPro_C_ParamSet    -> id-GostR3410-2001-CryptoPro-C-ParamSet
35       GostR3410_2001_CryptoPro_XchA_ParamSet -> id-GostR3410-2001-CryptoPro-XchA-ParamSet
36       GostR3410_2001_CryptoPro_XchB_ParamSet -> id-GostR3410-2001-CryptoPro-XchB-ParamSet
37       GostR3410_2012_TC26_256_ParamSetA      -> id-tc26-gost-3410-2012-256-paramSetA
38       GostR3410_2012_TC26_ParamSetA          -> id-tc26-gost-3410-12-512-paramSetA
39       GostR3410_2012_TC26_ParamSetB          -> id-tc26-gost-3410-12-512-paramSetB
40       GostR3410_2012_TC26_ParamSetC          -> id-tc26-gost-3410-2012-512-paramSetC
41
42     * Backward incompatible GOST3410Curve initialization: all parameters
43       are passed not as big-endian encoded binaries, but as integers
44     * Backward incompatible change: gost3410.CURVE_PARAMS is
45       disappeared. gost3410.CURVES dictionary holds already initialized
46       GOST3410Curve. Just use
47       CURVES["id-tc26-gost-3410-12-512-paramSetA"] instead of
48       GOST3410Curve(*CURVE_PARAMS["id-tc26-gost-3410-12-512-paramSetA"])
49
50 3.15:
51     * Licence changed back to GNU GPLv3+.
52       GNU LGPLv3+ licenced versions are not available anymore
53     * More ASN.1-based test vectors (PyDERASN dependency required)
54
55 3.14:
56     Add missing typing stubs related to previous release.
57
58 3.13:
59     * Ability to explicitly specify used 28147-89 Sbox in
60       pygost.wrap.* functions
61     * Ability to use key meshing in 28147-89 CBC mode
62
63 3.12:
64     * Added mode argument to pygost.gost3410_vko.kek_34102012256,
65       because 256-bit private keys can be used with that algorithm too
66     * Fix incorrect degree sanitizing in pygost.gost3410.GOST3410Curve.exp
67       preventing using of UKM=1 in @code{pygost.gost3410_vko.kek_*} functions
68
69 3.11:
70     Fixed PEP247 typing stub with invalid hexdigest method.
71
72 3.10:
73     Additional missing 34.11-* typing stubs.
74
75 3.9:
76     Add missing 34.11-2012 PBKDF2 typing stub.
77
78 3.8:
79     * 34.11-2012 based PBKDF2 function added
80     * 34.13-2015 does not require double blocksized IVs
81
82 3.7:
83     Fixed 34.13-2015 OFB bug with IVs longer than 2 blocks.
84
85 3.6:
86     Fixed source files installation during setup.py install invocation.
87
88 3.5:
89     Dummy release: added long description in package metadata.
90
91 3.4:
92     * Small mypy stubs related fixes
93     * Licence changed from GNU GPLv3+ to GNU LGPLv3+
94
95 3.3:
96     * GOST3412Kuz renamed to GOST3412Kuznechik
97     * GOST3412Magma implements GOST R 34.12-2015 Magma 64-bit block cipher
98
99 3.2:
100     34.13-2015 block cipher modes of operation implementations.
101
102 3.1:
103     Fixed mypy stubs related to PEP247-successors.
104
105 3.0:
106     * gost3411_94 renamed to gost341194
107     * gost3411_2012 renamed and split to gost34112012256, gost34112012512
108     * GOST34112012 split to GOST34112012256, GOST34112012512
109     * gost3410.kek moved to separate gost3410_vko.kek_34102001
110     * VKO GOST R 34.10-2012 appeared in gost3410_vko, with test vectors
111     * 34.11-94 digest is reversed, to be compatible with HMAC and
112       PBKDF2 test vectors describe in TC26 documents
113     * 34.11-94 PBKDF2 test vectors added
114     * gost3410.prv_unmarshal, gost3410.pub_marshal, gost3410.pub_unmarshal
115       helpers added, removing the need of x509 module at all
116     * gost3410.verify requires (pubX, pubY) tuple, instead of two separate
117       pubX, pubY arguments
118     * 34.11-94 based PBKDF2 function added
119
120 2.4:
121     Fixed 34.13 mypy stub.
122
123 2.3:
124     Typo and pylint fixes.
125
126 2.2:
127     GOST R 34.13-2015 padding methods.
128
129 2.1:
130     Documentation and supplementary files refactoring.
131
132 2.0:
133     PEP-0247 compatible hashers and MAC.
134
135 1.0:
136     * Ability to specify curve in pygost.x509 module
137     * Ability to use 34.10-2012 in pygost.x509 functions
138
139     Renamed classes and modules:
140
141     * pygost.gost3410.SIZE_34100 -> pygost.gost3410.SIZE_3410_2001
142     * pygost.gost3410.SIZE_34112 -> pygost.gost3410.SIZE_3410_2012
143     * pygost.gost3411_12.GOST341112 -> pygost.gost3411_2012.GOST34112012
144
145 0.16:
146     34.10-2012 TC26 curve parameters.
147
148 0.15:
149     PEP-0484 static typing hints.
150
151 0.14:
152     34.10-2012 workability fix.
153
154 0.13:
155     Python3 compatibility.
156
157 0.11:
158     GOST R 34.12-2015 Кузнечик (Kuznechik) implementation.
159
160 0.10:
161     CryptoPro and GOST key wrapping, CryptoPro key meshing.