RC5
出典: フリー百科事典『ウィキペディア(Wikipedia)』
RC5 はその単純さが特徴のブロック暗号の一種。1994年、ロナルド・リベストが設計した。RC は "Rivest Cipher" または "Ron's Code" の略(RC2、RC4参照)。AES暗号の候補となったRC6はRC5をベースとしている。
目次 |
[編集] 概要
RC5は、ラウンド関数で使用する演算に関する研究と評価を促進することを目的として設計された、非常にシンプルな構造をしたブロック暗号である。
RC5 は、データ依存の回転(data-dependent rotation)という目新しい演算を採用したことと、アルゴリズムの単純さによって暗号解読者らにとって魅力的な研究対象となった。データによってローテーション数が変化することは最大差分(線形)確率の上界の評価が複雑になることを意味する。
[編集] 構造
他のブロック暗号と異なり、RC5 のブロック長は 32、64、128ビットの3つ、キー長は任意(0 から 2040ビット)、ラウンド回数も任意(0 から 255)である。本来のパラメータ推奨値は、ブロック長 64ビット、キー長 128ビット、12 ラウンドである。
アルゴリズムの基本構造は Feistel 風のネットワークである。最初に拡大鍵でWhiteningした後、ラウンド関数を指定回数繰り返す。暗号化ルーチンと復号ルーチンのコードはほんの数行であるが、鍵のスケジュールはもっと複雑である。
ラウンド関数は、XOR(排他的論理和)、RC5の特徴となっているデータ依存の回転(rotation)、そして、拡大鍵との剰余加算の3つの組み合わせで構成される。
[編集] 安全性
12ラウンドの RC5(ブロック長 64ビット)は 244 個の選択平文を使った差分攻撃で破られることが示された(Biryukov and Kushilevitz, 1998)。18 から 20 ラウンドでは解読できないと言われている。
このアルゴリズムの特許を保有するRSAセキュリティは RC5 で作成した暗号文を解読できた者に 1万ドルを提供する懸賞をいくつか発表している。懸賞問題のいくつかは Distributed.netが組織した分散コンピューティングによって解読が試みられている。Distributed.net は 56ビットと64ビットの鍵で暗号化されたものを力づくで解き、2006年10月現在、72ビットの鍵のRC5で暗号化された問題に取り組んでいる。
[編集] 参考文献
- Biryukov A. and Kushilevitz E. (1998). Improved Cryptanalysis of RC5. EUROCRYPT 1998.
- Rivest, R. L. (1998). Block Encryption Algorithm with Data Dependent Rotation. Patent No. 5,724,428 issued 3rd March 1998.
- Rivest, R. L. (1994). The RC5 Encryption Algorithm. In the Proceedings of the Second International Workshop on Fast Software Encryption (FSE) 1994, p86–96 (PDF).
- Rivest, R. L, "Block Encryption Algorithm With Data Dependent Rotation", US patent #5,724,428, issued on 3 March 1998.