summaryrefslogtreecommitdiff
path: root/NEWS
blob: 60003b8217b57fe395385a624b2af5e28acc72b4 (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
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 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 @code{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.