【问题标题】:Free Encryption library for Delphi [closed]Delphi的免费加密库[关闭]
【发布时间】:2009-09-09 22:04:13
【问题描述】:

我正在为 Delphi 2010 寻找一个免费且最新的加密库,它实现了 RSA 和 AES (Rijndael)。

我想要一个免费库,因为我计划编写和发布一些将使用它的示例代码。

Delphi 2010 版本的 TurboPower LockBox 已发布到SongBeamer 站点,它实现了这两个功能,但我担心它有点过时了。例如,较小的 RSA 密钥大小并且多年来没有新的安全功能。

更新: 认为 LockBox 已过时或缺少重要功能的看法是否不正确?它仍然与生产开发相关吗? (尤其是 RSA 密钥大小)

【问题讨论】:

  • 加密如何“深入人心”?它仍然有效,对吗?算法就是算法。 :-)
  • 密码箱很简单,它应该仍然可以正常工作,SongBeamer 所做的端口是支持 Unicode。 2010 年的变化将是微不足道的,很可能会添加编译器版本检查。
  • @尼克。在您的一篇博客文章的评论线程中,Luigi 建议 LockBox 的 RSA 密钥大小现在对于某些应用程序来说太小了,并且它缺少一些更新的加密功能。这让我想知道还有哪些其他免费库可用。
  • @skamradt。 SongBeamer 网站上的 LockBox 更新已经适用于 Delphi 2010。
  • 密码箱没有非对称加密算法,对实际证书和 PKI 基础设施无效。我测试过的最好的delphi库是来自eldos的secureblackbox。它是 VCL,可与 X.509 和 PKI 一起使用。当然不是免费的。

标签: delphi encryption delphi-2010


【解决方案1】:

TurboPower LockBox 3.1.0 现已发布。它支持:

  • 德尔福 2007 和德尔福 2010
  • Delphi 2010 的 Unicode 字符串
  • AES、DES、3DES、Blowfish 和 Twofish 密码
  • 一长串区块链模式
  • MD5 和 SHA1 哈希
  • RSA 加密、解密、签名和验证
  • 可变长度 RSA 密钥 - 范围几乎没有限制。
  • D 单元测试代码
  • 自动加盐
  • IV 的适当管理(与 DCPcrypt 相比)
  • 白盒,免费和开源
  • 100% 可见的本机源代码(无 DLL)

http://sourceforge.net/projects/tplockbox/http://lockbox.seanbdurkin.id.au/

【讨论】:

  • 这不适用于 Delphi 2007
【解决方案2】:

RSA 算法不一定过时,但密钥大小很重要。它仍然在各地定期使用。如果 2030 年以后需要安全性,则应使用长度为3072 bits 的 RSA 密钥。这只是计算能力提高的一个功能,而不是算法的弱点。

SongBeamer 开始维护它之前,我正在查看 LockBox(Delphi 2007)我发现 RSA 不稳定 - 只是不时崩溃或产生错误的结果。不过,从那以后它可能已经修复了。如果您要使用它,请确保它支持您需要的密钥长度,然后使用已知的输入和输出创建一些自动化测试。确保它运行稳定。如果是,那么请务必使用它。

您还可以使用 Microsoft Crypto API 进行 RSA 加密。我为Delphi 2007 编写了一个包装器,但还没有为 Unicode 更新它(我知道,真丢脸)。其他人可能能够轻松更新它以使用 Unicode。

另一种选择是通过 COM 互操作性或其他方式使用 .NET Framework 加密功能。

【讨论】:

  • 加密 API 包装器 +1。
  • 我注意到在阅读Crypto API wrapper Microsoft docs 时,Windows XP SP3 不支持 SHA-256 和 SHA-512 等算法。如果您制作的应用程序需要在遥远的地方运行,而这些应用程序可能仍在运行 XP SP2,那么这可能是个问题。
  • 另一个 MS Crypto API 包装器 - cc.embarcadero.com/item/17598
【解决方案3】:

嗨,布鲁斯,我从 Delphi 5 开始就使用这个库,

Delphi Encryption Compedium Part I v.5.2

  • 完全重写之前的 DEC 3,更新到 DEC 5.1(2006 年发布)
  • 许多密码(Blowfish、Twofish、3DES、Rijndael...)
  • 许多哈希(MD2/4/5、SHA1-512、RipeMD128-320...)
  • 校验和函数(CRC32、CRC16...)
  • 文本转换函数(MIME Base 64、XX/UU 编码...)
  • 安全随机数函数
  • 在模式下使用密码加密 (CTS/CBC/CFB/OFB/ECB...)
  • 完整而简单的面向对象
  • 高度优化的快速内核
  • 在 D2009 中支持 ANSI 和 Unicode(及以下使用 WideStrings)...

是免费软件并带有 Sorce Code,遗憾的是没有实现 RSA。

【讨论】:

  • 它已移至谷歌代码:code.google.com/p/delphidec 我喜欢 DEC 的一个小问题是,您只需要包含 1 个目录与 3 个目录与 DCPCrypt。
【解决方案4】:

看起来像D2010 work is done

TurboPower 锁盒 . 数据加密2009 年 9 月 4 日Download

状态:应该可以正常工作。
此库已扩展,因此它支持 Ansi 和 UnicodeStrings 的加密。
09/04/2009
* Delphi 2010 软件包
* 应该在没有提示和警告的情况下编译

【讨论】:

    【解决方案5】:
    • 正如 Argalatyr 所述,DCPCrypt 可与 Delphi 2009 配合使用,但不支持 RSA;

    • ChillKat 确实支持 Delphi 的 RSA 和 AES,但它不是免费的;

    • Sergey Kirichenko 制作了一个免费的 Rijndael 实现,您可以在此处下载:http://rcolonel.tripod.com/dwnload/rc_rnd.zip。 这些文件的日期是 2000 年 11 月,所以我不知道它是否可以直接在较新的 Delphi 中使用。

    • 以前有一个带有Delphi代码的zip文件可以在这里下载:http://ace.ulyssis.student.kuleuven.ac.be/~triade/GInt/bin/RSA.zip,但是开发人员可能完成了他的学习,大学删除了他的主页。在this chinese webpage 上,我可以看到文件的内容(在页面上搜索 RSA.pas 并单击链接)。

    我不知道您所说的“长期存在”(旧的?)是什么意思,但我会选择 Lockbox,因为它提供了您需要的一切。除了 2009 年的更新外,最后一次正式更改是在 2003 年。但是,嘿,如果它有效,它就有效。

    【讨论】:

      【解决方案6】:

      对于示例代码 LockBox 可能没问题,但我不会再在生产中使用它。加密确实“长期存在”。算法变老了。以前未发现的缺陷、改进的密码分析技术、数学进步、增加的处理器能力使得曾经安全的算法和密钥大小不再足够安全。 3DES、MD5、SHA-1 已经被认为是不够的。最近发布了针对 AES 的攻击 (http://eprint.iacr.org/2009/374)。建议的最小 RSA 密钥大小现在为 1024 位,而如果需要保护数据多年,建议使用 2048 和 3072 密钥。 Lockbox 仅提供 1024 位或 less 的密钥。 也必须选择正确的分组密码模式。 LockBox TLbRijndael (AES) 类默认使用具有已知缺陷的 ECB,并且除了 CBC 之外不提供任何东西。 由于这些年来电子安全的重要性,以及随之而来的好人和坏人的研究,一个七年历史的库真的很老了——仅仅重新编译它并添加对 UTF-16 字符串的支持是不够的。 请注意,虚假的安全性比根本没有安全性更糟糕。如果系统管理员被告知“我们没有任何安全措施”,他将自己实施安全措施(例如 IPSec、VPN 等)。如果他被告知“是的,我们有 RSA 和 AES!”即使您的 AES 和 RSA 实施已过时且不再安全,他也会觉得不错。

      【讨论】:

      • 投反对票的人可以解释原因吗?请告诉我我哪里错了...
      【解决方案7】:

      我没有在 D2010 中尝试过,但 DCPcrypt 应该在 D2009 中有效。

      【讨论】:

      • 我看到了这个。从 Delphi 2009 迁移到 Delphi 2010 应该是微不足道的。不幸的是,它没有实现 RSA。至少我看不到。
      • 我认为你是对的 - 我专注于 AES。
      【解决方案8】:

      Fundamentals Cody Library 实现了 AES 和 RSA 加密。我没有使用过这个库,但是不能评论它的质量。

      【讨论】:

        【解决方案9】:

        似乎有很多免费的 Delphi AES 实现。随意添加您的收藏夹here

        似乎没有那么多免费的 RSA 实现,而且提供两者的库也很少。

        看起来 LockBox 仍然是一个相当合理的选择。特别是因为我不需要需要数年才能破解的加密。

        我认为直接使用微软的 Crypto API 可能是最实用的选择。

        【讨论】:

          【解决方案10】:

          Daniele Teti 为 Delphi 2010 发布了一系列 DataSnap 过滤器,其中包括散列、密码和压缩。他提到他将来也可能实现非对称密码。

          http://www.danieleteti.it/

          这是开源的,所以请随时贡献。

          【讨论】:

            猜你喜欢
            • 2011-04-09
            • 2011-01-25
            • 2011-10-12
            • 1970-01-01
            • 1970-01-01
            • 2021-10-14
            • 2012-02-15
            • 2021-09-16
            • 2011-06-18
            相关资源
            最近更新 更多