summaryrefslogtreecommitdiff
path: root/news.texi
blob: b1bf15ce64ab8501834c780f5baaaf1c57b4af0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
@node News
@unnumbered News

@table @strong

@anchor{Release 4.0}
@item 4.0
    @itemize
    @item 34.10-2012 TC26 twisted Edwards curve related parameters
    @item Coordinates conversion from twisted Edwards to Weierstrass
        form and vice versa
    @item More test vectors
    @item Backward incompatible Sbox and curves parameters renaming,
        to comply with OIDs identifying them:
@verbatim
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
@end verbatim
    @item Backward incompatible @code{GOST3410Curve} initialization: all
        parameters are passed not as big-endian encoded binaries, but as
        integers
    @item Backward incompatible change: @code{gost3410.CURVE_PARAMS} is
      disappeared. @code{gost3410.CURVES} dictionary holds already
      initialized @code{GOST3410Curve}. Just use
      @code{CURVES["id-tc26-gost-3410-12-512-paramSetA"]} instead of
      @code{GOST3410Curve(*CURVE_PARAMS["id-tc26-gost-3410-12-512-paramSetA"])}
    @end itemize

@anchor{Release 3.15}
@item 3.15
    @itemize
    @item Licence changed back to GNU GPLv3+. GNU LGPLv3+ licenced
        versions are not available anymore
    @item More ASN.1-based test vectors
        (@url{http://pyderasn.cypherpunks.ru/, PyDERASN} dependency required)
    @end itemize

@anchor{Release 3.14}
@item 3.14
Add missing typing stubs related to previous release.

@anchor{Release 3.13}
@item 3.13
    @itemize
    @item Ability to explicitly specify used 28147-89 Sbox in
        @code{pygost.wrap.*} functions
    @item Ability to use key meshing in 28147-89 CBC mode
    @end itemize

@anchor{Release 3.12}
@item 3.12
    @itemize
    @item Added mode argument to @code{pygost.gost3410_vko.kek_34102012256},
        because 256-bit private keys can be used with that algorithm too.
    @item Fix incorrect degree sanitizing in
        @code{pygost.gost3410.GOST3410Curve.exp} preventing using of
        @code{UKM=1} in @code{pygost.gost3410_vko.kek_*} functions.
    @end itemize

@anchor{Release 3.11}
@item 3.11
Fixed PEP247 typing stub with invalid hexdigest method.

@anchor{Release 3.10}
@item 3.10
Additional missing 34.11-* typing stubs.

@anchor{Release 3.9}
@item 3.9
Add missing 34.11-2012 PBKDF2 typing stub.

@anchor{Release 3.8}
@item 3.8
    @itemize
    @item 34.11-2012 based PBKDF2 function added
    @item 34.13-2015 does not require double blocksized IVs
    @end itemize

@anchor{Release 3.7}
@item 3.7
Fixed 34.13-2015 OFB bug with IVs longer than 2 blocks.

@anchor{Release 3.6}
@item 3.6
Fixed source files installation during @command{setup.py install} invocation.

@anchor{Release 3.5}
@item 3.5
Dummy release: added long description in package metadata.

@anchor{Release 3.4}
@item 3.4
    @itemize
    @item Small mypy stubs related fixes
    @item Licence changed from GNU GPLv3+ to GNU LGPLv3+
    @end itemize

@anchor{Release 3.3}
@item 3.3
    @itemize
    @item @code{GOST3412Kuz} renamed to @code{GOST3412Kuznechik}
    @item @code{GOST3412Magma} implements GOST R 34.12-2015 Magma 64-bit
        block cipher
    @end itemize

@anchor{Release 3.2}
@item 3.2
34.13-2015 block cipher modes of operation implementations.

@anchor{Release 3.1}
@item 3.1
Fixed mypy stubs related to PEP247-successors.

@anchor{Release 3.0}
@item 3.0
    @itemize
    @item @code{gost3411_94} renamed to @code{gost341194}
    @item @code{gost3411_2012} renamed and split to
        @code{gost34112012256}, @code{gost34112012512}
    @item @code{GOST34112012} split to
        @code{GOST34112012256}, @code{GOST34112012512}
    @item @code{gost3410.kek} moved to separate
        @code{gost3410_vko.kek_34102001}
    @item VKO GOST R 34.10-2012 appeared in @code{gost3410_vko},
        with test vectors
    @item 34.11-94 digest is reversed, to be compatible with HMAC and
        PBKDF2 test vectors describe in TC26 documents
    @item 34.11-94 PBKDF2 test vectors added
    @item @code{gost3410.prv_unmarshal},
        @code{gost3410.pub_marshal},
        @code{gost3410.pub_unmarshal}
        helpers added, removing the need of @code{x509} module at all
    @item @code{gost3410.verify} requires @code{(pubX, pubY)} tuple,
        instead of two separate @code{pubX}, @code{pubY} arguments
    @item 34.11-94 based PBKDF2 function added
    @end itemize

@anchor{Release 2.4}
@item 2.4
Fixed 34.13 mypy stub.

@anchor{Release 2.3}
@item 2.3
Typo and pylint fixes.

@item 2.2
GOST R 34.13-2015 padding methods

@item 2.1
Documentation and supplementary files refactoring.

@item 2.0
PEP-0247 compatible hashers and MAC.

@item 1.0
    @itemize
    @item Ability to specify curve in pygost.x509 module
    @item Ability to use 34.10-2012 in pygost.x509 functions
    @item Renamed classes and modules:
@verbatim
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
@end verbatim
    @end itemize

@item 0.16
34.10-2012 TC26 curve parameters.

@item 0.15
PEP-0484 static typing hints.

@item 0.14
34.10-2012 workability fix.

@item 0.13
Python3 compatibility.

@item 0.11
GOST R 34.12-2015 Кузнечик (Kuznechik) implementation.

@item 0.10
CryptoPro and GOST key wrapping, CryptoPro key meshing.

@end table