首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JWT的数字签名算法有哪些优点?

JWT的数字签名算法有哪些优点?
EN

Cryptography用户
提问于 2015-06-18 12:06:34
回答 1查看 3.9K关注 0票数 9

我使用的是Java库jose4j。有一个可以使用的数字签名算法列表。

  • 使用SHA-2的HMAC
  • 带有SHA-2的RSASSA-PKCS1-V1_5数字签名
  • SHA-2椭圆曲线数字签名(ECDSA)
  • 带有SHA-2的RSASSA-PSS数字签名

我试图了解算法的优缺点,但是Google搜索"HMAC vs RSASSA-PKCS1-V1_5“没有返回结果。

这些算法的优缺点是什么?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2015-06-18 13:29:07

我的答案不是原创的,因为我只是简单地总结不同的问题已经在这个网站解决的信息。尽管如此,我还是觉得把所有的东西集中在一个答案里是很有趣的。

您必须知道的第一件事是区分数字签名和消息身份验证代码(MAC)。在这种情况下,HMAC是一个MAC,其余的(RSA和ECDSA)是数字签名。

对前一个问题的回答为您提供了两个类别的不同特性的极好的概述。如您所见,HMAC与传统数字签名的主要区别是:

  • HMAC使用对称密钥(因此双方必须共享一个共同的秘密),而数字签名使用非对称密钥(即公钥密码,因此验证器使用秘密密钥,验证器使用关联的公钥)。这对性能也有影响,因为对称密码通常要快得多。
  • 数字签名提供了原产地的不可否认性,而HMAC则没有。

这是它们之间的第一个差异因子。现在,我们可以集中讨论数字签名方案的不同之处:

  • 带有SHA-2的RSASSA-PKCS1-V1_5数字签名
  • SHA-2椭圆曲线数字签名(ECDSA)
  • 带有SHA-2的RSASSA-PSS数字签名

在这种情况下,主要的区别不是关于功能,而是关于基本的数学原语,即RSA对椭圆曲线。这也是在此之前。总之,其含义主要集中在性能、键大小、实现等方面。

最后,该其他答案讨论了RSASSA和RSASSAPKCS1-V1_5的区别。总之,这种区别主要是关于安全性证明的理论上的差异。

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

https://crypto.stackexchange.com/questions/26382

复制
相关文章

相似问题

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