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

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

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

更新:关于 LockBox 已经过时或缺乏重要功能的看法是否正确?它对于生产开发仍然有意义吗?(特别是 RSA 密钥大小)

有帮助吗?

解决方案

RSA算法不一定是过时的,但密钥大小很重要。它仍然经常在整个地方使用。如果需要安全性,则应使用RSA密钥长度 3072位 2030.这只是计算能力提高的一个功能,而不是算法的弱点。

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

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

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

其他提示

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/

嗨 Bruce 我从 Delphi 5 开始就使用这个库,

Delphi 加密大全第 I 部分 v.5.2

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

是免费软件并带有源代码,不幸的是没有实现 RSA。

看起来 D2010工作已经完成

TurboPower LockBox 数据加密 2009年9月4日 下载

状态:应该正常工作。
此库已扩展,因此它支持Ansi和UnicodeStrings的加密 09/04/2009结果     * Delphi 2010包装
    *应编译时不带提示和警告

我不知道你所说的“长在牙齿上”(老?)到底是什么意思,但我只想选择 Lockbox,因为它提供了你需要的一切。除 2009 年更新外,最后一次官方更改是在 2003 年。但是,嘿,如果它有效的话它就有效。

对于示例代码,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实施已经过时且不再安全,他也会感觉很好。

我没有在D2010中尝试过,但 DCPcrypt 据说可以在D2009中使用。

Fundamentals Cody Library 实施了两种AES和RSA加密。我没有使用过这个库,所以不能评论它的质量。

似乎有很多免费的Delphi AES实现。随时添加您的收藏此处

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

看起来LockBox仍然是一个非常合理的选择。特别是因为我不需要加密,这需要几年时间才能破解。

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

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

http://www.danieleteti.it/

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top