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