RSA暗号プロセッサSnakeCubeがFPGAで初めて動作!

テクノロジー



RSA暗号プロセッサSnakeCubeが初めて動作したという記念動画。SnakeCubeは高性能、高効率なRSA暗号プロセッサです(楕円暗号も演算できます)。次世代ICカード向けの重要な技術が、FPGAによる実機で動作したことを記録したもの。これは48bitの演算器ですがSnakeCubeのアーキテクチャは1032bitへ容易に拡張できるので近いうちに1032bit版が動作すると思われます。最初にリセットボタンを押すとRSA暗号が計算され、ボタンを押すごとに1バイトつづ演算結果を表示します。2020年7月30日に初動作、正しいRSAの演算結果であることが確認。最後にスイッチを入れて青のLEDを点滅させます。この点滅の速度でクロック周波数が測定できる仕組みになっています。最初の目標である250MHzでの動作が確認できました。
FPGAボードはDIGILENTのArty。
FPGAはXilinxのXC7A35TICSG324-1L。
1032bitの演算器でRSA 2048bitが演算できます。ICカード向けでは2048bitの演算器にしたほうが良いのかもしれませんが、まずはSSLアクセラレータを作っていきます。SSLアクセラレータでは性能重視なので1032bitなのです。

参考URL 「クレジットカードのICチップの高速化」
https://note.com/spinlock/n/nc736445f28f4

2020年8月2日追記
1032bitのSnakeCubeが、この動画と同じFPGAボードで動作。周波数も同じ250MHz。
RSA 2048bitの1回の演算時間は約3.3msになります。性能は現在も改善を試みているところです。
このFPGA、XC7A35TICSG324-1LはArtix-7のスピードグレード-1、つまり一番遅いもの。
実装面積約60%で、この性能は高性能だと思います。

Comments

Copied title and URL