首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么带有P-256(​NIST曲线P-256/​SHA-256)曲线的ECDSA符号比其它曲线要快得多?

为什么带有P-256(​NIST曲线P-256/​SHA-256)曲线的ECDSA符号比其它曲线要快得多?
EN

Stack Overflow用户
提问于 2022-08-02 08:17:38
回答 1查看 243关注 0票数 1

我一直在使用ecdsap256(nistp256)应用程序对openssl speed进行台式机标记测试,并得到了以下结果。

代码语言:javascript
复制
./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

平台

代码语言:javascript
复制
Operating Sytem: Ubuntu 16.04 LTS
Memory: 15.4 GiB
Processor: Intel® Core™ i7-7500U CPU @ 2.70GHz × 4 

有人能解释为什么nistp256速度和其他曲线之间的巨大差异吗?

这是测试ECDSA签名算法CPU性能的正确方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-07 00:00:29

这条曲线,作为一个命名的曲线,有一个特殊的专用实现,他们已经优化了它,仅仅是因为它是如此常用。大多数其他曲线都通过更通用的EC例程。

https://github.com/openssl/openssl/tree/master/crypto/ec

目前看来,secp256r1、secp521r1、secp224r1和curve25519都是特例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73204130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档