小型便携式数字签名和验证库

时间:2013-01-25 17:51:00

标签: c public-key-encryption

我正在寻找一个允许我验证发送到嵌入式模块的数据的库。由于硬件限制,它需要占用空间小(代码和内存方面),并且具有与RSA-1024相当的安全性。

要求如下

  • 验证嵌入式模块(自定义CPU,只提供C89编译器)
  • 在Windows中签名和验证(C / C ++代码)
  • 使用Java签名(某些数据需要通过网页生成,因此Java将是一个很大的特权)

我非常希望不必自己实现类似PKCS#1 v1.5 / PSS的系统,但是我找不到符合上述要求的好库。开源很不错,但商业解决方案同样重要。请注意,我需要访问C代码,因为必须为自定义CPU重新编译。

NaCl看起来很有希望,但似乎仍处于发展阶段。

我看过OpenSSL,但它比数字签名做得更多,只删除签名验证码非常重要。

我看错了吗? 我首先尝试实现SHA + RSA,但我不确定填充步骤是否正确(这意味着它可能不安全),所以我决定在这里发帖而不是寻求帮助。

编辑:澄清,只有验证部分有严格的限制。签名和密钥生成将在普通PC上运行。

2 个答案:

答案 0 :(得分:3)

看看mbed TLS(以前称为PolarSSL):

  mbed TLS(以前称为PolarSSL)使开发人员能够轻松地在其(嵌入式)产品中包含加密和SSL / TLS功能,并以最小的编码占用空间来实现此功能。

答案 1 :(得分:1)

如何实现这样的解决方案与我们可用的CPU和内存架构有关,因此必须告诉我有关您的系统的更多信息。第一种方法是在云上开发它。另一种选择是SCL。此外,您可以在Small RSA or DSA lib without dependencies

上找到一些答案