Serpent - A New Block Cipher Proposal for AES

Serpent was selected as one of the 5 AES finalists

Serpent is a new cipher proposal for the Advanced Encryption Standard. The original version, Serpent-0, presented at the 5th workshop on Fast Software Encryption is described in our FSE paper.

Serpent-1, the variant submitted to the AES is slightly different, and is described here.

Serpent is now completely in the public domain, and we impose no restrictions on its use. This was announced on the 21st August 1998 at the AES conference. The OPTIMIZED implementations in the above submission package are now under GNU PUBLIC LICENSE (GPL), although the comments in the code still say otherwise. You are welcome to use Serpent for any application. However, if you do use it, we would appreciate it if you would let us know!

The following files contain the test vectors of Serpent in the NESSIE printout format (i.e., the order of printed bytes is in the order most people will feel comfortable with, not in the standard Serpent order). We supply the test vectors for the three most common key lengths, though Serpent supports 257 key lengths.
NESSIE's test vectors for Serpent with 128-bit keys
NESSIE's test vectors for Serpent with 192-bit keys
NESSIE's test vectors for Serpent with 256-bit keys

For more information see the main Serpent home page by Ross Anderson.

ASN.1 OID's for Tiger and Serpent

Related Publications

A source code in Java is available from Cryptix.

The authors' home pages are,, and
The authors' email addresses are biham(at), larsr(at), and rja14(at)