Comparison of signature and verification speed between RSA and ECDSA (ECC)

Japanese Version

Assumption

Investigated with OpenSSL’s speed command.
https://www.openssl.org/docs/man1.1.1/man1/openssl-speed.html

PC Specs
AMD Athlon Silver 3050U with Radeon Graphics 2.30 GHz

Results

RSA has low signing speed and high verification speed.
ECDSA has high signing speed and low verification speed.
Therefore, by installing ECDSA TLS server certificates in web servers that have TLS server certificates, the CPU and memory usage of the web servers can be reduced.
In addition, RSA 2048, which has a security strength of 112, is only allowed to be used until 2030/12/31 under the NIST Special Publication 800-57 Part 1 Revision 5 guidelines for cryptographic key management.

RSA

cryptographic
algorithms
Security Strengthsign/sverify/sSignature Count ComparisonVerification Count Comparison
RSA 2048 bits112926.229368.21/25th of ECDSA 256ECDSA 256 3 times
RSA 3072 bits128300.914242.31/77 times of ECDSA 256Double the ECDSA 256
RSA 4096 bitsGreater than 128
Less than 192
128.38299.01/5 of ECDSA 38413 times higher than ECDSA 384
RSA 7360 bits19214.92419.41/40 of ECDSA 3844 times the ECDSA 384
RSA 15360 bits2562.8634.11/93 of ECDSA 521Twice that of ECDSA 521
参照:https://www.ipa.go.jp/files/000055490.pdf

ECC

cryptographic
algorithms
Security Strengthsign/sverify/sSignature Count ComparisonVerification Count Comparison
ECDSA 256 bits12823119.08774.725 times greater than RSA 2048
77 times greater than RSA 3072
1/3 of RSA 2048
1/2 of RSA 3072
ECDSA 384 bits192586.7642.45 times greater than RSA 4096
40times greater than RSA 7360
1/13 of RSA 4096の
1/4 of RSA 7360
ECDSA 521 bits256259.7310.793times greater than RSA 153601/2 of RSA 15360
参照:https://www.ipa.go.jp/files/000055490.pdf

Command Execution Result

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

Related Sites

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