我正在研究一个设计我自己的对称加密算法的小项目。它主要用于文件加密。 这样一个项目的设计过程是什么?
答案 0 :(得分:6)
第一课 - 不要。
第二课 - 学习cryptanalysis。如果您不知道加密方案是如何被破坏的,那么您将如何评估自己的算法“强”还是“弱”。
我上面提到的自学论文有点老化了。有更新的攻击(例如最近针对AES的双重攻击)将不会被覆盖。
还有一个初出茅庐的crypto堆栈交换站点,如果你真的打算认真研究加密,那么这可能是一个更好的提问问题的地方(而不是“我发明了有史以来最好的加密系统,没人会永远都能破解它“”。
答案 1 :(得分:2)
构建一个耐......的算法
已知的纯文本攻击:http://en.wikipedia.org/wiki/Known-plaintext_attack
选择纯文本攻击:http://en.wikipedia.org/wiki/Chosen_plaintext_attack
差异加密分析:http://en.wikipedia.org/wiki/Differential_cryptanalysis
线性加密分析:http://en.wikipedia.org/wiki/Linear_cryptanalysis
我的具体建议是你从一个加密安全的随机数生成器(http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator)开始,使用你的对称加密密钥为所述生成器播种,并从那里开始工作,避免上面的攻击向量