我一直在使用ecdsap256(nistp256)应用程序对openssl speed进行台式机标记测试,并得到了以下结果。
./openssl speed -elapsed ecdsa
OpenSSL 1.1.1n 15 Mar 2022
built on: Fri Jul 29 08:48:14 2022 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DZLIB -DNDEBUG
sign verify sign/s verify/s
160 bits ecdsa (secp160r1) 0.0002s 0.0002s 4916.7 4923.6
192 bits ecdsa (nistp192) 0.0003s 0.0002s 3936.7 4184.7
224 bits ecdsa (nistp224) 0.0004s 0.0003s 2672.5 2960.2
256 bits ecdsa (nistp256) 0.0000s 0.0001s 42865.3 13915.1
384 bits ecdsa (nistp384) 0.0010s 0.0008s 1027.2 1281.3
521 bits ecdsa (nistp521) 0.0022s 0.0017s 444.8 582.7
163 bits ecdsa (nistk163) 0.0003s 0.0005s 3938.3 1969.7
233 bits ecdsa (nistk233) 0.0004s 0.0007s 2825.4 1428.3
283 bits ecdsa (nistk283) 0.0006s 0.0012s 1680.2 851.9
409 bits ecdsa (nistk409) 0.0010s 0.0019s 998.3 523.9
571 bits ecdsa (nistk571) 0.0022s 0.0042s 462.3 239.6
163 bits ecdsa (nistb163) 0.0003s 0.0005s 3677.1 1862.8
233 bits ecdsa (nistb233) 0.0004s 0.0007s 2699.5 1343.3
283 bits ecdsa (nistb283) 0.0006s 0.0012s 1570.0 805.3
409 bits ecdsa (nistb409) 0.0011s 0.0020s 942.2 495.5
571 bits ecdsa (nistb571) 0.0023s 0.0045s 432.2 224.7平台
Operating Sytem: Ubuntu 16.04 LTS
Memory: 15.4 GiB
Processor: Intel® Core™ i7-7500U CPU @ 2.70GHz × 4 有人能解释为什么nistp256速度和其他曲线之间的巨大差异吗?
这是测试ECDSA签名算法CPU性能的正确方法吗?
发布于 2022-08-07 00:00:29
这条曲线,作为一个命名的曲线,有一个特殊的专用实现,他们已经优化了它,仅仅是因为它是如此常用。大多数其他曲线都通过更通用的EC例程。
https://github.com/openssl/openssl/tree/master/crypto/ec
目前看来,secp256r1、secp521r1、secp224r1和curve25519都是特例。
https://stackoverflow.com/questions/73204130
复制相似问题