SONY

The 128-bit Blockcipher

鍵スケジュール/要素技術

CLEFIAには「構造上の特長」でご説明したデータ処理部での安全性向上技術以外にも以下のような設計上の特長があります。

鍵スケジュール部の基本部分(入力された鍵を中間鍵に変換する部分)に
データ暗号化部のラウンド数を削減した関数を採用

このような構成とすることで、データ処理部と鍵スケジュール部の部品共通化が可能となり、例えばハードウェア実装を行った場合には部品の再利用によりゲート規模削減効果が見込めます。

図5 データ処理部と鍵スケジュール部との回路共有

F関数内の非線形変換関数S-boxに異なる2種類のS-boxを採用

CLEFIAでは異なる2種類の8ビット入出力S-boxを使用しています。ひとつは内部で4ビットのS-boxを組み合わせた構造となっており、もうひとつは拡大体GF(28)上の逆元演算を用いた構造となっています。このように代数的な性質の異なる2つのS-boxを組み合わせて利用することで、ある種の代数的性質を利用した攻撃に対する耐性向上効果を見込んでいます。

図6 2種類のS-boxとそれらを利用したF関数

鍵スケジュール部にDoubleSwapと呼ばれる置換関数を採用

DoubleSwap関数は128ビットのビット列を入力とし、この入力を4つの部分に分割して並び替えるという極めてシンプルな置換関数です。DoubleSwap関数は、シンプルな構造ながら効果的な拡散性能を持ち、中間鍵から逐次的にラウンド鍵を生成するときに用いることで、効率的なソフトウェア実装とハードウェア実装を実現することができました。

図7 DoubleSwap変換

以上にあげたようなさまざまな設計上の工夫により、コンパクト実装と高速性を同時に達成したブロック暗号CLEFIAが実現されています。

詳細は本サイト「ダウンロード」よりダウンロードできる資料をご参照ください。