Delphi的免费加密库

时间:2009-09-09 22:04:14

标签: delphi encryption delphi-2010

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

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

Delphi 2010版本的TurboPower LockBox已发布到SongBeamer网站,实现了这两个版本,但我担心它会变得有点旧。例如,RSA密钥尺寸较小且多年没有新的安全功能。

更新 是否认为LockBox已过期或缺少重要功能?它仍然与生产发展有关吗? (特别是RSA密钥大小)

10 个答案:

答案 0 :(得分:15)

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

  • Delphi 2007和Delphi 2010
  • Delphi 2010的Unicodestrings
  • AES,DES,3DES,Blowfish和Twofish密码
  • 一长串块链接模式
  • MD5和SHA1哈希
  • RSA加密,解密,签名和验证
  • 可变长度RSA密钥 - 范围几乎没有任何限制。
  • D-Unit测试代码
  • 自动腌制
  • 适当管理IV(与DCPcrypt相反)
  • 白盒,免费和开源
  • 100%可见的本机源代码(无DLL)

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

答案 1 :(得分:13)

RSA算法不一定是过时的,但密钥大小很重要。它仍然经常在整个地方使用。如果在2030年之后需要安全性,则应使用3072 bits的RSA密钥长度。这仅仅是计算能力的改进而不是算法中的弱点的函数。

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

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

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

答案 2 :(得分:12)

嗨布鲁斯我从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)......

Freeeware和Sorce Code,遗憾的是没有实现RSA。

答案 3 :(得分:9)

看起来像D2010 work is done

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

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

答案 4 :(得分:5)

我不知道你的意思是什么“长牙”(旧?),但我只是去找Lockbox,因为它提供了你需要的一切。除了2009年的更新,最近的官方更改是在2003年进行的。但是,嘿,如果它有效,它可以工作。

答案 5 :(得分:3)

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

答案 6 :(得分:1)

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

答案 7 :(得分:1)

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

答案 8 :(得分:0)

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

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

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

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

答案 9 :(得分:0)

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

http://www.danieleteti.it/

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