RSAとECDSA(ECC)の署名・検証速度比較

English Version

環境

OpenSSLのspeedコマンドで調査。
https://www.openssl.org/docs/man1.1.1/man1/openssl-speed.html

PCスペック
AMD Athlon Silver 3050U with Radeon Graphics 2.30 GHz

結果

RSAは、署名速度が遅く、検証速度が速い。
ECDSAは、署名速度が速く、検証速度が遅い。
そのため、TLSサーバー証明書を導入しているウェブサーバーでは、ECDSAのTLSサーバー証明書を導入することにより、ウェブサーバーのCPU、メモリ使用量の低減が図れる。
また、セキュリティ強度が112であるRSA 2048は、暗号鍵管理のガイドライン NIST Special Publication 800-57 Part 1 Revision 5において、2030/12/31までしか使用が許容されていない。

RSA

暗号アルゴリズム
cryptographic
algorithms
セキュリティ
強度
署名回数/秒
sign/s
検証回数/秒
verify/s
署名回数比較検証回数比較
RSA 2048 bits112926.229368.2ECDSA 256の1/25倍ECDSA 256の3倍
RSA 3072 bits128300.914242.3ECDSA 256の1/77倍ECDSA 256の2倍
RSA 4096 bits128より大きく
192未満
128.38299.0ECDSA 384の1/5倍ECDSA 384の13倍
RSA 7360 bits19214.92419.4ECDSA 384の1/40倍ECDSA 384の4倍
RSA 15360 bits2562.8634.1ECDSA 521の1/93倍ECDSA 521の2倍
参照:https://www.ipa.go.jp/files/000055490.pdf

ECC

暗号アルゴリズム
cryptographic
algorithms
セキュリティ
強度
署名回数/秒
sign/s
検証回数/秒
verify/s
署名回数比較検証回数比較
ECDSA 256 bits12823119.08774.7RSA 2048の25倍
RSA 3072の77倍
RSA 2048の1/3倍
RSA 3072の1/2倍
ECDSA 384 bits192586.7642.4RSA 4096の5倍
RSA 7360の40倍
RSA 4096の1/13倍
RSA 7360の1/4倍
ECDSA 521 bits256259.7310.7RSA 15360の93倍RSA 15360の1/2倍
参照:https://www.ipa.go.jp/files/000055490.pdf

コマンド実行結果

openssl speed rsa2048 rsa3072 rsa4096 rsa7680 rsa15360 ecdsap256 ecdsap384 ecdsap521
Doing 2048 bits private rsa's for 10s: 8727 2048 bits private RSA's in 9.42s
Doing 2048 bits public rsa's for 10s: 283128 2048 bits public RSA's in 9.64s
Doing 3072 bits private rsa's for 10s: 2614 3072 bits private RSA's in 8.69s
Doing 3072 bits public rsa's for 10s: 141755 3072 bits public RSA's in 9.95s
Doing 4096 bits private rsa's for 10s: 1269 4096 bits private RSA's in 9.89s
Doing 4096 bits public rsa's for 10s: 82601 4096 bits public RSA's in 9.95s
Doing 7680 bits private rsa's for 10s: 138 7680 bits private RSA's in 9.27s
Doing 7680 bits public rsa's for 10s: 23854 7680 bits public RSA's in 9.86s
Doing 15360 bits private rsa's for 10s: 26 15360 bits private RSA's in 9.25s
Doing 15360 bits public rsa's for 10s: 6143 15360 bits public RSA's in 9.69s
Doing 256 bits sign ecdsa's for 10s: 218186 256 bits ECDSA signs in 9.44s
Doing 256 bits verify ecdsa's for 10s: 83908 256 bits ECDSA verify in 9.56s
Doing 384 bits sign ecdsa's for 10s: 5097 384 bits ECDSA signs in 8.69s
Doing 384 bits verify ecdsa's for 10s: 5862 384 bits ECDSA verify in 9.13s
Doing 521 bits sign ecdsa's for 10s: 2333 521 bits ECDSA signs in 8.98s
Doing 521 bits verify ecdsa's for 10s: 2961 521 bits ECDSA verify in 9.53s
version: 3.0.1
built on: Wed Dec 15 14:25:21 2021 UTC
options: bn(64,64)
compiler: cl /Z7 /Fdossl_static.pdb /Gs0 /GF /Gy /MD /W3 /wd4090 /nologo /O2 -DL_ENDIAN -DOPENSSL_PIC -D_USING_V110_SDK71_ -D_WINSOCK_DEPRECATED_NO_WARNINGS -D_WIN32_WINNT=0x0502
CPUINFO: OPENSSL_ia32cap=0x7ed8320b078bffff:0x209c01a9
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.001080s 0.000034s    926.2  29368.2
rsa 3072 bits 0.003323s 0.000070s    300.9  14242.3
rsa 4096 bits 0.007794s 0.000120s    128.3   8299.0
rsa 7680 bits 0.067142s 0.000413s     14.9   2419.4
rsa 15360 bits 0.355769s 0.001577s      2.8    634.1
                              sign    verify    sign/s verify/s
 256 bits ecdsa (nistp256)   0.0000s   0.0001s  23119.0   8774.7
 384 bits ecdsa (nistp384)   0.0017s   0.0016s    586.7    642.4
 521 bits ecdsa (nistp521)   0.0039s   0.0032s    259.7    310.7

関連サイト

タイトルとURLをコピーしました