我正在为Delphi 2010寻找一个实现RSA和AES(Rijndael)的免费和最新加密库。
我想要一个免费的库,因为我打算编写并发布一些将使用它的示例代码。
Delphi 2010版本的TurboPower LockBox已发布到SongBeamer网站,实现了这两个版本,但我担心它会变得有点旧。例如,RSA密钥尺寸较小且多年没有新的安全功能。
更新 是否认为LockBox已过期或缺少重要功能?它仍然与生产发展有关吗? (特别是RSA密钥大小)
答案 0 :(得分:15)
TurboPower LockBox 3.1.0现已发布。它支持:
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
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)
如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年进行的。但是,嘿,如果它有效,它可以工作。
答案 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过滤器,其中包括散列,密码和压缩。他提到他将来也可以实现不对称密码。
这是开源的,所以请随时贡献。