此卡执行rsa2048符号35K操作(操作/秒)。我的快速版本只有100次。
我找不到任何HSM纸有相同的性能水平。
我对这个问题很感兴趣。我知道modexp,montgomery,crt,PE阵列和其他一些电路技巧,但我不能达到如此高的性能。
有人能帮我一下吗?非常感谢。
发布于 2019-06-29 13:07:43
专门的硬件才是答案。这台机器使用异步计算,很可能使用并行Montgomery乘法器和4096位的本地寄存器(4096似乎是RSA的最大密钥大小,因此我们可以得出结论,这就是寄存器的大小)。在智能卡CPU中也可以找到类似的硬件。这些硬件速度不快,因为它们受到低功耗、相对慢(通常为8/16位)CPU和较大晶体管尺寸的TDP的阻碍。该解决方案要求OpenSSL 1.1利用英特尔QuickAssist硬件提供的异步API。
较新的英特尔芯片有向量化指令,这也有助于加速执行快速模幂运算所需的乘法和平方运算(任何RSA计算的基础)。然而,它们没有提供足够大小的Montgomery乘法器来超越完全专门化的硬件(实际上,矢量结构的使用可能很快导致处理器频率的过热和缩小)。
在软件方面,你不太可能打败专门的硬件;模块化指数不是一种廉价的操作(它比寻找RSA密钥对生成所需的大素数要快)。此外,您可能会快速实现不受侧通道攻击保护的实现,这是确保私钥安全的主要要求。
请注意,专用硬件不是RSA加速器(与硬件一起交付的软件确实提供了这种加速器)。它能更快地执行数学运算。例如,它也可用于加速(EC)DH和(EC)DSA。
https://crypto.stackexchange.com/questions/71613
复制相似问题