首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非对称HMAC

非对称HMAC
EN

Stack Overflow用户
提问于 2012-03-28 04:17:55
回答 1查看 2.9K关注 0票数 5

验证HMAC生成的散列需要验证器知道密钥。所以它是对称的。除了SSL之外,还有什么类似的非对称解决方案?因为我想要签名更小,就像md5散列一样。并且生成和验证过程是轻量级的。我检查了Rabin的签名算法,但找不到任何实现或伪代码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-28 04:21:14

最小的非对称签名来自像ECDSA这样的elliptic curve密码系统。ECDSA签名方案需要的签名长度大约是同等安全性的对称密钥长度的四倍。因此,在安全性上可与128位AES相媲美的方案将具有512位签名。这就是目前的技术水平--签名较小但安全性相同或更高的方案尚不为人所知。

如果你不需要那么高的安全性,你可以使用192位的曲线,这将导致384位的签名。您可以使用320位签名(160位曲线),但仍然具有与80位对称密码相当的安全性。如果您真的不太关心安全性,可以使用112位曲线,提供与DES一样难以破解的224位签名。

以下曲线是我为每个安全级别推荐的曲线:

SecP112R1:224位签名,56位安全级别

SecP128R1:256位签名,64位安全级别

SecP160K1:320位签名,80位安全级别

SecP192K1:386位签名,96位安全级别

SecP224K1:448位签名,112位安全级别

SecP256K1:512位签名,128位安全级别

对于每条曲线,私钥与曲线的大小相同。公钥(压缩形式)比曲线大小大一点。签名是曲线大小的两倍。因此,对于SecP256K1,私钥是256位,公钥是257位,签名是512位。这些是原始二进制值的最小大小。

Caution:我认为160位曲线对于任何需要考虑安全性的目的来说都是最低要求。如果在较小的时间范围内生成、使用并丢弃关键点,则可能适合使用较小的曲线。为了长期安全,应使用256位曲线。系统作为一个整体,在被依赖之前,应该由有能力的专家进行评估。

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

https://stackoverflow.com/questions/9897023

复制
相关文章

相似问题

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