15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Random Oracle Model<br />

One direction of recent research is on the “random oracle model.” This is a design methodology for<br />

protocols and primitives that make use of cryptographic hash functions. Pick a specific cryptographic<br />

hash function such as MD-5. Its designers may believe that it is difficult to invert MD-5 or to find<br />

collisions for it. However, this does not mean that MD-5 is a completely unpredictable function, with<br />

no structure or regularity whatsoever. After all, the complete specification of MD-5 is publicly available<br />

for inspection and analysis, unlike a truly random function that would be impossible to specify in a<br />

compact manner. Nevertheless, the random oracle model asserts that a specific hash function like MD-5<br />

behaves like a purely random function. This is part of a methodology for proving security properties of<br />

cryptographic schemes that make use of hash functions.<br />

This assumption was introduced by Fiat and Shamir [5] and later formalized by Bellare and Rogaway [6].<br />

It has been applied to the design and analysis of many schemes (see, e.g., the discussion of optimal asymmetric<br />

encryption padding in the subsection on “Chosen Ciphertext Security for Public Key Encryption”).<br />

Recently, a cautionary note was sounded by Canetti, Goldreich, and Halevi [7]. They demonstrate by<br />

construction that it is possible for a scheme to be secure in the random oracle model and yet have no secure<br />

instantiation whatsoever when any hash function is substituted. This is a remarkable theoretical result;<br />

however, the cryptographic community continues to base their designs on the random oracle model, and<br />

with good reason. Although it cannot provide complete assurance about the security of a design, a proof<br />

in the random oracle model provides confidence about the impossibility of a wide range of attacks. Specifically,<br />

it rules out common attacks where the adversary ignores the inner workings of the hash function<br />

and treats it as a “black box.” The vast majority of protocol failures are due to this kind of black box attack,<br />

and thus the random oracle model remains an invaluable addition to the cryptographer’s tool kit.<br />

43.3<br />

© 2002 by CRC Press LLC<br />

Symmetric Key Cryptographic Primitives<br />

The main symmetric key cryptographic primitives are discussed including block ciphers, stream ciphers,<br />

and message authentication codes.<br />

Symmetric Key Block Ciphers<br />

A symmetric key block cipher is a parameterized family of functions EK,<br />

where each EK<br />

is a permutation<br />

on the space of bit strings of some fixed length. The input to EK<br />

is called the “plaintext” block, the output<br />

is called the “ciphertext” block, and K is called the “key.” The function EK<br />

is called an “encryption”<br />

function. The inverse of EK<br />

is called a “decryption” function, and is denoted DK.<br />

To encrypt a message that is longer than the fixed-length block, it is typical to employ a block cipher<br />

in a well-defined “mode of operation.” Popular modes of operation include output feedback mode, cipher<br />

feedback mode, and cipher block chaining mode; see [8] for a good overview. In this way, the plaintext<br />

and ciphertext can be bit strings of arbitrary (and equal) length. New modes of operations are being<br />

solicited in connection with the development of the Advanced Encryption Standard (see subsection<br />

“Advanced Encryption Standard (AES)”).<br />

The purpose of symmetric key encryption is to provide data confidentiality. Security can be stated at a<br />

number of levels. It is always assumed that the attacker has access to a complete specification of the<br />

parameterized family of encryption functions and to a ciphertext of adequate length. Beyond that, the<br />

specific level of security depends on the goals and resources of the attacker. An attacker might attempt a<br />

“total break” of the cipher, which would correspond to learning the key K.<br />

An attacker might attempt a<br />

“partial break” of the cipher, which would correspond to learning some or all of the plaintext for a given<br />

ciphertext. An attacker might have no resources beyond a description of the block cipher and a sample<br />

ciphertext, in which case he is mounting a “ciphertext-only attack.” An attacker might mount a “knownplaintext<br />

attack,” if he is given a number of plaintext-ciphertext pairs to work with (input-output pairs for<br />

the encryption function). If the attacker is allowed to choose plaintexts and then see the corresponding<br />

ciphertexts, then he is engaged in a “chosen-plaintext attack.”

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!