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