暗号計算機屋のブログ

なにか思いついたことを不定期に更新。

ICF3のモンゴメリ演算器の図、初公開

1999年のICF3の開発で日立の研究報告書に掲載されたもの。僕が担当して書いた部分から引用しました。インターネット上では初公開だと思う。日立が別途、インターネット上で公開していなければですが。 山形大学 城戸淳二(早稲田 理工OBらしい)さんの白色有機ELノーベル賞の候補に上がるようになったとのことだ。Web上の研究室の研究内容には次のように書かれている。

有機半導体はその分子構造により無限のバリエーションを持ち、新しい材料の登場によってデバイス性能が飛躍的に向上する。

モンゴメリ乗算も、基数(2とか、2の2048乗とかの数字)によって、多くのバリエーションを持つ。このため自動生成でRSA暗号プロセッサを作る論文もあったようだ。

情報処理学会論文誌 Vol.51 No.9 1847-1858(Sep.2010) ■推薦論文■ RSA暗号プロセッサ自動生成システムの設計と評価 (ルネサス、日立中央研究所、東北大学)

この論文、製品実装できるレベルのものが自動生成できているとは思えないし、自動生成しやすい実装になっている時点で、最高性能は期待できないと思っている。いくつかの基数に絞って、それに最適な実装を開発したほうが、いいのではないだろうか。

さて、モンゴメリ乗算は炭素に例えることができる。炭素はダイヤモンドになったり、グラファイトになったりするのだが、モンゴメリ乗算も基数によってダイヤモンドの結晶構造や、グラファイトの結晶構造になる。原子=ANDゲートやORゲートなどの論理素子、と考える。論理素子の結合の仕方が、結晶に似ているという話。 昔、金沢大学だったろうか、2次元の結晶構造をもつRSA暗号演算器を研究していたように思うが、いろいろなところで、いろいろ研究されている。ICF3は1次元の結晶構造だが、これらをグラファイトに例えることができる。 一方、高基数のモンゴメリ乗算は3次元の結晶構造になりやすく、ダイヤモンドに例えることができるのです。高基数は理論的には高性能なのだが、実際にLSIの2次元平面状に配置して、RSA暗号の全工程を、計算させるには、非効率になる場合が多い。 IoTの暗号プロセッサとしてICF3のグラファイトの結晶構造が、今でも、有利だと思っているのです。

f:id:icf:20170819090233p:plain

演算器の図を解説すると、これは4bit分のモンゴメリ乗算器。一番、左の1bit分の演算器が、少し他と違っている。2048bitの演算器を作っても、異なるのは、一番、左の1bitだけ。