暗号学において、Mutual Irregular Clocking KEYstream generator (MICKEY)は、 Steve BabbageとMatthew Doddによって開発されたストリーム暗号アルゴリズムです。[ 1 ]この暗号は、リソースが限られたハードウェア プラットフォームで使用するために設計されており、eSTREAMポートフォリオの Profile 2 に採用された 3 つの暗号の 1 つです。このアルゴリズムは特許を取得しておらず、自由に使用できます。[ 2 ]
この暗号方式は、80ビットの鍵と可変長の初期化ベクトル(0~80ビット)を、最大長240ビットのキーストリームにマッピングします。
キーストリーム生成器は、2 つのレジスタ R と S (それぞれ 100 ビット) を使用します。レジスタは、制御変数 INPUT BIT R、INPUT BIT S、CONTROL BIT R、CONTROL BIT S を使用して非線形に更新されます。前述のように、暗号の実装には、R、S レジスタと 4 つの制御変数用のフリップフロップが含まれます。さらに、プリクロック ステージのラウンド数を追跡するために、カウンタ レジスタ用に 7 つのフリップフロップが必要です。MICKEY 2.0 のキーストリーム生成ステージの前には、IV ロード、キー ロード、プリクロックの 3 つのステージがあります。最初は、R、S レジスタはすべてゼロの状態に初期化されます。
Triviumとは異なり、MICKEY 2.0 [ 3 ]では、キーとIVビットを状態レジスタに直接ロードすることはできません。前述のように、最初はR、Sレジスタはすべてゼロの状態に初期化されます。次に、可変長のIVと80ビットのキーを使用して、CLOCK KGルーチンを順次実行することで状態を更新します。
MICKEY 2.0はXORチェーン構造で保護できます。攻撃者は以下の利点を得ます。
スキャンセルと暗号の実際の変数とのマッピングを隠すことが、以前のシングルフィードバックおよびダブルフィードバックXORチェーン方式の原動力でした。しかし、前述のように、これも暗号解読の標的となるため、ランダムXORチェーン(rXORチェーン)構造と呼ばれる、より安全なアーキテクチャへと移行します。
スキャンチェーンを保護するための Flipped-Scan 対策技術は以前に提案されました。これは、スキャンチェーン内のランダムなポイントにインバータを配置することを含みます。セキュリティは、攻撃者がインバータの数と位置を推測できないという事実に基づいています。この技術は RESET 攻撃を使用して暗号解読されました。スキャンチェーン内のすべてのフリップフロップが最初に RESET されている場合、スキャンアウトされたベクトル内の 0 → 1 および 1 → 0 遷移によってインバータの位置を完全に決定できることが示されました。代替として、XOR-CHAIN ベースの対策が提案されました。この技術は、チェーンのランダムなポイントに XOR ゲートを配置することを含みます。[ 4 ]セキュリティは、攻撃者が XOR ゲートの数と位置を推測できないという事実に基づいています。
スキャンベースのDFTは、シンプルで高い故障検出率が得られるため、集積回路のテストにおいて最も広く用いられているDFT方式です。スキャンベースのテストの利点は、IC内部ノードの完全な可視性と制御性を実現できる点にあります。
2013年現在、Subhadeep BanikとSubhamoy MaitraによってMICKEY 2.0に対する差分フォールト攻撃が報告されている。[ 5 ]