暗号学において、ラウンドまたはラウンド関数とは、アルゴリズム内で複数回繰り返される(反復される)基本的な変換です。大規模なアルゴリズム関数をラウンドに分割することで、実装と暗号解読の両方が簡素化されます。[ 1 ]
例えば、過度に単純化された3ラウンド暗号を用いた暗号化は と表すことができます。ここで、 Cは暗号文、Pは平文です。通常、ラウンドは同じ関数を用いて実装され、ラウンド定数と、ブロック暗号の場合は鍵スケジュールから得られるラウンド鍵によってパラメータ化されます。パラメータ化は、スライド攻撃につながる可能性のある暗号の自己相似性を低減するために不可欠です。[ 1 ]
ラウンド数を増やすと「ほぼ確実に」[ 2 ] 、差分解読法や線形解読法から保護されます。これらのツールでは、ラウンド数の増加に伴って計算量(労力)が指数関数的に増加するためです。しかし、ラウンド数を増やしても必ずしも弱い暗号が強い暗号になるわけではありません。なぜなら、ラウンド数に依存しない攻撃もあるからです。[ 3 ]
単純な非可換演算を繰り返し適用することで拡散と混乱を引き起こす反復暗号のアイデアは、1945年、当時秘密だったC・E・シャノンの著書「秘密システムの通信理論」にまで遡ります。[ 4 ]シャノンは、力学系理論の分野で用いられる混合変換(馬蹄形写像を参照)に着想を得ました。現代の暗号のほとんどは反復設計を採用しており、ラウンド数は通常8から32の間で選択されます(暗号ハッシュでは64、さらには80ラウンドが使用されることもあります)。[ 5 ]
フェイステル型暗号の記述、特にRC5では、「半ラウンド」という用語がデータの一部の変換を定義するために用いられます(フェイステル型暗号の設計の特徴です)。この操作は、従来のフェイステル型暗号( DESなど)の記述における全ラウンドに相当します。 [ 6 ]
丸め定数
暗号化プロセスにラウンド依存定数を挿入することで、ラウンド間の対称性が崩れ、最も明白なスライド攻撃を阻止することができます。[ 3 ]この手法は、ほとんどの現代のブロック暗号の標準的な機能です。しかし、ラウンド定数の選択が適切でなかったり、定数と他の暗号コンポーネントとの間に意図しない相互関係があったりすると、依然としてスライド攻撃(例えば、フォーマット保存暗号化モードFF3の初期バージョンへの攻撃)が許される可能性があります。[ 7 ]
多くの軽量暗号は非常に単純な鍵スケジューリングを採用しています。ラウンド鍵は、ラウンド定数を暗号化鍵に加算することで生成されます。この場合、ラウンド定数の選択を誤ると、暗号が不変攻撃に対して脆弱になる可能性があります。この方法で解読された暗号には、 SCREAMやMidori64などがあります。[ 8 ]
最適化
デイメンとライメンは、暗号の最適化の目標の一つは、ラウンドの複雑さとラウンド数の積である全体的な作業負荷を削減することであると主張している。この目標に対処するには2つのアプローチがある。[ 2 ]
- ローカル最適化により、単一ラウンド(Feistel 暗号の場合は 2 ラウンド)の最悪のケースの動作が改善されます。
- グローバル最適化では、複数のラウンドの最悪ケースの動作を最適化し、それほど洗練されていないコンポーネントの使用を可能にします。
ラウンド数を減らした暗号
暗号解読技術には、設計者が指定したよりも少ないラウンド数を持つ暗号のバージョンを用いることが含まれる。1ラウンドでは暗号学的に弱いため、完全なバージョンの暗号に対しては通用しない攻撃の多くが、このようなラウンド数を減らしたバージョンでは通用する。このような攻撃の結果は、アルゴリズムの強度に関する貴重な情報を提供する。[ 9 ]完全な暗号の解読は、ラウンド数を減らしたバージョンに対しては成功することが多い。[ 10 ]
Sateesanらは軽量ハッシュと暗号の短縮版を非暗号ハッシュ関数として使用することを提案している。[ 11 ]
参考文献
- ^ a b Aumasson 2017、56ページ。
- ^ a b Daemen & Rijmen 2013、p. 74.
- ^ a bビリュコフとワーグナー、1999 年。
- ^シャノン、クロード(1945年9月1日)「暗号の数学的理論」(PDF) 97頁。
- ^ビリュコフ 2005 .
- ^カリスキーとイン、1995 年、p. 173.
- ^ダンケルマンら。 2020、p. 252.
- ^ Beierle et al. 2017 .
- ^ロブショー 1995、23ページ。
- ^シュナイアー 2000、2ページ。
- ^サティーサンら。 2023、p. 1.
出典
- オーマソン、ジャン=フィリップ(2017年11月6日)『Serious Cryptography: A Practical Introduction to Modern Encryption 』No Starch Press、 56~ 57ページ 。ISBN 978-1-59327-826-7. OCLC 1012843116 .
- Beierle, Christof; Canteaut, Anne; Leander, Gregor; Rotella, Yann (2017). 「不変攻撃に対する耐性の証明:ラウンド定数の選び方」(PDF) . Advances in Cryptology – CRYPTO 2017. Lecture Notes in Computer Science. Vol. 10402. Springer International Publishing. pp. 647– 678. doi : 10.1007/978-3-319-63715-0_22 . eISSN 1611-3349 . ISBN 978-3-319-63714-3. ISSN 0302-9743 .
- アレックス・ビリュコフ、デイヴィッド・ワグナー (1999). 「スライド攻撃」 .高速ソフトウェア暗号化. コンピュータサイエンス講義ノート. 第1636巻. シュプリンガー・ベルリン・ハイデルベルク. pp. 245– 259. doi : 10.1007/3-540-48519-8_18 . ISBN 978-3-540-66226-6. ISSN 0302-9743 .
- アレックス・ビリュコフ (2005). 「積暗号、超暗号化」.暗号とセキュリティ百科事典. Springer US. pp. 480– 481. doi : 10.1007/0-387-23483-7_320 . ISBN 978-0-387-23473-1。
- デイメン、ジョアン、ライメン、ヴィンセント(2013年3月9日)『Rijndaelの設計:AES - 高度暗号化標準』(PDF) Springer Science & Business Media ISBN 978-3-662-04722-4. OCLC 1259405449 .
- Dunkelman, Orr; Keller, Nathan; Lasry, Noam; Shamir, Adi (2020). 「ほぼ自己相似な暗号に対する新たなスライド攻撃」 .暗号学の進歩 – EUROCRYPT 2020.コンピュータサイエンス講義ノート. 第12105巻. Springer International Publishing. pp. 250– 279. doi : 10.1007/978-3-030-45721-1_10 . eISSN 1611-3349 . ISBN 978-3-030-45720-4. ISSN 0302-9743 .
- カリスキ、バートン・S.、イクン・リサ・イン (1995). 「RC5暗号化アルゴリズムの差分解析と線形解析について」(PDF) .暗号学の進歩 – CRYPT0' 95.コンピュータサイエンス講義ノート. 第963巻. シュプリンガー・ベルリン・ハイデルベルク. pp. 171– 184. doi : 10.1007/3-540-44750-4_14 . ISBN 978-3-540-60221-7. ISSN 0302-9743 .
- Robshaw, MJB (1995年8月2日).ブロック暗号(PDF) (バージョン2.0版). カリフォルニア州レッドウッドシティ: RSA Laboratories .
- Sateesan, Arish; Biesmans, Jelle; Claesen, Thomas; Vliegen, Jo; Mentens, Nele (2023年4月). 「ハードウェアにおける高速な非暗号ハッシュ関数のための最適化アルゴリズムとアーキテクチャ」(PDF) . Microprocessors and Microsystems . 98 104782. doi : 10.1016/j.micpro.2023.104782 . ISSN 0141-9331 .
- シュナイアー、ブルース(2000年1月). 「ブロック暗号解読自習コース」(PDF) . Cryptologia . 24 (1): 18– 34. doi : 10.1080/0161-110091888754 . S2CID 53307028 .