「暗号技術入門 秘密の国のアリス」 (10) 第12章 乱数

暗号技術入門 第3版

暗号技術入門 第3版

「暗号技術入門 秘密の国のアリス」 (10) 第12章 乱数

現代の暗号システムは、公開された仕組みと秘密の鍵を組み合わせてできている。これが正しく機能するためには、鍵が予測不可能である必要がある。そのような鍵を作るために乱数が用いられる。

乱数が使われる暗号技術

乱数は次のような場面で使われる。

  • 共通鍵の生成
  • 公開鍵暗号における鍵ペアの生成
  • 初期化ベクトルの生成
  • ノンスの生成
  • ソルトの生成

乱数の性質

乱数の性質には3つある。

  • 無作為性: 統計的な偏りがない
  • 予測不可能性: 過去の数列から次の数を予測できない
  • 再現不可能性: 同じ数列を再現できない

下に行くほどむずかしい。暗号に用いる乱数は少なくとも無作為性と予測不可能性を持っている必要がある。

再現不可能性はソフトウェアのみでは決して実現できない。そこで、無作為性と予測不可能性をもった擬似乱数が実際には用いられている。

擬似乱数生成器

擬似乱数を生成するソフトウェアを擬似乱数生成器と呼ぶ。擬似乱数生成器は内部状態を持ち、外部から与えられたシード値をもとに擬似乱数を生成する。

具体的な擬似乱数生成器

  • 線形合同法
  • 一方向ハッシュ関数を使う方法
  • 暗号を使う方法
  • ANSI X9.17