The Full Wiki

Serpent (cipher): Wikis

  

Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.

Encyclopedia

From Wikipedia, the free encyclopedia

Serpent
Serpent-linearfunction.svg

Serpent's linear mixing stage
General
Designers Ross Anderson, Eli Biham, Lars Knudsen
First published 1998-08-21
Derived from Square
Certification AES finalist
Cipher detail
Key sizes 128, 192 or 256 bits
Block sizes 128 bits
Structure Substitution-permutation network
Rounds 32

Serpent is a symmetric key block cipher which was a finalist in the Advanced Encryption Standard (AES) contest, where it came second to Rijndael. Serpent was designed by Ross Anderson, Eli Biham, and Lars Knudsen.

Like other AES submissions, Serpent has a block size of 128 bits and supports a key size of 128, 192 or 256 bits[1]. The cipher is a 32-round substitution-permutation network operating on a block of four 32-bit words. Each round applies one of eight 4-bit to 4-bit S-boxes 32 times in parallel. Serpent was designed so that all operations can be executed in parallel, using 32 1-bit slices. This maximizes parallelism, but also allows use of the extensive cryptanalysis work performed on DES.

Serpent was widely viewed as taking a more conservative approach to security than the other AES finalists, opting for a larger security margin: the designers deemed 16 rounds to be sufficient against known types of attack, but specified 32 rounds as insurance against future discoveries in cryptanalysis.

The Serpent cipher has not been patented. It is completely in the public domain and can be freely used by anyone. There are no restrictions or encumbrances whatsoever regarding its use. As a result, anyone is free to incorporate Serpent in their software (or hardware implementations) without paying license fees.

Contents

Rijndael vs. Serpent

Rijndael is a substitution-linear transformation network with ten, twelve, or fourteen rounds, depending on the key size, and with block sizes of 128 bits, 192 bits, or 256 bits, independently specified. Serpent is a substitution-linear transformation network which has thirty-two rounds, plus an initial and a final permutation to simplify an optimized implementation. The round function in Rijndael consists of three parts: a nonlinear layer, a linear mixing layer, and a key-mixing XOR layer. The round function in Serpent consists of key-mixing XOR, thirty-two parallel applications of the same 4x4 S-box, and a linear transformation, except in the last round, wherein another key-mixing XOR replaces the linear transformation. The nonlinear layer in Rijndael uses an 8x8 S-box whereas Serpent uses eight different 4x4 S-boxes. The 32 rounds make Serpent have a higher security margin than Rijndael; however, Rijndael with 10 rounds is faster and easier to implement for small blocks. Hence, Rijndael was selected as the winner in the AES competition.

Security

The XSL attack, if effective, would weaken Serpent (though not as much as it would weaken Rijndael, which became AES). However, many cryptanalysts believe that once implementation considerations are taken into account the XSL attack would be more expensive than a brute force attack.

See also

  • Tiger - hash function by the same authors.

Footnotes

External links


Simple English

Serpent is a symmetric key block cipher which was the second finalist in the Advanced Encryption Standard (AES) contest after Rijndael. Serpent was designed by Ross Anderson, Eli Biham, and Lars Knudsen.

Serpent has a block size of 128 bits and supports a key size of 128, 192 or 256 bits. The cipher is a 32-round substitution-permutation network operating on a block of four 32-bit words. Each round applies one of eight 4-bit to 4-bit S-boxes 32 times in parallel. Serpent was designed so that all operations can be executed in parallel, using 32 1-bit slices. This maximizes parallelism, but also allows use of the extensive cryptanalysis work performed on DES.

Serpent was widely viewed as a more traditional approach to security than the other AES finalists choosing a larger security margin: the designers estimated 16 rounds to be sufficient against known types of attack, but specified 32 rounds as insurance against future progress in cryptanalysis.

The Serpent cipher has not been patented. It is completely placed in the public domain and can be freely used by anyone.

Rijndael vs. Serpent

  1. Rijndael is a substitution-linear transformation network with 10, 12, or 14 rounds, depending on the key size, and with block sizes of 128 bits, 192 bits, or 256 bits, independently specified.
    Serpent is a substitution-linear transformation network which has 32 rounds, plus an initial and a final permutation to simplify an optimized implementation.
  2. The round function in Rijndael consists of: a nonlinear layer, a linear mixing layer, and a key-mixing XOR layer.
    The round function in Serpent consists of: key-mixing XOR, thirty-two parallel process of the same 4x4 S-box, and a linear transformation, except in the last round, in which another key-mixing XOR replaces the linear transformation.
  3. The nonlinear layer in Rijndael uses an 8x8 S-box.
    The nonlinear layer in Serpent uses 8 different 4x4 S-boxes.

The 32 rounds make Serpent more secure than Rijndael; however, Rijndael with 10 rounds is faster and easier to implement for small Block ciphers and on embedded system. For that reason, Rijndael was selected as the winner in the AES competition.

Security

The XSL attack, if effective and would weaken Serpent (though not as much as it would weaken Rijndael, which became AES). However, many cryptanalysts believe that if implementations considered to overcome the XSL attack, the XSL attack would be more difficult than a brute force attack.

Other websites








Got something to say? Make a comment.
Your name
Your email address
Message