sci.cryptで流れてた面白い記事をちょっとfj.sci.cryptに引っ張ってきてみよう。

"Wei Dai" <usenet@weidai.com> writes:

> There was some discussion here a while ago about the possibility of
> using GPUs (Graphics Processing Units) to speed up
> cryptography. NVIDIA recently released some information about the
> integer performance of their new GeForce 8800 GTX GPU. It seems to be
> the first mass market GPU that can do 32-bit integer multiplications,
> and they take 8 cycles each according to the specs. [1] The 8800 GTX
> has 128 ALUs running at 675 MHz.
> 
> I seem to recall that a 120 MHz Pentium could do a 32-bit
> multiplication in 10 cycles, and about 10 1024-bit RSA decryptions per
> second. GeForce 8800 GTX seems to be roughly 700 times as fast, so
> maybe it can do 7000 1024-bit RSA decryptions per second. By
> comparison, a 2.4 GHz Intel Core 2 Quad in 64-bit mode can do 6000
> 1024-bit RSA decryptions per second when using all four cores. [2]
> 
> This seems rather disappointing since I was expecting a big jump in
> performance from all the hype about GPGPU/stream computing. Anyone
> want to sanity check my numbers and see if I dropped a zero somewhere?
> 
> [1]
> http://developer.download.nvidia.com/compute/cuda/0_8/NVIDIA_CUDA_Programming_Guide_0.8.pdf
> [2] http://libtomcrypt.com/ltc113.html

いまどき、ビデオチップは3D演算用にGPUをつむのがあたりまえになっていますが、
そのGPUを暗号化に使うと効率がよくなるのではないかという話です。

120MHzのPentiumは10サイクルで32ビット乗算を行え、1024bit RSAで
10Blocks/secで処理できます。

GeForce 8800 GTXでは 700倍の速さで実行できそうです。
(ALUの数が128でクロックが675MHzなので、128*675/120=720ってことですね。)
ALUの単位計算速度が考えてられなかったり演算幅32bitを使う必要性なんかも
ちょっと疑問ですが。

ちなみに、2.4GHz Core2 Quad プロセッサは6000Blocks/secだそうです。



個人的には、最近の暗号ソフトウェア実装でホットなのは、並列実装による
共通鍵ブロック暗号の高速化です。長いレジスタをもつアーキテクチャのほうが
おいしいのですが、GPUでももしかしたら早くなるのかなぁ。
-- 
I LOVE SNOOPY!  でつ
Yoshitaka Ikeda mailto:ikeda@4bn.ne.jp
My Honeypot: honey@4bn.ne.jp  <-don't send this address