In
cryptography
Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adve ...
, Crab is a
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 ...
proposed by
Burt Kaliski and
Matt Robshaw Matthew John Barton "Matt" Robshaw is a cryptographer. Formerly a lecturer at Royal Holloway, University of London and a member of the cryptography research group at France Telecom's Orange Labs, he is now a Technical Fellow at Impinj. He coordinate ...
at the first
Fast Software Encryption
Fast or FAST may refer to:
* Fast (noun), high speed or velocity
* Fast (noun, verb), to practice fasting, abstaining from food and/or water for a certain period of time
Acronyms and coded Computing and software
* ''Faceted Application of Subje ...
workshop in 1993. Not really intended for use, Crab was developed to demonstrate how ideas from
hash functions
A hash function is any function that can be used to map data of arbitrary size to fixed-size values. The values returned by a hash function are called ''hash values'', ''hash codes'', ''digests'', or simply ''hashes''. The values are usually ...
could be used to create a fast cipher.
Crab has an unusually large
block size of 8192 bits. Its creators suggested using an 80-bit key, but the cipher could use any
key size
In cryptography, key size, key length, or key space refer 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 fastes ...
. The authors didn't specify an actual
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 val ...
, only that the key is used to generate two large sets of
subkeys: a permutation of the numbers 0 through 255, and an array of 2048 32-bit numbers. The block is divided into 256 32-bit subblocks, which are permuted at the beginning. Then the algorithm makes four passes over the data, each time applying one of four transformations adapted from
MD5.
A brief note on the cryptanalysis of Crab is included in Markku-Juhani Saarinen's paper on block ciphers based on
SHA-1
In cryptography, SHA-1 (Secure Hash Algorithm 1) is a cryptographically broken but still widely used hash function which takes an input and produces a 160-bit (20- byte) hash value known as a message digest – typically rendered as 40 hexadec ...
and MD5, published at FSE 2003. The author demonstrates a weakness in Crab that permits a
distinguisher using no more than a dozen
chosen plaintexts, and speculates that this can be converted into a full key-recovery attack using no more than 2
16 chosen plaintexts. Such an attack would depend on the key schedule used.
References
*
* A patent on an encryption device that uses Crab.
*
*
Broken block ciphers
{{crypto-stub