暗号プロセッサICF3について、その未来
暗号プロセッサICF3はRSA暗号の性能が世界一でした。1999年12月、大型コンピュータの暗号装置に搭載され、世界中の銀行などに納品されました。欧州に良く売れたそうです。私は開発者なので詳しくありませんが日本では外務省に納品されています。(詳しくは、下記のサイトにあります)
開発秘話については、別の機会にと思っているので、ここで簡単に説明すると、私、平山 直紀が早大理工学部電気工学科を卒業し、早大理工学研究科計算機工学専攻を修士で卒業(研究室の同期の中では成績1番で研究室に入ってます)、1994年に日立製作所に入社。中央研究所の超高速プロセッサ部に配属されましたが、ここに開発の実態はなく、すぐに神奈川県秦野市にある事業部に転勤。CPUを開発したくて会社に入りましたが、CPUの開発をやめてIBMのCPUを買う部署に入りました。電子回路シミュレーションや、大型コンピュータのCPUの交換作業などの雑用をしていました。なぜかアメリカのシリコンバレーに3か月行きました。帰ってから暗号LSI ICF1(1997年)の開発のリーダーとして雑用のような仕事をしました。次の年には暗号LSI ICF2(1998年)を開発。ICF1とICF2はDES演算器しか搭載されていませんでした。その後、課長に呼ばれ「RSA暗号の演算器を開発してみないか?」と言われ、「え、やっていいんですか?」と聞き返したような記憶があります。そして、あっという間に世界一高速なRSA暗号のLSIを開発したのです。自分で言うのも、なんですが、才能と計算機を自在に操作できる能力による個人技でICF3は完成しています。短期間に開発することが必要だったため、ICF3は作りやすいアーキテクチャになるように設計しました。この結果、すぐに旧式となってしまいました(当時は、そう思っていた)。2005年、退職するときに日立製作所とICF3を持って行く打ち合を開いてもらい、1回の打ち合わせでOKになりました。しかし当時はICF3は旧式となっていたため、転職先に持って行ってもあまり期待できないと思っていました。そしてそのまま11年の時が経過した2016年にICF3をオープンソースハードとして公開しました。当時の日立のCPU開発技術は高かったと思いますが、結局、私は仲間に入れてもらえず、暗号プロセッサを自力で開発してしまっため、私、個人でICF3をオープンソースハードとして公開できることになっているのです。
さらに2年が経過した2018年、ICF3の演算器の改良を思いついたのです。性能がかなり上がる予定です。大雑把にCPUは鍵長が2倍になると処理時間が8倍になります。改良型ICF3は鍵長が2倍になっても演算器の幅を2倍にすることで処理時間が4倍です。そして鍵長がさらに大きくなっていっても、ほぼ、鍵長2倍で処理時間4倍のペースを保つという特長があります。
以下の私のブログに、その方法の証明があります。証明は改良方式の一部だけなので、これだけで暗号演算ができるわけではありません。
ICF3の未来についてですが、インターネットの暗号化で使われる公開鍵暗号はCPUで計算するには処理が重いため、暗号プロセッサ(ICF3)を使ってサーバーの性能を改善することができます。最近、よく話題になっているIntel CPUの脆弱性の改善にも役に立ちます。量子コンピュータによってRSAや楕円暗号などの公開鍵暗号は解読される心配もあり、将来ICF3がどのくらい必要になるのか難しいですが、急に大きな鍵長のRSA暗号が最もいいということが起きれば、改良型ICF3をUSB接続なんかで、サーバーに刺すだけで、急場をしのぐことができるような気がしています。RSA暗号は楕円暗号よりも計算量の多い公開鍵暗号であるため楕円暗号に移行していくことも考えられますが、ブラウザによるhttps接続ではRSA暗号はサーバー側の処理が重く、クライアント側の処理が軽いため、モバイル環境における充電池の消耗が少ない。このためRSA暗号のSSL証明書も、今後も続いていくような気がします(はっきりとはわからない)。また、下記の記事から、量子コンピュータによる解読はRSA暗号よりも楕円暗号のほうが先という予想ができます。
「RSA-2048暗号は4100qubit、BitcoinのECCは2330qubitあれば解読できる」(Microsoft Matthias Troyer氏@SC18)
改良型ICF3(SnakeCubeと読んでいます)は、とても大きな整数の四則演算(剰余つき)を効率良く高速に演算できる演算器です。 RSAに限らず、応用範囲の広い技術です。電子マネーでの応用が期待されている準同型暗号のなかにPaillier暗号がありますが、こういった暗号を演算することも可能です。
このSnakeCubeのアーキテクチャは世界で長く使われるかもしれません。