RC6は、共通鍵を用いた
ブロック暗号の一種で、
RC5を基に設計されています。設計者には、
ロナルド・リベストやマット・ロブショー、レイ・シドニー、イーキュン・リサ・インが名を連ねており、AES(
Advanced Encryption Standard)の採用に向けた公募の要求仕様を満たすことを目的としています。この
暗号方式は、最終選考に残った5作品の一つであり、
NESSIEや
CRYPTRECといったプロジェクトにも評価されています。現在、RC6の権利は
RSAセキュリティが保有しています。
RC6は、128ビットのブロック長に加え、128ビット、192ビット、256ビットのキー長をサポートしています。ただし、実際の設計の柔軟性を考慮し、ブロック長やキー長、ラウンド数はパラメータ化されているため、任意の値に設定することも可能です。これにより、さまざまなセキュリティ要件に応じた運用ができる利点があります。
RC6の構造は
RC5に非常に似ているため、RC6の動作を理解するためには
RC5の知識が役立ちます。両者はデータ依存の回転、合同加算、XOR演算といった共通の特徴を持つからです。そのため、RC6の基本的な
暗号化プロセスは
RC5の処理を2つ同時に実行する形式をとっています。これにより、データの安全性において優れた性能を発揮します。
特に、RC6では
RC5には存在しない特色として、乗算処理が追加されています。この乗算処理によって、ワード内の各ビットの依存性が導入されているため、
暗号化のセキュリティが一段階向上しています。単に特定のビットだけではなく、すべてのビットがその回転に影響を与えるため、より複雑で安全な
暗号化が実現されています。
参考文献
- - R.L. Rivest, M.J.B. Robshaw, R.Sidney, and Y.L. Yin. The RC6 Block Cipher. v1.1, August 1998.
- - J. Beauchat FPGA Implementations of the RC6 Block Cipher.
外部リンク