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