【问题标题】:Small portable digital signing and verification library小型便携式数字签名和验证库
【发布时间】:2013-01-09 18:04:48
【问题描述】:

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

要求如下

  • 嵌入式模块验证(定制 CPU,仅提供 C89 编译器)
  • Windows 中的签名和验证(C/C++ 代码)
  • 用 Java 登录(一些数据需要通过网页生成,因此 Java 将是一大优势)

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

NaCl 看起来很有希望,但它似乎仍在开发中。

我查看了OpenSSL,但它的功能远不止数字签名,而且仅去除签名验证码并非易事。

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

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

【问题讨论】:

  • 你是怎么解决这个逻辑的?..现在我也需要同样的。如果你给我一些有用的链接,对我会有帮助。

标签: c public-key-encryption


【解决方案1】:

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

【讨论】:

  • SCL 是 C++,所以不幸的是它对我没用。那个线程很好,但我正在寻找一个介于简单的 RSA 实现和成熟的 SSL/加密包之间的东西。不必关心证书会很好(因为嵌入式模块很可能会嵌入公钥)。
  • 我会接受这个答案,因为它至少接近我正在寻找的东西,尽管它并没有让我一路走好
【解决方案2】:

看看mbed TLS(原名PolarSSL):

mbed TLS(以前称为 PolarSSL)使开发人员可以非常轻松地在其(嵌入式)产品中包含加密和 SSL/TLS 功能,从而以最小的编码占用空间促进此功能。

【讨论】:

  • 几个月前我检查了它,但有些东西不符合我的要求。不过我会仔细看看。谢谢
  • 很难相信没有实际列出许可价格的商业产品。
  • “被告知安全问题”是一项高级商业功能也很粗略。
  • 网站证书似乎已过期(停业?)
  • 更新了当前网站的链接。我不使用这个;只是提到它,因为我在 2012 年左右看过这个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多