Sosemanuk is a
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 keystrea ...
developed by Come Berbain, Olivier Billet,
Anne Canteaut
Anne Canteaut is a French researcher in cryptography, working at the French Institute for Research in Computer Science and Automation (INRIA) in Paris. She studies the design and cryptanalysis of symmetric-key algorithms and S-boxes.
Educat ...
,
Nicolas Courtois, Henri Gilbert, Louis Goubin,
Aline Gouget, Louis Granboulan, Cédric Lauradoux, Marine Minier, Thomas Pornin and Hervé Sibert. Along with HC-128,
Rabbit
Rabbits are small mammals in the family Leporidae (which also includes the hares), which is in the order Lagomorpha (which also includes pikas). They are familiar throughout the world as a small herbivore, a prey animal, a domesticated ...
, and
Salsa20
Salsa20 and the closely related ChaCha are stream ciphers developed by Daniel J. Bernstein. Salsa20, the original cipher, was designed in 2005, then later submitted to the eSTREAM European Union cryptographic validation process by Bernstein. Ch ...
/12, Sosemanuk is one of the final four Profile 1 (software) ciphers selected for the
eSTREAM Portfolio.
According to the authors, the structure of the cipher is influenced by the stream cipher
SNOW
Snow consists of individual ice crystals that grow while suspended in the atmosphere—usually within clouds—and then fall, accumulating on the ground where they undergo further changes.
It consists of frozen crystalline water througho ...
and the
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 ...
Serpent. The cipher has an improved performance compared with Snow, more specifically by having a faster initialization phase. The cipher
key length
In cryptography, key size or key length refers to the number of bits in a key used by a cryptographic algorithm (such as a cipher).
Key length defines the upper-bound on an algorithm's security (i.e. a logarithmic measure of the fastest known at ...
can vary between 128 and 256 bits, but the guaranteed security is only 128 bits. The cipher uses an initialization vector of 128 bits. Of note, during th
eSTREAM Phase 1 evaluationprocess, it was shown that a theoretical attack with cost 2
224 could be applied, which does not contradict the
security claim of "128 bits".
Sosemanuk is not patented and is "free for any use". The name means "snow snake" in the
Cree Indian language because it depends both on Snow and Serpent.
External links
eSTREAM pageon Sosemanuk
"SOSEMANUK, a fast software-oriented stream cipher" a paper by the cipher's authors
* The eSTREAM Portfoli
announcement* all eSTREA
Stream ciphers
{{crypto-stub