Security Evaluation of GOST 28147-89 in View of International Standardisation
Total Page:16
File Type:pdf, Size:1020Kb
Security Evaluation of GOST 28147-89 In View Of International Standardisation Nicolas T. Courtois University College London, Gower Street, London, UK, [email protected] Abstract. GOST 28147-89 is is a well-known 256-bit block cipher which is a plausible alternative for AES-256 and triple DES which is known to have a much lower implementation cost, see [31]. GOST is implemented in standard crypto libraries such as OpenSSL and Crypto++ [25, 45], and is increasingly popular and used also outside its country of origin and on the Internet [23, 24, 31]. In 2010 GOST was submitted to ISO, to become a worldwide industrial encryption standard. Until 2011 researchers unanimously agreed that GOST could or should be very secure, which was summarized in 2010 in these words: \despite considerable cryptanalytic e®orts spent in the past 20 years, GOST is still not broken", see [31]. Unhappily, it was recently discovered that GOST can be broken and is a deeply flawed cipher. There is a very con- siderable amount of recent not yet published work on cryptanalysis of GOST known to us, see [12]. One simple attack was already presented in February at FSE 2011, see [28]. In this short paper we describe an- other attack, to illustrate the fact that there is now plethora of attacks on GOST, which require much less memory, and don't even require the reflection property [29] to hold, without which the recent attack from [28] wouldn't work. We are also aware of many substantially faster at- tacks and of numerous special even weaker cases, see [12]. These will be published in appropriate peer-reviewed cryptography conferences but we must warn the ISO committees right now. More generally, our ambition is to do more than just to point out that a major encryption standard is flawed. We would like to present and sug- gest a new general paradigm for e®ective symmetric cryptanalysis of so called \Algebraic Complexity Reduction" which in our opinion is going to structure and stimulate substantial amounts of academic research on symmetric cryptanalysis for many years to come. This paradigm already leads to a large number of new attacks on GOST [12], way more complex, better and more e±cient than in [28]. In this paper we will explain the main ideas behind it and explain also the precise concept of \Black-box Algebraic Complexity Reduction". This new paradigm generalizes many already known attacks on symmetric ciphers, such ¯xed point, slide, in- volution, cycling and other self-similarity attacks but the exact attacks we obtain, could never be developed previously, because only in the re- cent 5 years it became possible to show the existence of an appropriate last step for many such attacks, which is a low data complexity software algebraic attack. Key Words: Block ciphers, Feistel schemes, key scheduling, self-similarity, reflection attacks, single-key attacks, algebraic attacks, algebraic complexity re- duction, black-box reductions. 2 Nicolas T. Courtois, 1 May 2011 1 What Do We Know About GOST 1.1 The O±cial Status of GOST GOST 28147-89 was standardized in 1989 and ¯rst it became an o±cial standard for the protection of con¯dential information but the speci¯cation of the cipher remained con¯dential [21]. In 1994, the standard was declassi¯ed, published and also translated to English [21, 22]. It is also described in several more recent Internet standards [24, 23]. Unlike DES which could only be used to protect unclassi¯ed information, and like AES, GOST allows to protect also classi¯ed and secret information apparently without any limits, which is explicitly stated by the Russian standard, see the ¯rst page of [22]. Therefore GOST is much more than a Russian equivalent of DES, and its large key size of 256 bits make GOST a plausible alternative for AES-256 and 3-key triple DES. The latter for the same block size of 64 bits o®ers keys of only 168 bits. Clearly GOST is a very serious military-grade cipher designed with most serious applications in mind. At least two sets of GOST S-boxes have been explicitly identi¯ed as being used by the two largest Russian banks, cf. [42, 25]). These banks need to securely communicate with tens of thousands of branches to protect assets worth many hundreds of billions of dollars against fraud. 1.2 Basic Cryptographic Speci¯cation of GOST GOST is a block cipher with a simple Feistel structure, 64-bit block size, 256-bit keys and 32 rounds. Each round contains a key addition modulo 232, a set of 8 bijective S-boxes on 4 bits, and a simple rotation by 11 positions. A particularity of GOST is that its S-boxes can be secret. and they can be used to constitute a secondary key which is common to a given application, further extending key size to a total of 610 bits. One set of S-boxes has been published in 1994 as a part of the Russian standard hash function speci¯cation GOST R 34.11- 94 and according to Schneier [42] this set is used by the Central Bank of the Russian Federation. They also appear in more recent RFC4357 [24] as being part of the so called "id-GostR3411-94-CryptoProParamSet". A source code was included in [42] however this Schneier implementation speci¯es apparently a wrong (reversed) ordering of the S-boxes compared to later code contained in Crypto++ library [45]. This precise version of GOST 28147-89 block cipher is the most popular one, and it is commonly called just \the GOST cipher" in the cryptographic literature. The most complete current reference implementation of GOST which is of genuine Russian origin is a part of OpenSSL library and contains eight standard sets of S-boxes [25]. Other (secret) S-boxes could be recovered from a chip or implementation, see [39, 17]. 1.3 GOST Is Very Competitive In addition to the very long bit keys GOST has a much lower implementation cost than AES or any other comparable encryption algorithm. It really costs much less than AES: for example in hardware GOST 256 bits requires less than Security Evaluation of GOST 28147-89 3 800 GE, while AES-128 requires 3100 GE, see [31]. More than 4 time more gates for a much lower level of security (nearly 1040 times lower). Thus it is not surprising that GOST became an Internet standard [24, 23], it is part of many crypto libraries such as OpenSSL and Crypto++ [25, 45], and is increasingly popular also outside its country of origin [23, 24, 31]. In 2010 GOST was submitted to ISO to become a worldwide encryption stan- dard. Very few crypto algorithms have ever become an international standard. ISO/IEC 18033-3:2010 speci¯es the following algorithms. Four 64-bit block ci- phers: TDEA, MISTY1, CAST-128, HIGHT and three 128-bit block ciphers: AES, Camellia, SEED. GOST is intended to be added to the same standard ISO/IEC 18033-3. Now it appears that never in history of industrial standardisation, we had such a competitive algorithm in terms of cost vs. claimed security level. GOST also has 20 years of cryptanalysis e®orts behind it, and it appears that this claimed military-grade security level was never disputed, until now. 1.4 What Experts Say About GOST Nothing in the current knowledge and literature about GOST ever suggested that it could be insecure. On the contrary, large keys and a large number of 32 rounds make that GOST seems a plausible encryption algorithm to be used for many decades to come. Everyone familiar with the Moore's Law, understands that, in theory 256-bit keys should remain secure for at least 200 years. GOST was widely studied by the top cryptography experts active in the area of block cipher cryptanalysis such as Schneier, Biryukov, Dunkelman, Wagner, various Australian, Japanese, German and Russian scientists, ISO cryptography experts, and all researchers always seemed to agree that it could be or should be secure. While it is widely under- stood that the structure of GOST is in itself quite weak, for example compared to DES, and in particular the di®usion is not quite as good, it was however al- ways stipulated that this should be compensated by a large number of 32 rounds cf. [19, 42, 40] and also by the additional non-linearity and di®usion provided by modular additions [19, 34]. In [3], Biryukov and Wagner write: \A huge number of rounds (32) and a well studied Feistel construction combined with Shannon's substitution- permutation sequence provide a solid basis for GOST's security." In the same paper we read: \after considerable amount of time and e®ort, no progress in cryptanalysis of the standard was made in the open literature". Thus, so far there was no signi¯cant attack on this algorithm from the point of view of communications con¯dentiality: an attack which would allow decryption or key recovery in a realistic scenario where GOST is used for encryption with various random keys. In contrast, there are already many many papers on weak keys in GOST [29, 3], attacks for some well-chosen number of rounds [29, 1, 40], at- tacks with modular additions removed [3], related-key attacks [30, 16, 36], reverse engineering attacks on S-boxes [39, 17], and at Crypto 2008 the hash function based on this cipher was broken [27]. In all these attacks the attacker has much more freedom than we would allow ourselves here. However, as far as traditional 4 Nicolas T.