]> Cypherpunks.ru repositories - gogost.git/blob - news.texi
find -exec optimization
[gogost.git] / news.texi
1 @node News
2 @unnumbered News
3
4 @table @strong
5
6 @anchor{Release 5.6.0}
7 @item 5.6.0
8     @itemize
9     @item Add @code{gost3410.CurveIdtc26gost341012512paramSetTest} curve
10     @item More curve aliases:
11 @verbatim
12 CurveIdGostR34102001CryptoProAParamSet -> CurveIdtc26gost341012256paramSetB
13 CurveIdGostR34102001CryptoProBParamSet -> CurveIdtc26gost341012256paramSetC
14 CurveIdGostR34102001CryptoProCParamSet -> CurveIdtc26gost341012256paramSetD
15 CurveIdGostR34102001CryptoProXchAParamSet -> CurveIdGostR34102001CryptoProAParamSet
16 CurveIdGostR34102001CryptoProXchBParamSet -> CurveIdGostR34102001CryptoProCParamSet
17 CurveIdtc26gost34102012256paramSetA -> CurveIdtc26gost341012256paramSetA
18 CurveIdtc26gost34102012256paramSetB -> CurveIdtc26gost341012256paramSetB
19 CurveIdtc26gost34102012256paramSetC -> CurveIdtc26gost341012256paramSetC
20 CurveIdtc26gost34102012256paramSetD -> CurveIdtc26gost341012256paramSetD
21 CurveIdtc26gost34102012512paramSetTest -> CurveIdtc26gost341012512paramSetTest
22 CurveIdtc26gost34102012512paramSetA -> CurveIdtc26gost341012512paramSetA
23 CurveIdtc26gost34102012512paramSetB -> CurveIdtc26gost341012512paramSetB
24 CurveIdtc26gost34102012512paramSetC -> CurveIdtc26gost341012512paramSetC
25 @end verbatim
26     @end itemize
27
28 @anchor{Release 5.5.0}
29 @item 5.5.0
30     @code{gost3410.PrivateKey} is in @code{gost3410.Curve.Q} now. That
31     makes them more friendly with some implementations.
32
33 @anchor{Release 5.4.0}
34 @item 5.4.0
35     Even slightly less allocations in Streebog.
36
37 @anchor{Release 5.3.0}
38 @item 5.3.0
39     ~16x speedup of Streebog, ~15x speedup of Kuznechik.
40
41 @anchor{Release 5.2.0}
42 @item 5.2.0
43     MGM does not panic when short (tagless) message is verified.
44
45 @anchor{Release 5.1.1}
46 @item 5.1.1
47     Tarball uses vendoring, instead of @env{GOPATH} overriding.
48     As minimal Go version is 1.12 for a long time, it supports modules.
49
50 @anchor{Release 5.1.0}
51 @item 5.1.0
52     @code{gost3410/KEK*} functions do not alter @code{ukm} argument.
53     It is safe to reuse now.
54
55 @anchor{Release 5.0.0}
56 @item 5.0.0
57     Backward incompatible remove of excess misleading @code{gost3410.Mode}
58     from all related functions. Point/key sizes are determined by
59     looking at curve's parameters size.
60
61 @anchor{Release 4.3.0}
62 @item 4.3.0
63     @strong{Fixed} nasty bug with Edwards curves using in 34.10-VKO
64     functions: curve's cofactor has not been used.
65
66 @anchor{Release 4.2.4}
67 @item 4.2.4
68     @code{gost3410.PrivateKeyReverseDigest} reversed digests and
69     @code{PrivateKeyReverseDigestAndSignature} with also reversed signatures
70     signers appeared for convenience.
71
72 @anchor{Release 4.2.3}
73 @item 4.2.3
74     Panic on all possible hash @code{Write} errors.
75
76 @anchor{Release 4.2.2}
77 @item 4.2.2
78     More 34.10-2012 test vectors.
79
80 @anchor{Release 4.2.1}
81 @item 4.2.1
82     Dummy release. More nicer tarballs.
83
84 @anchor{Release 4.2.0}
85 @item 4.2.0
86     @itemize
87     @item @code{PRF_IPSEC_PRFPLUS_GOSTR3411_2012_@{256,512@}} implementation
88     @item Generic @code{prf+} function (taken from IKEv2
89         (@url{https://tools.ietf.org/html/rfc5831.html, RFC 7296}))
90     @end itemize
91
92 @anchor{Release 4.1.0}
93 @item 4.1.0
94     @itemize
95     @item @code{ESPTREE}/@code{IKETREE} implementation
96     @item @code{CurveIdtc26gost34102012256paramSetB},
97         @code{CurveIdtc26gost34102012256paramSetC},
98         @code{CurveIdtc26gost34102012256paramSetD} curve aliases
99     @item Forbid any later GNU GPL version autousage
100         (project's licence now is GNU GPLv3 only)
101     @item Project now is @command{go get}-able and uses
102         @code{go.cypherpunks.ru} namespace:
103         @command{go get go.cypherpunks.ru/gogost},
104         @command{go get go.cypherpunks.ru/gogost/cmd/streebog@{256,512@}}
105     @end itemize
106
107 @anchor{Release 4.0}
108 @item 4.0
109     @itemize
110     @item Backward incompatible change: all keys passing to encryption
111         functions are slices now, not the fixed arrays. That heavily
112         simplifies the library usage
113     @item Fix bug with overwriting IVs memory in @code{gost28147.CFB*crypter}
114     @item @code{TLSTREE}, used in TLS 1.[23], implementation
115     @item @code{gost3410.KEK2012*} can be used with any curves, not only 512-bit ones
116     @item @code{gost3410.PrivateKey} satisfies @code{crypto.Signer} interface
117     @item @code{gost34112012*} hashes satisfy @code{encoding.Binary(Un)Marshaler}
118     @item Streebog256 HKDF test vectors
119     @end itemize
120
121 @anchor{Release 3.0}
122 @item 3.0
123     @itemize
124     @item Multilinear Galois Mode (MGM) block cipher mode for
125       64 and 128 bit ciphers
126     @item @code{KDF_GOSTR3411_2012_256} KDF
127     @item 34.12-2015 64-bit block cipher Магма (Magma)
128     @item Additional EAC 28147-89 Sbox
129     @item 34.10-2012 TC26 twisted Edwards curve related parameters
130     @item Coordinates conversion from twisted Edwards to Weierstrass
131       form and vice versa
132     @item Fixed @code{gost3410.PrivateKey}'s length validation
133     @item Backward incompatible change: @code{gost3410.NewCurve} takes
134       @code{big.Int}, instead of encoded integers
135     @item Backward incompatible Sbox and curves parameters renaming, to
136       comply with OIDs identifying them:
137 @verbatim
138 Gost2814789_TestParamSet       -> SboxIdGost2814789TestParamSet
139 Gost28147_CryptoProParamSetA   -> SboxIdGost2814789CryptoProAParamSet
140 Gost28147_CryptoProParamSetB   -> SboxIdGost2814789CryptoProBParamSet
141 Gost28147_CryptoProParamSetC   -> SboxIdGost2814789CryptoProCParamSet
142 Gost28147_CryptoProParamSetD   -> SboxIdGost2814789CryptoProDParamSet
143 GostR3411_94_TestParamSet      -> SboxIdGostR341194TestParamSet
144 Gost28147_tc26_ParamZ          -> SboxIdtc26gost28147paramZ
145 GostR3411_94_CryptoProParamSet -> SboxIdGostR341194CryptoProParamSet
146 EACParamSet                    -> SboxEACParamSet
147
148 CurveParamsGostR34102001cc            -> CurveGostR34102001ParamSetcc
149 CurveParamsGostR34102001Test          -> CurveIdGostR34102001TestParamSet
150 CurveParamsGostR34102001CryptoProA    -> CurveIdGostR34102001CryptoProAParamSet
151 CurveParamsGostR34102001CryptoProB    -> CurveIdGostR34102001CryptoProBParamSet
152 CurveParamsGostR34102001CryptoProC    -> CurveIdGostR34102001CryptoProCParamSet
153 CurveParamsGostR34102001CryptoProXchA -> CurveIdGostR34102001CryptoProXchAParamSet
154 CurveParamsGostR34102001CryptoProXchB -> CurveIdGostR34102001CryptoProXchBParamSet
155 CurveParamsGostR34102012TC26ParamSetA -> CurveIdtc26gost341012512paramSetA
156 CurveParamsGostR34102012TC26ParamSetB -> CurveIdtc26gost341012512paramSetB
157 @end verbatim
158     @item Various additional test vectors
159     @item go modules friendliness
160     @end itemize
161
162 @anchor{Release 2.0}
163 @item 2.0
164     @itemize
165     @item 34.11-2012 is split on two different modules:
166         @code{gost34112012256} and @code{gost34112012512}
167     @item 34.11-94's digest is reversed. Now it is compatible with TC26's
168       HMAC and PBKDF2 test vectors
169     @item @code{gogost-streebog} is split to @code{streebog256} and
170         @code{streebog512} correspondingly by analogy with sha* utilities
171     @item added VKO 34.10-2012 support with corresponding test vectors
172     @item @code{gost3410.DigestSizeX} is renamed to
173         @code{gost3410.ModeX} because it is not related to digest size,
174         but parameters and key sizes
175     @item KEK functions take @code{big.Int} UKM value. Use @code{NewUKM}
176         to unmarshal raw binary UKM
177     @end itemize
178
179 @anchor{Release 1.1}
180 @item 1.1
181     @itemize
182     @item gogost-streebog is able to use either 256 or 512 bits digest size
183     @item 34.13-2015 padding methods
184     @item 28147-89 CBC mode of operation
185     @end itemize
186
187 @end table