Block Cipher & the Data Encryption Standard

Total Page:16

File Type:pdf, Size:1020Kb

Block Cipher & the Data Encryption Standard BLOCK CIPHER & THE DATA ENCRYPTION STANDARD Tran Song Dat Phuc Department of Computer Science Seoul National University of Science and Technology 2013-2014 Outline Stream Cipher Block Cipher The Feistel Cipher Structure The Data Encryption Standard (DES) Security of DES Block Cipher Design Principles Summary Stream Cipher A stream cipher is one that encrypts a digital data stream one bit or one byte at a time. Stream Cipher The stream cipher encrypts the plaintext to produce the ciphertext, in which a cryptographic key and algorithm are applied to each binary digit in a data stream, one bit at a time. To meet the need of producing the keystream for independence and secure channel, the bit- stream generator is implemented for both users. The two users share the generating key, and each can produce the keystream. Block Cipher A block cipher is one in which a block of plaintext is treated as whole and produce a ciphertext block of equal length. A block are typically 64 or 128 bits. As with a stream cipher, the two uses share a symmetric encryption key. A block of multiple bits are enciphered each time. In some modes of operation (CFB, OFB, CTR), a block cipher can be used to achieve the same effect as a stream cipher. Block Cipher The block cipher encrypts a block of plaintext or message m into a block of ciphertext c due to a secret key k. Block Cipher The encryption process is denoted as: c = ENCk(m) The decryption has reversed the encryption process, which use the same user-supplied key. m = DECk(c) Block Cipher A block cipher has two important parameters: - Block size b: determines the space of all possible permutations that a block cipher might conceivable. - Key size k: determines the number of permutations that are actually generated. With a key, a b-bit block cipher maps 2b b-bit inputs onto the same 2b outputs. Block Cipher In the block cipher, substitution and permutation are two main properties. The mix of them is an important component of most block cipher designs. Most block cipher contain vary kinds of combination of substitution and permutation. Block Cipher Substitution: Each plaintext element or group of elements is uniquely replaced by a corresponding ciphertext element or group of elements. Permutation: A sequence of plaintext elements is replaced by a permutation. No elements are added or deleted or replaced, just the order of the elements is changed. The Feistel Cipher Structure Substitution: often use to provide confusion with cipher. - Designed around an arithmetic function, such as integer addition or integer multiplication. - Typically, substitution is achieved with a suitably designed, such as S-boxes. - S-boxes is designed carefully which have specific security properties, functions and can operate quickly in practice. The Feistel Cipher Structure Permutation: often use to provide a good diffusion in a cipher. - Often performed at a bit level; individual bits can be moved into a new ordering. - At the downside, bit level permutation can slow down the performance of cipher; cause manipulating individual bit is complex and not easy to operate. Block Cipher The ideal block cipher Block Cipher The ideal block cipher allows for the maximum number of possible encryption mappings from the plaintext block. But it is really good, really perfect ??? If the size of the block is small (ex. n = 4) vulnerable to statistical analysis of plaintext The large block size is not practical, consider the key size for an n-bit ideal block cipher, the length of key is n x 2n bits Block Cipher For a 64-bit block, to thwart statistical attack, it needs 64 x 264 = 270 ≈ 1021 bits impossible. Is there a feasible way (related in block size and key size) to make a stronger cipher block ??? The Feistel Cipher Structure Feistel develops a block cipher with key size k- bits and block length of b-bits, has 2k possible keys and each key specifies a permutation of 2b input. The Feistel cipher refers to the conceptions of diffusion and confusion of Claude Shannon. The Feistel Cipher Structure Two terms of confusion and diffusion that aim to build a good block cipher, is introduced in 1949 by Claude Shannon. - Confusion: to make the relation between the cipher-text and the key becomes very complex and involved one. - Diffusion: the statistical structure of the plaintext is dissipated by long-range statistics of the cipher- text (to make the relation between the plaintext and cipher-text becomes complex and unable to exploit). The Feistel Cipher Structure S-P Network of Shannon - Consist of the repeated application of carefully chosen substitutions, permutations and key materials. - Key schedule (KS): present a series of round keys to each round of encryption; these round keys are computed from user supplied encryption key. The Feistel Cipher Structure The Feistel Network based on some features and design parameters: - Block size: Larger block sizes means greater security, but reduce the speed of encryption / decryption. (64bits) - Key size: Larger key size means greater security, but also decrease the encryption / decryption speed. (128bits) - Number of rounds: The multiple rounds offer increasing security. (16 rounds) - Subkey generation algorithm: Greater complexity lead to greater difficulty of cryptanalysis. - Round function F: greater complexity means greater resistance to cryptanalysis. The Feistel Cipher Structure Plaintext block of length 2w-bits Key K, subkey Ki Two halves Li and Ri 16 rounds is used. The Feistel Cipher Structure Feistel Encryption Algorithm: - The input plaintext block is divided into two halves L0 and R0 , that pass through n rounds of processing and then combined to produce the ciphertext block. - Each round i has as input Li-1 and Ri-1 from previous round, with the subkey Ki from the overall K. - The substitution is performed on the left half of data. - A round function F is applied to the right half of data. - It is done by taking the X-OR operation between the output of function F and the left half of data. - The permutation is performed through the interchange of the two halves of data. All rounds have the same structure. The Feistel Cipher Structure Feistel Decryption Algorithm: - The process of the Feistel’s decryption is the same as the encryption process, in reverse order of subkey Ki. - The input ciphertext use Kn in the first round, Kn-1 in the second until K1 in the last round. Data Encryption Standard (DES) DES (Data Encryption Standard) is a block cipher which most widely used in world. Adopted in 1977 by NBS (now is NIST) Encrypts 64 bits block using 56 bits key. DES is an example of a Feistel cipher. DES DES with round function components; the bit expansion E, the S-boxes S and the bit permutation P. - DES has 16rounds and user supplied key is 56bits (k = 56). - Initial Permutation(IP) has 64bit input block, happen only once before first round. - IP-1 use to maintain the property that encryption network can be reused for decryption. Initial Permutation(IP) Suggests how the transposition in IP should proceed. The IP replaces the 1st bit of the plaintext block with the 58th bit of the original plaintext block, the 2nd bit with the 50th bit and so on. DES IP and its inverse IP-1 Round Function Each iteration of round function takes 32-bit inputs and returns 32-bits output. - 32-bit input is expanded to 48-bit by the bit expansion E. - Processed 48-bit is combined with round key. - 48 bits that result, then, are split into 8 groups of 6 bits, input to 8 different S-boxes. Each S-box returns 4 bits which concatenated with others, will give a 32- bits result. - 32-bit received is applied by bit-level permutation P, after all, provide a 32-bit output from round function. Round Function Key Transformation Round Key Process 28-bit left semikey 64-bit Remove parity 56-bit split Key bit Key 28-bit right semikey shift 28-bit shifted left semi-key Compression 48-bit Permutation semi-key 28-bit shifted shift right semi-key Key Transformation The Initial Key consists of 64 bits. Before the DES process starts, every 8th bit of the key is discarded to produce a 56 bit key. Bit positions (8, 16, 24, 32, 40, 48, 56, 64) are discarded. These bits can be used for parity checking to ensure that the key does not contain any error. Key Transformation Remove parity bit (64 bits -> 56 bits) Key Transformation For each round, 56 bit key is available From this 56 bit key, a different 48-bit sub key is generated during each round using a process called as Key Transformation In this method, a 56 bit key is divided into two halves, each of 28 bits These halves are circularly shifted by 1 or 2 positions, depending on the round Key Transformation Permutation on 56 bits key Number of key bit shift Key Transformation Round 1 – Key bit shift Key Transformation Compression Permutation : the Key Transformation process involves permutation as well as selection of a 48 bits sub-set of the original 56-bit key. * 18 bits number is discarded. Expansion Permutation The RPT is expanded from 32 bits to 48 bits. The RPT is divided into 8 blocks, with each block consists of 4 bits. For per 4-bit block, 2 more bits are added. Expansion Permutation Division of 32 bit RPT into Eight 4-bits block RPT Expansion Process Expansion Permutation Expansion Permutation (48bits) The S-Boxes After 48-bits expansion combine with 48-bits key (XOR operation), the 48-bits output is split into 8 S-Boxes.
Recommended publications
  • Key Differentiation Attacks on Stream Ciphers
    Key differentiation attacks on stream ciphers Abstract In this paper the applicability of differential cryptanalytic tool to stream ciphers is elaborated using the algebraic representation similar to early Shannon’s postulates regarding the concept of confusion. In 2007, Biham and Dunkelman [3] have formally introduced the concept of differential cryptanalysis in stream ciphers by addressing the three different scenarios of interest. Here we mainly consider the first scenario where the key difference and/or IV difference influence the internal state of the cipher (∆key, ∆IV ) → ∆S. We then show that under certain circumstances a chosen IV attack may be transformed in the key chosen attack. That is, whenever at some stage of the key/IV setup algorithm (KSA) we may identify linear relations between some subset of key and IV bits, and these key variables only appear through these linear relations, then using the differentiation of internal state variables (through chosen IV scenario of attack) we are able to eliminate the presence of corresponding key variables. The method leads to an attack whose complexity is beyond the exhaustive search, whenever the cipher admits exact algebraic description of internal state variables and the keystream computation is not complex. A successful application is especially noted in the context of stream ciphers whose keystream bits evolve relatively slow as a function of secret state bits. A modification of the attack can be applied to the TRIVIUM stream cipher [8], in this case 12 linear relations could be identified but at the same time the same 12 key variables appear in another part of state register.
    [Show full text]
  • Related-Key Cryptanalysis of 3-WAY, Biham-DES,CAST, DES-X, Newdes, RC2, and TEA
    Related-Key Cryptanalysis of 3-WAY, Biham-DES,CAST, DES-X, NewDES, RC2, and TEA John Kelsey Bruce Schneier David Wagner Counterpane Systems U.C. Berkeley kelsey,schneier @counterpane.com [email protected] f g Abstract. We present new related-key attacks on the block ciphers 3- WAY, Biham-DES, CAST, DES-X, NewDES, RC2, and TEA. Differen- tial related-key attacks allow both keys and plaintexts to be chosen with specific differences [KSW96]. Our attacks build on the original work, showing how to adapt the general attack to deal with the difficulties of the individual algorithms. We also give specific design principles to protect against these attacks. 1 Introduction Related-key cryptanalysis assumes that the attacker learns the encryption of certain plaintexts not only under the original (unknown) key K, but also under some derived keys K0 = f(K). In a chosen-related-key attack, the attacker specifies how the key is to be changed; known-related-key attacks are those where the key difference is known, but cannot be chosen by the attacker. We emphasize that the attacker knows or chooses the relationship between keys, not the actual key values. These techniques have been developed in [Knu93b, Bih94, KSW96]. Related-key cryptanalysis is a practical attack on key-exchange protocols that do not guarantee key-integrity|an attacker may be able to flip bits in the key without knowing the key|and key-update protocols that update keys using a known function: e.g., K, K + 1, K + 2, etc. Related-key attacks were also used against rotor machines: operators sometimes set rotors incorrectly.
    [Show full text]
  • CIT 380: Securing Computer Systems
    CIT 380: Securing Computer Systems Symmetric Cryptography Topics 1. Modular Arithmetic 2. What is Cryptography? 3. Transposition Ciphers 4. Substitution Ciphers 1. Cæsar cipher 2. Vigènere cipher 5. Cryptanalysis: frequency analysis 6. Block Ciphers 7. AES and DES 8. Stream Ciphers Modular Arithmetic Congruence – a = b (mod N) iff a = b + kN – ex: 37=27 mod 10 b is the residue of a, modulo N – Integers 0..N-1 are the set of residues mod N Modulo 12 number system What is Cryptography? Cryptography: The art and science of keeping messages secure. Cryptanalysis: the art and science of decrypting messages. Cryptology: cryptography + cryptanalysis Terminology Plaintext: message P to be encrypted. Also called Plaintext cleartext. Encryption: altering a Encryption message to keep its Procedure contents secret. Ciphertext: encrypted message C. Ciphertext Cæsar cipher Plaintext is HELLO WORLD Change each letter to the third letter following it (X goes to A, Y to B, Z to C) – Key is 3, usually written as letter ‘D’ Ciphertext is KHOOR ZRUOG ROT 13 Cæsar cipher with key of 13 13 chosen since encryption and decryption are same operation Used to hide spoilers, punchlines, and offensive material online. Kerckhoff’s Principle Security of cryptosystem should only depend on 1. Quality of shared encryption algorithm E 2. Secrecy of key K Security through obscurity tends to fail ex: DVD Content Scrambling System Cryptanalysis Goals 1. Decrypt a given message. 2. Recover encryption key. Threat models vary based on 1. Type of information available to adversary 2. Interaction with cryptosystem. Cryptanalysis Threat Models ciphertext only: adversary has only ciphertext; goal is to find plaintext, possibly key.
    [Show full text]
  • Implementation of Symmetric Encryption Algorithms
    Computer Engineering and Intelligent Systems www.iiste.org ISSN 2222-1719 (Paper) ISSN 2222-2863 (Online) Vol.8, No.4, 2017 Implementation of Symmetric Encryption Algorithms Haider Noori Hussain *1 Waleed Noori Hussein *2 1.Department of Computer science , College of Education for Pure Science, University of Basra, Iraq 2.Department of Mathematics , College of Education for Pure Science, University of Basra, Iraq Abstract Cryptography considered being the most vital component in information security because it is responsible for securing all information passed through networked computers. The discussions in this paper include an overview of cryptography and symmetric encryption. This paper also discusses some of the algorithms used in our research. This paper aims to design an application that consist of some symmetric encryption algorithms which allow users to encrypt and decrypt different size of files, also the application can be used as a test field to compare between different symmetric algorithms. Keywords: Cryptography, symmetric, encryption 1. Introduction In today's technology, every second data are generated on the internet due to the online transaction. Cryptography is a necessary part of network security which allows the virtual world to be more secure. In many applications of our daily life information security plays a key role (Kumar and Munjal 2011). This applies even stronger for ubiquitous computing applications where a multitude of sensors and actuators observe and control our physical environment (Kumar and Munjal 2011). When developing such applications a software engineer usually relies on well-known cryptographic mechanisms like encryption or hashing. However, due to the multitude of existing cryptographic algorithms, it can be challenging to select an adequate and secure one (Masram, Shahare et al.
    [Show full text]
  • RC4-2S: RC4 Stream Cipher with Two State Tables
    RC4-2S: RC4 Stream Cipher with Two State Tables Maytham M. Hammood, Kenji Yoshigoe and Ali M. Sagheer Abstract One of the most important symmetric cryptographic algorithms is Rivest Cipher 4 (RC4) stream cipher which can be applied to many security applications in real time security. However, RC4 cipher shows some weaknesses including a correlation problem between the public known outputs of the internal state. We propose RC4 stream cipher with two state tables (RC4-2S) as an enhancement to RC4. RC4-2S stream cipher system solves the correlation problem between the public known outputs of the internal state using permutation between state 1 (S1) and state 2 (S2). Furthermore, key generation time of the RC4-2S is faster than that of the original RC4 due to less number of operations per a key generation required by the former. The experimental results confirm that the output streams generated by the RC4-2S are more random than that generated by RC4 while requiring less time than RC4. Moreover, RC4-2S’s high resistivity protects against many attacks vulnerable to RC4 and solves several weaknesses of RC4 such as distinguishing attack. Keywords Stream cipher Á RC4 Á Pseudo-random number generator This work is based in part, upon research supported by the National Science Foundation (under Grant Nos. CNS-0855248 and EPS-0918970). Any opinions, findings and conclusions or recommendations expressed in this material are those of the author (s) and do not necessarily reflect the views of the funding agencies or those of the employers. M. M. Hammood Applied Science, University of Arkansas at Little Rock, Little Rock, USA e-mail: [email protected] K.
    [Show full text]
  • Hardware Implementation of the Salsa20 and Phelix Stream Ciphers
    Hardware Implementation of the Salsa20 and Phelix Stream Ciphers Junjie Yan and Howard M. Heys Electrical and Computer Engineering Memorial University of Newfoundland Email: {junjie, howard}@engr.mun.ca Abstract— In this paper, we present an analysis of the digital of battery limitations and portability, while for virtual private hardware implementation of two stream ciphers proposed for the network (VPN) applications and secure e-commerce web eSTREAM project: Salsa20 and Phelix. Both high speed and servers, demand for high-speed encryption is rapidly compact designs are examined, targeted to both field increasing. programmable (FPGA) and application specific integrated circuit When considering implementation technologies, normally, (ASIC) technologies. the ASIC approach provides better performance in density and The studied designs are specified using the VHDL hardware throughput, but an FPGA is reconfigurable and more flexible. description language, and synthesized by using Synopsys CAD In our study, several schemes are used, catering to the features tools. The throughput of the compact ASIC design for Phelix is of the target technology. 260 Mbps targeted for 0.18µ CMOS technology and the corresponding area is equivalent to about 12,400 2-input NAND 2. PHELIX gates. The throughput of Salsa20 ranges from 38 Mbps for the 2.1 Short Description of the Phelix Algorithm compact FPGA design, implemented using 194 CLB slices to 4.8 Phelix is claimed to be a high-speed stream cipher. It is Gbps for the high speed ASIC design, implemented with an area selected for both software and hardware performance equivalent to about 470,000 2-input NAND gates. evaluation by the eSTREAM project.
    [Show full text]
  • Weak Keys for AEZ, and the External Key Padding Attack
    Weak Keys for AEZ, and the External Key Padding Attack Bart Mennink1;2 1 Dept. Electrical Engineering, ESAT/COSIC, KU Leuven, and iMinds, Belgium [email protected] 2 Digital Security Group, Radboud University, Nijmegen, The Netherlands [email protected] Abstract. AEZ is one of the third round candidates in the CAESAR competition. We observe that the tweakable blockcipher used in AEZ suffers from structural design issues in case one of the three 128-bit sub- keys is zero. Calling these keys \weak," we show that a distinguishing attack on AEZ with weak key can be performed in at most five queries. Although the fraction of weak keys, around 3 out of every 2128, seems to be too small to violate the security claims of AEZ in general, they do reveal unexpected behavior of the scheme in certain use cases. We derive a potential scenario, the \external key padding," where a user of the authenticated encryption scheme pads the key externally before it is fed to the scheme. While for most authenticated encryption schemes this would affect the security only marginally, AEZ turns out to be com- pletely insecure in this scenario due to its weak keys. These observations open a discussion on the significance of the \robustness" stamp, and on what it encompasses. Keywords. AEZ, tweakable blockcipher, weak keys, attack, external key padding, robustness. 1 Introduction Authenticated encryption aims to offer both privacy and authenticity of data. The ongoing CAESAR competition [8] targets the development of a portfolio of new, solid, authenticated encryption schemes. It received 57 submissions, 30 candidates advanced to the second round, and recently, 16 of those advanced to the third round.
    [Show full text]
  • Generic Attacks on Stream Ciphers
    Generic Attacks on Stream Ciphers John Mattsson Generic Attacks on Stream Ciphers 2/22 Overview What is a stream cipher? Classification of attacks Different Attacks Exhaustive Key Search Time Memory Tradeoffs Distinguishing Attacks Guess-and-Determine attacks Correlation Attacks Algebraic Attacks Sidechannel Attacks Summary Generic Attacks on Stream Ciphers 3/22 What is a stream cipher? Input: Secret key (k bits) Public IV (v bits). Output: Sequence z1, z2, … (keystream) The state (s bits) can informally be defined as the values of the set of variables that describes the current status of the cipher. For each new state, the cipher outputs some bits and then jumps to the next state where the process is repeated. The ciphertext is a function (usually XOR) of the keysteam and the plaintext. Generic Attacks on Stream Ciphers 4/22 Classification of attacks Assumed that the attacker has knowledge of the cryptographic algorithm but not the key. The aim of the attack Key recovery Prediction Distinguishing The information available to the attacker. Ciphertext-only Known-plaintext Chosen-plaintext Chosen-chipertext Generic Attacks on Stream Ciphers 5/22 Exhaustive Key Search Can be used against any stream cipher. Given a keystream the attacker tries all different keys until the right one is found. If the key is k bits the attacker has to try 2k keys in the worst case and 2k−1 keys on average. An attack with a higher computational complexity than exhaustive key search is not considered an attack at all. Generic Attacks on Stream Ciphers 6/22 Time Memory Tradeoffs (state) Large amounts of precomputed data is used to lower the computational complexity.
    [Show full text]
  • The Rc4 Stream Encryption Algorithm
    TTHEHE RC4RC4 SSTREAMTREAM EENCRYPTIONNCRYPTION AALGORITHMLGORITHM William Stallings Stream Cipher Structure.............................................................................................................2 The RC4 Algorithm ...................................................................................................................4 Initialization of S............................................................................................................4 Stream Generation..........................................................................................................5 Strength of RC4 .............................................................................................................6 References..................................................................................................................................6 Copyright 2005 William Stallings The paper describes what is perhaps the popular symmetric stream cipher, RC4. It is used in the two security schemes defined for IEEE 802.11 wireless LANs: Wired Equivalent Privacy (WEP) and Wi-Fi Protected Access (WPA). We begin with an overview of stream cipher structure, and then examine RC4. Stream Cipher Structure A typical stream cipher encrypts plaintext one byte at a time, although a stream cipher may be designed to operate on one bit at a time or on units larger than a byte at a time. Figure 1 is a representative diagram of stream cipher structure. In this structure a key is input to a pseudorandom bit generator that produces a stream
    [Show full text]
  • Multiplicative Differentials
    Multiplicative Differentials Nikita Borisov, Monica Chew, Rob Johnson, and David Wagner University of California at Berkeley Abstract. We present a new type of differential that is particularly suited to an- alyzing ciphers that use modular multiplication as a primitive operation. These differentials are partially inspired by the differential used to break Nimbus, and we generalize that result. We use these differentials to break the MultiSwap ci- pher that is part of the Microsoft Digital Rights Management subsystem, to derive a complementation property in the xmx cipher using the recommended modulus, and to mount a weak key attack on the xmx cipher for many other moduli. We also present weak key attacks on several variants of IDEA. We conclude that cipher designers may have placed too much faith in multiplication as a mixing operator, and that it should be combined with at least two other incompatible group opera- ¡ tions. 1 Introduction Modular multiplication is a popular primitive for ciphers targeted at software because many CPUs have built-in multiply instructions. In memory-constrained environments, multiplication is an attractive alternative to S-boxes, which are often implemented us- ing large tables. Multiplication has also been quite successful at foiling traditional dif- ¢ ¥ ¦ § ferential cryptanalysis, which considers pairs of messages of the form £ ¤ £ or ¢ ¨ ¦ § £ ¤ £ . These differentials behave well in ciphers that use xors, additions, or bit permutations, but they fall apart in the face of modular multiplication. Thus, we con- ¢ sider differential pairs of the form £ ¤ © £ § , which clearly commute with multiplication. The task of the cryptanalyst applying multiplicative differentials is to find values for © that allow the differential to pass through the other operations in a cipher.
    [Show full text]
  • Stream Cipher Designs: a Review
    SCIENCE CHINA Information Sciences March 2020, Vol. 63 131101:1–131101:25 . REVIEW . https://doi.org/10.1007/s11432-018-9929-x Stream cipher designs: a review Lin JIAO1*, Yonglin HAO1 & Dengguo FENG1,2* 1 State Key Laboratory of Cryptology, Beijing 100878, China; 2 State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing 100190, China Received 13 August 2018/Accepted 30 June 2019/Published online 10 February 2020 Abstract Stream cipher is an important branch of symmetric cryptosystems, which takes obvious advan- tages in speed and scale of hardware implementation. It is suitable for using in the cases of massive data transfer or resource constraints, and has always been a hot and central research topic in cryptography. With the rapid development of network and communication technology, cipher algorithms play more and more crucial role in information security. Simultaneously, the application environment of cipher algorithms is in- creasingly complex, which challenges the existing cipher algorithms and calls for novel suitable designs. To accommodate new strict requirements and provide systematic scientific basis for future designs, this paper reviews the development history of stream ciphers, classifies and summarizes the design principles of typical stream ciphers in groups, briefly discusses the advantages and weakness of various stream ciphers in terms of security and implementation. Finally, it tries to foresee the prospective design directions of stream ciphers. Keywords stream cipher, survey, lightweight, authenticated encryption, homomorphic encryption Citation Jiao L, Hao Y L, Feng D G. Stream cipher designs: a review. Sci China Inf Sci, 2020, 63(3): 131101, https://doi.org/10.1007/s11432-018-9929-x 1 Introduction The widely applied e-commerce, e-government, along with the fast developing cloud computing, big data, have triggered high demands in both efficiency and security of information processing.
    [Show full text]
  • Analysis of Chosen Plaintext Attacks on the WAKE Stream Cipher
    Analysis of chosen plaintext attacks on the WAKE Stream Cipher Marina Pudovkina [email protected] Moscow Engineering Physics Institute (Technical University) Department of Cryptology and Discrete Mathematics Abstract. Stream ciphers are an important class of encryption algorithms, which are widely used in practice. In this paper the security of the WAKE stream cipher is investigated. We present two chosen plaintext attacks on this cipher. The complexities of these attacks can be estimated as 1019.2 and 1014.4. Keywords. WAKE. Stream Cipher. Cryptanalysis. 1 Introduction Symmetric cryptosystems can be subdivided into block and stream ciphers. Block ciphers operate with a fixed transformation on large blocks of plaintext data; stream ciphers operate with a time- varying transformation on individual plaintext digits. Typically, a stream cipher consists of a keystream generator whose pseudo-random output sequence is added modulo 2 to the plaintext bits. A major goal in stream cipher design is to efficiently produce random-looking sequences. But the keystream can be generated efficiently; there certainly exists such a simple description. WAKE is the Word Auto Key Encryption algorithm, invented by David Wheeler [1]. It has a very simple description and produces a stream of 4n-bit words, which can be XORed with a plaintext stream to produce ciphertext, or XORed with a ciphertext stream to produce plaintext. It is fast on most modern computers, and relies on repeated table use and having a large state space. WAKE works in CFB mode; the previous ciphertext word is used to generate the next key word. It is being used in the current version of Dr.
    [Show full text]