我想在java中为像Blowfish,RC5这样的加密算法开发代码。我也在互联网上搜索,但我知道Blowfish有现成的方法。所以编写自己的方法就像“重新发明轮子”,所以“RC5”的情况也是如此? 如果是这种情况,您能否请一些密码学算法建议我使用2名具有“Java”平均知识的人在2个月内开发代码?
答案 0 :(得分:2)
最近有几个与format preserving encryption有关的问题。我试图找到FFX的实现(尝试标准化基于Feistel网络的FPE),但未找到任何实现。
因此,如果您正在寻找一个有用的加密算法示例,网络上没有(容易找到的)实现,那么这是一个选项。
您可能希望将自己限制为FFX-A2和/或FFX-A10。
答案 1 :(得分:1)
在不了解您正在使用的语言的特性以及所涉及的加密算法的情况下,开始任何加密项目是一个真正的,真的坏主意。如果你只是在学习,那么为什么不继续重新发明轮子呢?如果您确实希望它是安全的,那么您应该使用预先存在且经过良好测试的实现,或者您应该仔细研究所涉及的算法方法以及所涉及的基于语言的安全问题。
对于任何这些算法的实现,没有任何固有的劳动密集型 - 它们往往会发布清晰的描述。您完全有可能对RC5,Blowfish,AES,RSA或者2个月内通常使用的其他任何东西进行必要的加密安全实施(尽管我会把真实的数字放在更近的地方 2天如果你只是为了学习/好玩而烦恼。)
答案 2 :(得分:1)
访问BouncyCastle.org。它们为Java和C#提供了完整的开源JCE / JCA加密API。例如,还有其他PGP API。取消固定这些API几乎是每种常见密码和摘要算法的实现。文档有点轻松(特别是PGP实现),但它是一个众所周知的使用加密包。