The Scream cipher is a word-based
stream cipher
stream cipher is a symmetric key cipher where plaintext digits are combined with a pseudorandom cipher digit stream ( keystream). In a stream cipher, each plaintext digit is encrypted one at a time with the corresponding digit of the keystream ...
developed by
Shai Halevi
Shai Halevi ( he, שי הלוי; born 1966) is a computer scientist who works on cryptography research at Algorand Foundation, a blockchain startup founded by Silvio Micali.
Born in Israel in 1966, Halevi received a B.A. and M.Sc. in computer ...
,
Don Coppersmith
Don Coppersmith (born 1950) is a cryptographer and mathematician. He was involved in the design of the Data Encryption Standard block cipher at IBM, particularly the design of the S-boxes, strengthening them against differential cryptanalysis.
...
and
Charanjit Jutla from
IBM.
The cipher is designed as a software efficient stream cipher. The authors describe the goal of the cipher to be a more secure version of the
SEAL
Seal may refer to any of the following:
Common uses
* Pinniped, a diverse group of semi-aquatic marine mammals, many of which are commonly called seals, particularly:
** Earless seal, or "true seal"
** Fur seal
* Seal (emblem), a device to impr ...
cipher.
The general design of Scream is close to the design of SEAL with
block cipher
In cryptography, a block cipher is a deterministic algorithm operating on fixed-length groups of bits, called ''blocks''. Block ciphers are specified cryptographic primitive, elementary components in the design of many cryptographic protocols and ...
-like round functions. There are two versions of Scream. One of them, ''Scream-F'', reuses the
S-box
In cryptography, an S-box (substitution-box) is a basic component of symmetric key algorithms which performs substitution. In block ciphers, they are typically used to obscure the relationship between the key and the ciphertext, thus ensuring Shan ...
es from the
Advanced Encryption Standard
The Advanced Encryption Standard (AES), also known by its original name Rijndael (), is a specification for the encryption of electronic data established by the U.S. National Institute of Standards and Technology (NIST) in 2001.
AES is a variant ...
(AES) block cipher, while the other, ''Scream'', internally generates new, key-dependent S-boxes as part of the initialization phase. The round function is also based on the AES-round function, but is narrower, 64 bits instead of 128 bits.
The cipher uses a 128-bit key and a 128-bit nonce. It is efficient in software, running at 4-5 cycles per byte on modern processors.
The cipher was presented at the
Fast Software Encryption (FSE) conference in 2002.
References
Scream: a software-efficient stream cipher(pdf)
Stream ciphers
{{crypto-stub