日記書きました。「SnakeCube、RSA2048の記録を更新(3)」
https://note.idletime.be/diary/202008.html#c0827
暗号プロセッサSnakeCubeがXilinxのFPGAでRSA 2048bitを1.74[ms]で演算できました!
8月13日の3.05[ms]から記録更新しました。
モンゴメリ乗算器を1個から2個に増加させています。これで1999年のICF3によく似た暗号プロセッサになってます。
モンゴメリ乗算器の周波数は250MHzだったのが236MHzに下がってますが、暗号プロセッサによって並列動作させているため1.75倍の高速化になっています。
測定に使用したFPGAボードはDIGILENTのArty、FPGAはXilinxのXC7A35TICSG324-1Lです。RSA 2048bit (Private crt)、1回の演算時間が1.74[ms]
暗号プロセッサSnakeCubeがXilinxのFPGAでRSA 2048bitを3.05[ms]で演算できました!
この暗号プロセッサが日本に明るい将来をもたらすと思っています。商機を逃がさないようにするためには障害の排除を急ぐべきなのかもと思っています。
測定に使用したFPGAボードはDIGILENTのArty、FPGAはXilinxのXC7A35TICSG324-1Lです。RSA 2048bit (Private crt)、1回の演算時間が3.05[ms]
このFPGAには乗算器(24×17)が90個あるのですが、RSA暗号では多数の乗算器に有効な演算をさせることが難しく、これまであまり高性能、高効率なもを作ることができていません。僕の発明と僕が1999年に製品化した暗号プロセッサにより乗算器に有効な演算を連続してさせることが可能になりました。
今回は90個の乗算器のうち45個で約75%の利用率を達成させて3.05[ms]の性能を出しています。演算器は1032bitですがCRTを使うことで2048bitのRSAを演算しています。暗号プロセッサも、役に立っているということです。乗算器の周波数は250MHzです。Xilinxのデータシートには最大290MHzで動作することが書かれています。乗算器の構成を変更すると最大464MHzになるらしいですが250MHzが実用的な限界かも。記録だけを考えるなら、もっと周波数を上げることはできるかもしれないですが。SSLアクセラレータの製品にすることを考えているため。
周波数を決めているのはデータ系のパイプラインではなく最下位ビット近辺の演算をブロッド・キャストするところです。データ系のパイプラインの周波数だけを示して高速だと言っている海賊版があるので念のため。
DSP(乗算器を含んだ小さいプロセッサ)では5サイクルに4回、有効な乗算をしています。空いている1回でシフトレジスタの役割をしていることとも効率がいい要因になっています。
暗号プロセッサ1個、乗算器(45個)×1でFPGAのリソースの60%を使っています。これから45個と43個の乗算器2個になるような改善をしてArtyでの記録更新を狙います。成功する保証はありませんが、成功したら、記録更新の報告をします。
図は、正しく計算できたことをLEDを使って1バイトづつ表示させるためのArtyのLEDとスイッチ、ボタンの配置です。
日記書きました。「RSA 2048bitの暗号プロセッサがFPGAの実機で動作!」
https://note.idletime.be/diary/202008.html#c0802
#RSA #SSL
日記書きました。「米中『半導体戦争』が緊迫している」
https://note.idletime.be/diary/202007.html#c0708b
半導体130nmプロセスがGoogleとSkyWaterによって誰でもアクセスできるようになったとか。
https://github.com/google/skywater-pdk
セルライブラリもあるみたいだから8bit CPUのICF3-Zも、すぐ作れるってことなんだろうか。
参考までに言うと1999年のICF3は270nmだからICF3より、さらに微細なプロセスのようです。
もしかして、署名端末のICF3-Z + OpenICF3 + UARTも入るくらいなのかな。えー!
fabcrossに掲載されたショート版、拡散しやすい文章なので拡散よろしくお願いします。
ICF3-Zプロジェクト、制限の緩いライセンスのオープンソースCPU「ICF3-Z」をGitHubに公開|fabcross https://fabcross.jp/news/2020/20200615_ifc3z_cpu_github.html
#zevios #自作CPU #OSS
ICF3(1999年)のオープンソースのライセンスを変更しました(2020年6月12日)
サイトの文章を更新して8bit CPU ICF3-Zが大ヒットしそうなくらい綺麗になっています😀
https://openicf3.idletime.tokyo/
日記書きました。「市内に有名ICカード企業が」
https://note.idletime.be/diary/202005.html#c0502
日記書きました。「暗号プロセッサの仕様で何が難しかったのか」
https://note.idletime.be/diary/202004.html#c0430a
日記書きました。「暗号プロセッサのIPビジネスが立ち上がるかも」
https://note.idletime.be/diary/202004.html#c0430
日記書きました。「日立中央研究所のICチップの論文」
https://note.idletime.be/diary/202004.html#c0423
日記書きました。「SnakeCubeのRSA暗号のコード公開(4月22日)」
https://note.idletime.be/diary/202004.html#c0422
日記書きました。「シミュレータにVERSALモードを追加」
https://note.idletime.be/diary/202004.html#c0421a
日記書きました。「SnakeCubeがIntel FPGAに実装できるか」
https://note.idletime.be/diary/202004.html#c0420
日記書きました。「SnakeCubeのRSA暗号のコード公開」
https://note.idletime.be/diary/202004.html#c0419
日記書きました。「 暗号プロセッサのシミュレータが動いた!」
https://note.idletime.be/diary/202004.html#c0416a
ブログ書きました。「巨大整数用四則演算プロセッサSnakeCubeが高速である秘密」
https://icf.hatenablog.com/entry/2020/04/05/143527
日記書きました。「米国の学会であるACMの論文とSnakeCube」
https://note.idletime.be/diary/202004.html#c0402
GoogleのストアでTitan Security Keyを買ってみた。
今頃なのかという話もあるが。
https://store.google.com/product/titan_security_key