MULTI2

MULTI2（マルチツー）とは、1988年に日立製作所により開発されたブロック暗号である。日本の衛星・地上デジタル放送の標準暗号として採用されている。
概要.
MULTI2は、ブロック長64ビット、鍵長64ビットで、4種類あるラウンド関数の繰り返しによりスクランブルする積和型ブロック暗号である。ラウンド数は可変である。
ISO/IEC 9979にもとづく暗号アルゴリズム登録制度にアルゴリズムを公開して登録されている（登録番号9、1994年）。MULTI2 はアルゴリズムが完全に公開されているが、これ以外のMULTIX （MULTI3やMULTI4などが存在するとされる）はアルゴリズムが秘匿されている。
MULTI2は、日本のデジタル放送用限定受信方式（B-CAS）の標準暗号として採用されている。衛星デジタル放送や東経110度CSデジタル放送、地上デジタルテレビジョン放送などの放送波は、MULTI2で暗号化されてチューナにて受信、復号される。ブロック長が64ビットと少ないため、次世代の放送サービスでは、AESやCamelliaといった128ビットブロック暗号の採用も検討されている。
構造.
入力64ビットを左右32ビットに分割したのち、ラウンド関数 Π1～Π4 の繰り返しでスクランブルを行う。Π1とΠ3は右32ビットを変換し、Π2とΠ4は左32ビットを変換するFeistel構造に類似した構造になっている。
鍵スケジューラでは、鍵（=データ鍵）64ビットと、システム固定値（=システム鍵）256ビットを使用して拡大鍵256ビットを生成する。メインのスクランブラと同じラウンド関数 Π1～Π4 を使用して、データ鍵をシステム鍵で "暗号化" したときの各ラウンドの出力を拡大鍵とする。1ラウンド毎に32ビットの出力があり、8ラウンド繰り返して256ビットを得る。
ラウンド関数は、32ビットCPUでの実装効率を意識して、S-BOXやビット単位の転置は使用せずに、論理和・排他的論理和、加算・減算、ビットシフトのみで構成されている。
性能.
MULTI2はラウンド数が可変であり、スループットはラウンド数によって変化する。
1989年の開発者による報告によると、ワークステーション2050/32(MC68020,20MHz)で、ソフトウェア実装（C言語）すると278Kbpsのスループットがある。
ISO/IEC 9979のレジスト文書では、ラウンド数32のとき、1MIPSのマシンで約1Mbpsと主張されている。
安全性.
12段以下では、選択平文攻撃により現実的な時間で攻撃可能である。
32段以上でDESと同等とされる。
標準化.
MULTI2は、1996年に開始されたCSデジタル放送で使用されるスクランブルの標準暗号として採用された。
デジタル放送のトランスポート・ストリーム（TSパケットのペイロード部分）の暗号化に使用されている。その後、BSデジタル放送、地上デジタル放送での同様に採用された。(stub)
デジタル放送のコンテンツ権利保護方式として、ストリーム型のTYPE1コンテンツに対するアクセス制御方式には互換性を重視してMULTI2を使用し、ファイル型（蓄積型）のTYPE2コンテンツには用途に応じて堅牢なアルゴリズムを選択可能とすることが検討されている。