Serpent (暗号)とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Serpent (暗号)の意味・解説 

Serpent (暗号)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/05/17 16:18 UTC 版)

Serpent
Serpentの線形混合ステージ
一般
設計者 ロス・アンダーソン、エリ・ビーハム、ラーズ・クヌーセン
初版発行日 1998年8月21日
派生元 Square
認証 AES最終候補の1つ
暗号詳細
鍵長 128, 192, 256 ビット
ブロック長 128 ビット
構造 SPN構造
ラウンド数 32

Serpent対称鍵ブロック暗号の一種で、AESの最終候補の1つとなったが、Rijndaelに一歩及ばなかった。Serpentはロス・アンダーソン、エリ・ビーハム、ラーズ・クヌーセンが設計した。

AESに応募した他の暗号と同様、ブロック長は128ビットで、鍵長としては128、192、256ビットをサポートしている[1]。暗号化に際しては、4個の32ビットのブロックに対して32ラウンドのSPN構造を適用する。各ラウンドでは、8つある4ビットから4ビットへのSボックスのうちの1つを32回並行して適用する。Serpentは1ビットスライス32個を使い、全ての操作を並列に実行できるよう設計されている。このため並列性が最大化されているが、DESよりも暗号解読に要する作業が増えることにもつながっている。

Serpentは、他のAES最終候補よりもセキュリティに対して保守的なアプローチをとっていると見られており、セキュリティマージンを大きくとっている。設計者は既知の攻撃法に対しては16ラウンドで十分だと考えたが、今後新たな暗号解読法が開発されることを予想して、保険のために32ラウンドにした。

Serpentの方式は特許を取得していない。したがって完全なパブリックドメインであり、誰でも自由に使うことができる。したがって、ソフトウェア(またはハードウェア)でSerpentを自由に実装することができ、ライセンス料も徴収されない。

Rijndael と Serpent

Rijndaelはラウンド数が10、12、14のSPN構造で、鍵長とブロック長は128ビット、192ビット、256ビットである(それぞれ独立して指定可能)。Serpentは32ラウンドのSPN構造で、最適化した実装を単純化するために最初と最後に並べ替えを行う。Rijndaelのラウンド関数は、非線形層、線形混合層、鍵混合XOR層という3つの部分で構成されている。Setpentのラウンド関数は、鍵混合XOR、4×4のSボックスを32回並行に動作させる部分、線形変換から成るが、最終ラウンドでは線形変換の代わりにもう1回鍵混合XORを行う。Rijndaelの非線形層は8×8のSボックスを1つ使うが、Serpentでは8個の異なる4×4のSボックスを使う。Serpentは32ラウンドも実施することでRijndaelよりもセキュリティマージンが高い。しかし、10ラウンドのRijndaelは、高速で実装も容易である。そのため、RijndaelがAESに選ばれた。

セキュリティ

XSL攻撃が有効ならば、Serpentを破ることも考えられる(ただし、AESに採用されたRijndaelの方がさらに弱い)。しかし、実装時にそれを考慮しておけば、XSL攻撃が総当り攻撃よりも高くつく(時間がかかる)ようにできる、と多くの暗号研究者らは考えている。

脚注・出典

外部リンク




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Serpent (暗号)」の関連用語

Serpent (暗号)のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Serpent (暗号)のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのSerpent (暗号) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS