我使用的是Java库jose4j。有一个可以使用的数字签名算法列表。
我试图了解算法的优缺点,但是Google搜索"HMAC vs RSASSA-PKCS1-V1_5“没有返回结果。
这些算法的优缺点是什么?
发布于 2015-06-18 13:29:07
我的答案不是原创的,因为我只是简单地总结不同的问题已经在这个网站解决的信息。尽管如此,我还是觉得把所有的东西集中在一个答案里是很有趣的。
您必须知道的第一件事是区分数字签名和消息身份验证代码(MAC)。在这种情况下,HMAC是一个MAC,其余的(RSA和ECDSA)是数字签名。
对前一个问题的回答为您提供了两个类别的不同特性的极好的概述。如您所见,HMAC与传统数字签名的主要区别是:
这是它们之间的第一个差异因子。现在,我们可以集中讨论数字签名方案的不同之处:
在这种情况下,主要的区别不是关于功能,而是关于基本的数学原语,即RSA对椭圆曲线。这也是在此之前。总之,其含义主要集中在性能、键大小、实现等方面。
最后,该其他答案讨论了RSASSA和RSASSAPKCS1-V1_5的区别。总之,这种区别主要是关于安全性证明的理论上的差异。
https://crypto.stackexchange.com/questions/26382
复制相似问题