2010-08-22 73 views
3

我必须制作一个应用程序,它可以使用Java或C#中的IDEA(国际数据加密算法)对文本文件进行加密和解密。我知道在java中有内置的JCE(Java Cryptography Extension),但是如何继续下去,有人会给我一些建议吗?如何实现IDEA?

谢谢。

+0

好的谢谢你:)。 – Supereme 2010-08-23 12:42:25

回答

2

您可以尝试使用BouncyCastle,它可用于Java和C#。但是,你需要获得IDEA支持的权利罐子(假设的Java),根据该note

从版本1.40的IDEA加密算法的实现 被 从正常的jar文件在删除 许多用户的请求。罐子 与形式-ext-仍然 的名称包括IDEA实施。

编辑(添加指针为例): 我还没有试过,但我认为DESExample可以适应可能通过更换DESedeEngine做你想要什么,我IDEAEngine(以及类似其他类)。

+0

低调选民的关怀能解释这个答案有什么问题吗? (我不介意接受错误,但我有兴趣知道为什么。) – Bruno 2010-09-20 13:25:11

4

不能评论任何原因,所以我张贴此作为答复。

IDEA是一种专利算法,专利仅在2011和2012年(取决于国家)过期。而且这根本不是最佳表现。所以除非你有使用IDEA的要求,否则我会建议看一下AES或RC4(ARCFOUR,因为RC4名称是注册商标)算法。 RC4速度更快,但很大程度上取决于加密密钥的质量。

4

尤金对于IDEA是正确的。如果是在您选择的范围内,避免使用IDEA并选择其他算法是合理的。由于专利问题,IDEA很少使用,因此密码分析人员对其进行了较少的调查。此外,IDEA密钥的长度受限于128位,可能会很快变得不足。

大多数(并非绝对全部)开发框架包括对标准加密算法的支持。事实上,使用标准化算法总是好的,因为它们是由密码分析师进行最好的研究。 AES128/256是首选。 RC4密钥的最大长度,以及IDEA密钥是128位;此外,它也是一种奇特的东西,可能不被某些框架所支持。