首页 > 解决方案 > 如何在javascript中使用具有短签名的密钥对数据进行签名

问题描述

如何在javascript中签署具有私钥的数据?

我找到了一个很好的例子:example。在这个例子中,虽然签名真的很长。有没有可能变短?例如 6 个字符?

拥有签名短片确实是一种奖励。我如何首先在javascript中做到这一点?

谢谢!

标签: javascriptcryptographyprivate-key

解决方案


您指向的页面已经显示了 JavaScript 中的示例。

但是,您不能拥有由 6 个字符组成的非对称签名,因为它太小而无法在加密上是安全的。对于 6 个字符,有人简单地猜测签名的机会太大了。

您可以使用现有软件做的最好的事情可能是 64 字节 ECDSA 签名,用于 256 位素数曲线,例如 P256 / secp256r1 - 由 NIST 标准化。有一些方法可以将其降低到 32 个字节,但仅此而已。

如果您的问题允许对称加密,那么您可以使用 6 字节 MAC 而不是签名。六个完整字节对于 MAC 来说也太短了,但在某些情况下它可能已经足够好了。


推荐阅读