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