Home

連絡先

e-mail : openicf3 e-mail



RSS

「平山直紀の開発日記」のRSSです。8bit CPU WZeta、 8bit CPU ICF3-Zの情報や開発状況、 暗号プロセッサSnakeCubeの情報や開発状況を発信しています。

https://note.idletime.be/diary/note.xml


SNS

Twitter : Naoki Hirayama
Mastdon : spinlock

このサイトの管理者は、1999年にRSA暗号で世界一のLSIの開発者で OpenICF3プロジェクトのリーダです。 このサイトの情報やSNSでの発言について、あまり過信せずに、 必要があれば直接、ご連絡いただいたほうが良さそうです。 マストドン「mstdn.jp」は課金できていないので安定性について不明。


このICF3の公開について日立製作所に退職時(2005年6月)に許可をいただいています。 最近、当時の事情を知らない汎用コンピュータ事業部(現在 ICT事業統括本部)の人事部の方より連絡をいただいていますが、前述の通りであります。
退職するときに競合他社に自分の設計したものを持って行ける権利(無制限になんであり)を日立製作所に保証してもらってます。 日立製作所と正式な打ち合わせをして1回の打ち合わせで成立しました。

ICF3のRSA演算器、つまり今、話題になっているIoTデバイスにある電子証明書の秘密鍵を守れる暗号コプロ(暗号プロセッサ)は、当時、まだ新しかったモンゴメリ乗算の英文の解釈からゲートに分解して配線されたファイルを作成するまで平山 直紀が1人でやっています。 そして一般的なLSI開発ではレイアウト設計があるのですが、ICF3のRSA演算器はレイアウト設計があまりいらないようにゲートに分解しています。この結果、レイアウト設計から論理設計に戻されることなく1回のレイアウト設計で若干修正されただけで、LSIが完成しています。 要するに1人で作られたもので、その開発者が日立製作所にいないので、こちらにお問い合わせいただいたほうがいいということです。


ICF3 RSA暗号LSIの開発を終えて

いかがでしたでしょうか? 日本人がRSA暗号で1999年に世界一の記録を達成していた事実を知って、良くやったと褒めていただけると、ありがたいなと思っております。 そして、この記録が日立の技術ではなく、僕個人によるものだったことを知ると落胆する人もあるかもしれません。 雑用係だった僕に会社は無理難題を押し付けたはずが、突貫工事の末、世界一を達成してしまった話です。 幸運にもIBM互換幾としてフルスペックの仕様を満たすものとなりICF3の暗号装置を持つメインフレームは、欧州に良く売れ、富士通のIBM互換幾よりも優位だったようです。 僕のいた開発部に論理設計が得意な人はいるにはいたのですが、質問することはほとんどなかった、そもそも算術演算のLSIの開発経験はないように思います。他部署でRSA 512bitのLSIを開発した話を聞きに行きましたがアルゴリズムが古すぎて役には立たなかった。 (ただMulti2の性能向上に役立つ技術はあってICF3でも使われている) LSIの論理は基本的にはAND/ORの組み合わせです。会社の電子物理の知識を知ることなくできます。 感のいい人なら、急速にできるようになることもあると思います。
RSA暗号を高速化するモンゴメリ乗算には、いろいろな実装方法があります。 ハードウェア論理実装が、得意ではないところだとICF3とは異なり汎用のCPUコアを利用した実装を選択することになったかもしれません。 思っているよりも複雑な制御が必要なのです。 またICF3が登場する前に世界一だったFastMapというLSIはPowerPCのCPUコアを持っていました。 するとCPUコアを購入するところから、始まるため開発が始動しません。 ICF3のように1024bitレジスタの制御部にちょっとマイクロコードが動くような仕組みを作ってしまったほうが安くて効率がいい。


メインフレームを1年に1機種開発していた部署でした。 当時まだ珍しかったモンゴメリ乗算をメインフレームに実装するか否か、 1か月後の打ち合わせまでに決めるように言われました。時間切れで、今回は従来アルゴリズムで 開発するべきだと東大卒の上長に進言したが、モンゴメリ乗算の演算器のディレイ改善方法を示されて モンゴメリ乗算を採用することになった事実は決して忘れてはならない重要事項です。

僕が時期尚早と思った理由はモンゴメリ乗算のR^(-1)の解釈についてです。 当時、大学では数学科でもない限り暗号の授業はありません。開発部に数学科はいなかった。 外部の数学科が見てトランジスタ(論理ゲート)に変換されたものを見て、正しく公式が運用できているのかを、 判断するのは難しい。とりわけ銀行に販売する責任の問題が大きい。 開発部はガロア体とか有限体を理解しているわけもなく、ブラックボックスな公式に当てはめるだけで正しい計算結果が、 出ているだけだということに気づけていなかったです。このことは後の会話で僕が悟ことに成功しています。 問題を簡単に説明するなら-1という記述は、普通の-1乗に似た性質を持っているから-1と 書かれている可能性があることを思いつかなければいけなかったのです。普通の-1だと思って 公式を運用すれば、大事故になることがありえた。ここに数学の才能が必要だったのです。 この話は、数学の才能が、どうして必要なのかを説明する、とてもいい話になるだろうと考えています。 東大卒の人たちにとって、とても不幸な話ではありますが。