HOME

TheInfoList



OR:

The slide attack is a form of
cryptanalysis Cryptanalysis (from the Greek ''kryptós'', "hidden", and ''analýein'', "to analyze") refers to the process of analyzing information systems in order to understand hidden aspects of the systems. Cryptanalysis is used to breach cryptographic se ...
designed to deal with the prevailing idea that even weak
cipher In cryptography, a cipher (or cypher) is an algorithm for performing encryption or decryption—a series of well-defined steps that can be followed as a procedure. An alternative, less common term is ''encipherment''. To encipher or encode i ...
s can become very strong by increasing the number of rounds, which can ward off a differential attack. The slide attack works in such a way as to make the number of rounds in a cipher irrelevant. Rather than looking at the data-randomizing aspects of the block cipher, the slide attack works by analyzing the
key schedule In cryptography, the so-called product ciphers are a certain kind of cipher, where the (de-)ciphering of data is typically done as an iteration of '' rounds''. The setup for each round is generally the same, except for round-specific fixed va ...
and exploiting weaknesses in it to break the cipher. The most common one is the keys repeating in a cyclic manner. The attack was first described by David Wagner and
Alex Biryukov Alex Biryukov () is a cryptographer, currently a full professor at the University of Luxembourg. Biography His notable work includes the design of the stream cipher LEX, as well as the cryptanalysis of numerous cryptographic primitives. In 1998, ...
.
Bruce Schneier Bruce Schneier (; born January 15, 1963) is an American cryptographer, computer security professional, privacy specialist, and writer. Schneier is an Adjunct Lecturer in Public Policy at the Harvard Kennedy School and a Fellow at the Berkman ...
first suggested the term ''slide attack'' to them, and they used it in their 1999 paper describing the attack. The only requirements for a slide attack to work on a cipher is that it can be broken down into multiple rounds of an identical ''F'' function. This probably means that it has a cyclic key schedule. The ''F'' function must be vulnerable to a
known-plaintext attack The known-plaintext attack (KPA) is an attack model for cryptanalysis where the attacker has access to both the plaintext (called a crib) and its encrypted version (ciphertext). These can be used to reveal secret keys and code books. The term " ...
. The slide attack is closely related to the
related-key attack In cryptography, a related-key attack is any form of cryptanalysis where the attacker can observe the operation of a cipher under several different keys whose values are initially unknown, but where some mathematical relationship connecting the ...
. The idea of the slide attack has roots in a paper published by Edna Grossman and Bryant Tuckerman in an IBM Technical Report in 1977. Grossman and Tuckerman demonstrated the attack on a weak
block cipher In cryptography, a block cipher is a deterministic algorithm that operates on fixed-length groups of bits, called ''blocks''. Block ciphers are the elementary building blocks of many cryptographic protocols. They are ubiquitous in the storage a ...
named New Data Seal (NDS). The attack relied on the fact that the cipher has identical subkeys in each round, so the cipher had a cyclic key schedule with a cycle of only one key, which makes it an early version of the slide attack. A summary of the report, including a description of the NDS block cipher and the attack, is given in ''Cipher Systems'' (Beker & Piper, 1982).


The actual attack

First, to introduce some notation. In this section assume the cipher takes ''n'' bit blocks and has a key-schedule using K_1 \cdots K_m as keys of any length. The slide attack works by breaking the cipher up into identical permutation functions, ''F''. This ''F'' function may consist of more than one round of the cipher; it is defined by the key-schedule. For example, if a cipher uses an alternating key schedule where it switches between a K_1 and K_2 for each round, the ''F'' function would consist of two rounds. Each of the K_i will appear at least once in ''F''. The next step is to collect 2^ plaintext-ciphertext pairs. Depending on the characteristics of the cipher fewer may suffice, but by the
birthday problem In probability theory, the birthday problem asks for the probability that, in a set of randomly chosen people, at least two will share the same birthday. The birthday paradox is the counterintuitive fact that only 23 people are needed for that ...
no more than 2^ should be needed. These pairs, which denoted as (P,C) are then used to find a slid pair which is denoted (P_0,C_0) (P_1,C_1). A slid pair has the property that P_0 = F(P_1) and that C_0 = F(C_1). Once a slid pair is identified, the cipher is broken because of the vulnerability to known-plaintext attacks. The key can easily be extracted from this pairing. The slid pair can be thought to be what happens to a message after one application of the function ''F''. It is ’slid’ over one encryption round and this is where the attack gets its name. The process of finding a slid pair is somewhat different for each cipher but follows the same basic scheme. One uses the fact that it is relatively easy to extract the key from just one iteration of ''F''. Choose any pair of plaintext-ciphertext pairs, (P_0,C_0) (P_1,C_1) and check to see what the keys corresponding to P_0 = F(P_1) and C_0 = F(C_1) are. If these keys match, this is a slid pair; otherwise move on to the next pair. With 2^ plaintext-ciphertext pairs one slid pair is expected, along with a small number of false-positives depending on the structure of the cipher. The false positives can be eliminated by using the keys on a different message-ciphertext pair to see if the encryption is correct. The probability that the wrong key will correctly encipher two or more messages is very low for a good cipher. Sometimes the structure of the cipher greatly reduces the number of plaintext-ciphertext pairs needed, and thus also a large amount of the work. The clearest of these examples is the
Feistel cipher In cryptography, a Feistel cipher (also known as Luby–Rackoff block cipher) is a symmetric structure used in the construction of block ciphers, named after the German-born physicist and cryptographer Horst Feistel, who did pioneering resear ...
using a cyclic key schedule. The reason for this is given a P = (L_0,R_0) the search is for a P_0=(R_0, L_0 \bigoplus F(R_0,K)). This reduces the possible paired messages from 2^n down to 2^ (since half the message is fixed) and so at most 2^ plaintext-ciphertext pairs are needed in order to find a slid pair.


References

* (contains a summary of the paper by Grossman and Tuckerman) * * * * * {{cryptography navbox , block Cryptographic attacks