在设计加密算法时,决定算法将起作用的关键因素是什么?

时间:2011-09-06 13:00:31

标签: algorithm encryption cryptography aes

我正在研究一个设计我自己的对称加密算法的小项目。它主要用于文件加密。 这样一个项目的设计过程是什么?

2 个答案:

答案 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)开始,使用你的对称加密密钥为所述生成器播种,并从那里开始工作,避免上面的攻击向量