What is Serpent (cipher)?
'''Serpent''' is a [[Symmetric-key algorithm|symmetric key]] [[block cipher]] which was the second finalist in the [[Advanced Encryption Standard|Advanced Encryption Standard (AES)]] [[Competition|contest]] after [[Rijndael key schedule|Rijndael]]. Serpent was designed by [[Ross Anderson]], [[Eli Biham]], and [[Lars Knudsen]]. Serpent has a [[block size (cryptography)|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 by 4-bit [[Substitution box|S-boxes]] 32 times in parallel. Serpent was designed so that all operations can be executed in [[parallel computing|parallel]], using 32 1-bit slices. This maximizes parallelism, but also allows use of the extensive [[cryptanalysis]] work performed on [[Data Encryption Standard|DES]]. Serpent was widely viewed as a more traditional approach to security than the other AES finalists choosing a larger security margin: the designers [[Estimation|estimated]] 16 rounds to be sufficient against known types of attack, but specified 32 rounds as [[insurance]] against future [[wikt:progress|progress]] in cryptanalysis. The Serpent cipher has not been [[patent]]ed. It is completely placed in the [[public domain]] and can be freely used by anyone. ==Rijndael vs. Serpent== #[[Rijndael key schedule|Rijndael]] is a [[Substitution-permutation network|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.<br>'''Serpent''' is a substitution-linear transformation network which has 32 rounds, plus an initial and a final [[permutation]] to simplify an [[Optimization (computer science)|optimized]] implementation. #The round function in '''Rijndael''' consists of: a nonlinear layer, a linear mixing layer, and a key-mixing [[Exclusive or|XOR]] layer.<br>The round function in '''Serpent'''