2 * ESPTREE implementation
3 * CurveIdtc26gost34102012256paramSetB, CurveIdtc26gost34102012256paramSetC,
4 CurveIdtc26gost34102012256paramSetD curve aliases
5 * Forbid any later GNU GPL version autousage
6 (project's licence now is GNU GPLv3 only)
7 * Project now is go get-able and uses go.cypherpunks.ru namespace:
8 go get go.cypherpunks.ru/gogost
9 go get go.cypherpunks.ru/gogost/cmd/streebog{256,512}
12 * Backward incompatible change: all keys passing to encryption
13 functions are slices now, not the fixed arrays. That heavily
14 simplifies the library usage
15 * Fix bug with overwriting IVs memory in gost28147.CFB*crypter
16 * TLSTREE, used in TLS 1.[23], implementation
17 * gost3410.KEK2012* can be used with any curves, not only 512-bit ones
18 * gost3410.PrivateKey satisfies crypto.Signer interface
19 * gost34112012* hashes satisfy encoding.Binary(Un)Marshaler
20 * Streebog256 HKDF test vectors
23 * Multilinear Galois Mode (MGM) block cipher mode for
24 64 and 128 bit ciphers
25 * KDF_GOSTR3411_2012_256 KDF
26 * 34.12-2015 64-bit block cipher Магма (Magma)
27 * Additional EAC 28147-89 Sbox
28 * 34.10-2012 TC26 twisted Edwards curve related parameters
29 * Coordinates conversion from twisted Edwards to Weierstrass
31 * Fixed gost3410.PrivateKey's length validation
32 * Backward incompatible change: gost3410.NewCurve takes big.Int,
33 instead of encoded integers
34 * Backward incompatible Sbox and curves parameters renaming, to
35 comply with OIDs identifying them:
37 Gost2814789_TestParamSet -> SboxIdGost2814789TestParamSet
38 Gost28147_CryptoProParamSetA -> SboxIdGost2814789CryptoProAParamSet
39 Gost28147_CryptoProParamSetB -> SboxIdGost2814789CryptoProBParamSet
40 Gost28147_CryptoProParamSetC -> SboxIdGost2814789CryptoProCParamSet
41 Gost28147_CryptoProParamSetD -> SboxIdGost2814789CryptoProDParamSet
42 GostR3411_94_TestParamSet -> SboxIdGostR341194TestParamSet
43 Gost28147_tc26_ParamZ -> SboxIdtc26gost28147paramZ
44 GostR3411_94_CryptoProParamSet -> SboxIdGostR341194CryptoProParamSet
45 EACParamSet -> SboxEACParamSet
47 CurveParamsGostR34102001cc -> CurveGostR34102001ParamSetcc
48 CurveParamsGostR34102001Test -> CurveIdGostR34102001TestParamSet
49 CurveParamsGostR34102001CryptoProA -> CurveIdGostR34102001CryptoProAParamSet
50 CurveParamsGostR34102001CryptoProB -> CurveIdGostR34102001CryptoProBParamSet
51 CurveParamsGostR34102001CryptoProC -> CurveIdGostR34102001CryptoProCParamSet
52 CurveParamsGostR34102001CryptoProXchA -> CurveIdGostR34102001CryptoProXchAParamSet
53 CurveParamsGostR34102001CryptoProXchB -> CurveIdGostR34102001CryptoProXchBParamSet
54 CurveParamsGostR34102012TC26ParamSetA -> CurveIdtc26gost341012512paramSetA
55 CurveParamsGostR34102012TC26ParamSetB -> CurveIdtc26gost341012512paramSetB
57 * Various additional test vectors
58 * go modules friendliness
61 * 34.11-2012 is split on two different modules: gost34112012256 and
63 * 34.11-94's digest is reversed. Now it is compatible with TC26's
64 HMAC and PBKDF2 test vectors
65 * gogost-streebog is split to streebog256 and streebog512
66 correspondingly by analogy with sha* utilities
67 * added VKO 34.10-2012 support with corresponding test vectors
68 * gost3410.DigestSizeX is renamed to gost3410.ModeX because it is
69 not related to digest size, but parameters and key sizes
70 * KEK functions take big.Int UKM value. Use NewUKM to unmarshal
74 * gogost-streebog is able to use either 256 or 512 bits digest size
75 * 34.13-2015 padding methods
76 * 28147-89 CBC mode of operation