Luciferは、ホルスト・ファイステルらがIBMにて開発したいくつかの初期の民間用ブロック暗号の総称である。DESの基になった。Luciferのうちの1つは DTD-1 という名称で1970年代に銀行で使われていた。

Lucifer
一般
設計者 ホルスト・ファイステル
初版発行日 1971
後継 DES
暗号詳細
鍵長 48, 64 or 128 bits
ブロック長 48, 32 or 128 bits
構造 SPN構造Feistel構造
ラウンド数 16

概要 編集

《アメリカ合衆国特許番号 3,798,359; 1971年7月》[1]の版では、48ビットのを使い、48ビットのブロックを操作する。SPN構造で2つの4ビットSボックスを使用する。鍵によってどちらのSボックスを使うかを決める。特許には、24ビットを一度に操作する方式と8ビットずつ順次操作する方式が記されている。

もうひとつの《アメリカ合衆国特許番号 3,796,830; 1971年11月》[2]の版では、64ビットの鍵を使い、32ビットのブロックを操作する。加算と4を法とする合同式演算、ひとつの4ビットSボックスを使う。4ビットずつ処理する方式になっている。ブロック暗号の実装としては非常に小さい。

より強力な版として《Feistel, 1973》[3] があり、128ビットの鍵を使い、128ビットブロックを操作する。SPN構造で2つの4ビットSボックスを使う。鍵によってどちらのSボックスを使うかを決める。

その後、16ラウンドのFeistel構造で、128ビットのブロックと128ビットの鍵を採用したLuciferが《Sorkin, 1984》[4] に記されている。この版は差分解読法に弱い。236の選択平文で236の時間計算量で鍵の半分を破ることができる(Ben-Aroya and Biham, 1996)[5]

IBMはFeistel構造版のLuciferをDESの候補として提出した。設計の手直しを経て(鍵を56ビット、ブロック長を64ビットに縮め、差分解読法への耐性を強化した)、1977年に Data Encryption Standard とした。

"Lucifer"(魔王)という名前は "Demon"(悪魔)から発想した駄洒落である。そしてDemonは、ファイステルが開発していたプライバシーシステムの名称 "Demonstration" を短縮したものである。これは、開発に使っていたオペレーティングシステムが長い名前を扱えなかったためだという。

Sorkin版の詳細 編集

(Sorkin, 1984)[4]で記述されている版は、DESと同様に16ラウンドのFeistel構造だが、最初と最後の並べ替えがない。鍵長とブロック長は共に128ビットである。Feistel関数はブロックの半分である64ビットを鍵の半分である64ビットの部分鍵と8ビットの交換制御ビット (interchange control bits、ICBs) で操作する。ICBsはビットの入れ替え操作を制御する。64ビットのデータブロックを8個の8ビットのかたまり(バイト)の並びとみなし、特定のバイトに対応するICBがゼロなら、4ビットずつ(ニブル)の左右を入れ替える。対応するICBが1なら、そのバイトはそのままにしておく。各バイトは次に2つの4×4ビットのSボックスで操作される。それらの出力を連結した上で、部分鍵とXOR演算を行う。これを "key interruption" と呼ぶ。その後、2段階の並べ替えを行う。1回目はバイト単位に固定の並べ替えを行う。2回目はバイト間でビットの入れ替えを行う。

鍵スケジュールのアルゴリズムは比較的単純である。まず128ビットの鍵をシフトレジスタにロードする。ラウンドごとにそのレジスタの左半分の64ビットが部分鍵に使われ、右端の8ビットがICBビットとなる。ラウンドごとにレジスタを左に56ビットローテートさせる。

脚注・出典 編集

  1. ^ Horst Feistel. Block Cipher Cryptographic System, アメリカ合衆国特許第 3,798,359号. Filed June 30, 1971. (IBM)
  2. ^ John Lynn Smith. Recirculating Block Cipher Cryptographic System, アメリカ合衆国特許第 3,796,830号. Filed Nov 2, 1971. (IBM)
  3. ^ Horst Feistel, (1973). "Cryptography and Computer Privacy". Scientific American, 228(5), May 1973, pp 15–23.
  4. ^ a b A. Sorkin, (1984). "LUCIFER: a cryptographic algorithm". Cryptologia, 8(1), 22--35, 1984.
  5. ^ Ishai Ben-Aroya, Eli Biham (1996). "Differential Cryptanalysis of Lucifer". Journal of Cryptology 9(1), pp. 21–34, 1996.

参考文献 編集

  • Eli Biham, Adi Shamir (1991). "Differential Cryptanalysis of Snefru, Khafre, REDOC-II, LOKI and Lucifer". CRYPTO 1991: pp156–171
  • Whitfield Diffie, Susan Landau (1998). "Privacy on the Line: The Politics of Wiretapping and Encryption".
  • Steven Levy. (2001). "Crypto: Secrecy and Privacy in the New Code War" (Penguin Press Science).

外部リンク 編集