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 adver ...
, Crab is a
block cipher proposed by
Burt Kaliski and
Matt Robshaw 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 faste ...
. The authors didn't specify an actual
key schedule, 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