我想用java为像Blowfish,RC5这样的加密算法开发代码。我也在互联网上搜索过,但我知道Blowfish已经提供了可用的方法。因此,编写自己的方法就像“重新发明轮子”,所以“RC5”也是一样的吗?
如果是这样的话,你能给我推荐一些密码学的算法吗?这些算法的代码可以在两个月的时间内用两个对“Java”有一般知识的人来开发。
发布于 2010-09-03 12:23:01
最近这里有几个与format preserving encryption有关的问题。我试图找到FFX的实现(试图标准化基于Feistel网络的FPE),但没有找到任何实现。
因此,如果你正在寻找一个有用的密码算法的例子,但在网上没有(容易找到的)实现,这是一个选择。
您可能希望将自己限制为FFX-A2和/或FFX-A10。
发布于 2010-09-03 12:19:19
在不了解你正在使用的语言的特性和涉及的密码算法的情况下开始任何密码项目都是一个非常非常糟糕的想法。如果你这样做只是为了学习,那么为什么不直接去重新发明轮子呢?如果你真的希望它是安全的,你真的应该使用一个预先存在的,经过良好测试的实现,或者你应该仔细研究涉及的算法方法和涉及的基于语言的安全问题。
这些算法的实现本质上都不是劳动密集型的--它们往往有明确的描述。你完全有可能在2个月内完成RC5,Blowfish,AES,RSA或者其他常用的东西的不必要的加密安全实现(尽管如果你只是为了学习/娱乐而胡闹,我会把真实的数字放在接近2天的地方)。
发布于 2010-09-03 12:22:26
请访问BouncyCastle.org。它们为Java和C#提供了一个完全开放源码的JCE / JCA crypto API。例如,还有其他用于PGP的API。解开这些API的是几乎所有常见密码和摘要算法的实现。文档有点轻量级(尤其是PGP实现),但它是一个非常著名和使用的加密包。
https://stackoverflow.com/questions/3635534
复制相似问题