Follow

暗号プロセッサ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とスイッチ、ボタンの配置です。

Sign in to participate in the conversation
+Plustodon

Google"Plus to" Mas"todon"