現代まで
携帯電話等デジタル情報暗号化技術
発明技術開発の概要
MISTY暗号が実現したことは、安全性の点では証明可能安全性と呼ばれる解読困難性と、実装性の点では高速化と小型化を両立させたことである。図2に示したMISTYの基本構造をもとにこれを説明する。nビットの入力データは半分ずつに分割され、その左半分は小さな関数(点線で囲まれた部分)で変換される。その結果は右半分と排他的論理和されて、その後右半分と左半分を入れ替える。ここまでの処理が一段と呼ばれるもので、図2は4段分の構造を示している。
この構造はMISTY独自のもので、その特長は、連続する小さな関数2つに依存関係がないため、この2つを並列処理でき、高速化に寄与するという点である。また安全性の点では、小さな関数の安全性から四段全体の安全性を計算することができるという理論的結果を証明している。これは小さい安全なコンポーネントを組み合わせて大きい安全な暗号を設計する指針を与えるものである。
もうひとつMISTY独自のアイデアは、この小さな関数の内部構造を全体3段分と同じにしている点であり、これを入れ子構造(recursive structure)と呼ぶ。こうすることにより、最小の関数(一番小さな箱)4つが並列処理できることになる。具体的には最初の小さな関数のなかの最初2つの箱と、2段目の小さな関数のなかの最初の2つの箱の合計4個の箱には依存関係がなく並列処理ができる。また、最初の小さな関数の最後の箱、2段目の小さな関数の最後の箱、3段目の小さな関数の最初の箱、4段目の小さな関数の最初の箱、の合計4個の箱にはそれぞれ依存関係がなく並列処理できる。このように入れ子を深くすると並列度が上がっていく。
またこの構造は、一番小さな箱と排他的論理和の繰り返しだけで構成されているというシンプルなものであるため、極めて小型に設計することも可能である。このようにMISTYの構造は、求められるものが性能か小型化かによって設計を変えることで、互換性を保ちつつシステムの要求に応える柔軟性をもつものである。
図2 MISTYの基本構造