暗号学において、LOKI89とLOKI91は、データ暗号化標準(DES)の代替として設計された共通鍵ブロック暗号です。これらの暗号は、DESを分析した研究に基づいて開発され、構造はDESと非常によく似ています。LOKIアルゴリズムは、北欧神話の悪戯の神であるロキにちなんで名付けられました。
LOKI89は、オーストラリアの暗号学者であるローリー・ブラウン、ヨーゼフ・ピエプジク、ジェニファー・セベリーによって1990年に初めて発表され、当時は単に「LOKI」と呼ばれていました。LOKI89は評価のために欧州のRIPEプロジェクトに提出されましたが、採用されませんでした。
この暗号は 64 ビットのブロックと 64 ビットの鍵を使用します。DES と同様に、 16 ラウンドのFeistel 暗号であり、一般的な構造は似ていますが、特定のS ボックス、「P 置換」、および「拡張置換」の選択が異なります。S ボックスは、Josef Pieprzyk によって開発された非線形性の基準を使用しており、可能な限り「複雑」で「予測不可能」になっています。その有効性は、DES S ボックスの既知の設計基準と比較されました。置換は、S ボックスの出力 を可能な限り迅速に「混合」するように設計されており、優れたFeistel 暗号に不可欠なアバランシェ特性と完全性特性を促進します。ただし、DES の同等のものとは異なり、設計の分析を容易にするために、可能な限りクリーンでシンプルになるように意図されています (後から考えると、少しシンプルすぎるかもしれません)。
LOKI89の発表後、新しい 差分暗号解読に関する情報や、(Knudsen 1993a)による初期の解析結果が明らかになった。その結果、設計が変更され、LOKI91となった。
LOKI 91は、LOKI89に対する攻撃(Brown et al., 1991)に対応して設計されました。変更点には、初期および最終キーのホワイトニングの削除、新しいSボックス、およびキースケジュールの小さな変更が含まれます。
より具体的には、Sボックスを変更することで、異なる入力に対して同じ出力が得られる確率(差分暗号解読が利用する手法)を最小限に抑え、LOKI91のこの攻撃に対する耐性を向上させた。攻撃の著者ら(BihamとShamir、1991)が詳細に説明している。鍵スケジュールの変更は、「同等」または「関連」鍵の数を減らすように設計されており、その結果、暗号の全探索空間が縮小された。
結果として得られた暗号はLOKI89よりも明らかに強力で安全ではあるものの、KnudsenとBihamの論文で詳述されているように、いくつかの潜在的な攻撃が存在する。したがって、これらの暗号は、実用的なアルゴリズムとしてではなく、ブロック暗号設計の分野を発展させるための学術的な取り組みとして捉えるべきである。引用数と発表された批判の数から判断すると、この目的は達成されていると言えるだろう。