1

我需要使用非对称密钥加密方案签署一个小字符串。签名将与签名字符串一起存储在一个小芯片上。我几乎没有多余的空间(签名 + 字符串大约 60 字节),所以生成的签名应该尽可能小。我四处寻找如何去做,我发现我可以使用 RSA-SHA1,但生成的 512 位密钥签名是 64 字节。这有点多。我可以使用什么安全算法来生成小的非对称签名?如果我存储 RSA-SHA1 签名的 SHA1 总和,然后再验证它,它仍然安全吗?

4

1 回答 1

0

您在这里遇到的是良好哈希函数的属性之一- 返回值应该很长以防止生日攻击(其中两个不同的输入导致相同的输出哈希)。通常首选 128-512 位,因此 SHA-1 签名为您提供 512 位。

与密码学中的所有事物一样,安全性是一种权衡。当您使用非对称签名时,您是否考虑过使用RSA-MD5作为您的签名选项?这将为您提供更短的 128 位返回,但这伴随着 MD5 被认为已损坏并且通常被移走的警告。

于 2013-09-11T13:47:31.767 回答