Serpent (暗号)
Serpentは対称鍵ブロック暗号の一種で、AESの最終候補の1つとなったが、Rijndaelに一歩及ばなかった。Serpentはロス・アンダーソン、エリ・ビーハム、ラーズ・クヌーセンが設計した。
AESに応募した他の暗号と同様、ブロック長は128ビットで、鍵長としては128、192、256ビットをサポートしている。暗号化に際しては、4個の32ビット語のブロックに対して32ラウンドのSPN構造を適用する。各ラウンドでは、8つある4ビットから4ビットへのSボックスのうちの1つを32回並行して適用する。Serpentは1ビットスライス32個を使い、全ての操作を並列に実行できるよう設計されている。このため並列性が最大化されているが、DESよりも暗号解読に要する作業が増えることにもつながっている。
Serpentは、他のAES最終候補よりもセキュリティに対して保守的なアプローチをとっていると見られており、セキュリティマージンを大きくとっている。設計者は既知の攻撃法に対しては16ラウンドで十分だと考えたが、今後新たな暗号解読法が開発されることを予想して、保険のために32ラウンドにした。
Serpentの方式は特許を取得していない。したがって完全なパブリックドメインであり、誰でも自由に使うことができる。したがって、ソフトウェア（またはハードウェア）でSerpentを自由に実装することができ、ライセンス料も徴収されない。