多くのセキュリティ技術は安全性の根拠を乱数に依存している. そのためハードウェアによる真性乱 数生成器(True Random Number Generator; TRNG)は, セキュリティの基盤技術として重要である. 熱 雑音など物理乱数を利用したTRNGが実用化されているが, 実装にアナログ回路が必要であるため論理 LSIへの集積が難しい. デジタル回路だけでTRNGを構成できれば論理LSIへ集積可能になるため有用で ある.
デジタル回路で実装可能なTRNGとして, メタスタビリティを利用する回路が提案されている. メタス タビリティを利用したTRNGは乱数品質の維持が難しく, カスタムLSIで実装された例がほとんどである. 本研究ではRSラッチのメタスタビリティを利用したTRNG (ラッチ型TRNG)をFPGA (Field Programmable Ga te Array)で実装し, その乱数品質と生成速度を報告する. FPGAはRAM (LUT)とスイッチで構成されるLSIで, 回路構成に制限がある. そのため, FPGAで実装可能であればカスタムLSIでも実装可能である. また, FP GAは近年広く利用されているため, FPGAで実装可能であることはそれ自体が実用的価値が高い.
一般に,ラッチのセットアップ時間やホールドタイム違反が起こると,メタスタビリティが発生する. メタスタビリティが発生したラッチは準安定状態から, 1もしくは0の安定状態に移行する. メタスタビ リティを利用したTRNGではこれを利用して乱数を生成する. 本研究ではRSラッチのメタスタビリティを利 用したラッチ型TRNGを実現する. FPGAに実装したラッチから高い品質の乱数を得ることは難しいため, 複 数のラッチの出力をXORすることによって乱数品質を維持する. また, 少ない数のラッチでTRNGを実現する ためにラッチに実装上の工夫を施す.
作成したTRNGはXilinx Virtex4 FPGA XC4VFX20に実装し,NIST テストに後処理なしで通過することを 確認した.ラッチ128個からなるTRNGで,回路規模290 Slice,生成速度8.33 Mbpsを実現した.