Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 在设计加密算法时,决定算法性能的关键因素是什么?_Algorithm_Encryption_Cryptography_Aes - Fatal编程技术网

Algorithm 在设计加密算法时,决定算法性能的关键因素是什么?

Algorithm 在设计加密算法时,决定算法性能的关键因素是什么?,algorithm,encryption,cryptography,aes,Algorithm,Encryption,Cryptography,Aes,我正在研究一个设计我自己的对称密码算法的小项目。它将主要用于文件加密。 这样一个项目的设计过程是什么?第一课-不要 第二课-学习。如果您不知道加密方案是如何被破坏的,您将如何评估您自己的算法的“强”或“弱” 然而,我上面链接的自学论文有点老了。还有一些较新的攻击(例如最近针对AES的双集团攻击),这些攻击将不会在这里介绍 还有一个刚刚起步的stack exchange网站,如果你真的想认真学习密码(而不是“我发明了有史以来最好的密码系统,没有人能破解它”),那么它可能是一个提问的好地方。第一课

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

第一课-不要

第二课-学习。如果您不知道加密方案是如何被破坏的,您将如何评估您自己的算法的“强”或“弱”

然而,我上面链接的自学论文有点老了。还有一些较新的攻击(例如最近针对AES的双集团攻击),这些攻击将不会在这里介绍


还有一个刚刚起步的stack exchange网站,如果你真的想认真学习密码(而不是“我发明了有史以来最好的密码系统,没有人能破解它”),那么它可能是一个提问的好地方。

第一课-不要

第二课-学习。如果您不知道加密方案是如何被破坏的,您将如何评估您自己的算法的“强”或“弱”

然而,我上面链接的自学论文有点老了。还有一些较新的攻击(例如最近针对AES的双集团攻击),这些攻击将不会在这里介绍



还有一个刚刚起步的stack exchange网站,如果你真的打算认真研究密码(而不是“我发明了有史以来最好的密码系统,没有人能够破解它”),它可能是一个提问的好地方

已知的纯文本攻击:

选定的纯文本攻击:

差分密码分析:

线性密码分析:


我的具体建议是从加密安全的随机数生成器开始(http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator),使用对称加密密钥对生成器进行种子设定,并从中避免上述攻击向量。

构建一个抵抗

已知的纯文本攻击:

选定的纯文本攻击:

差分密码分析:

线性密码分析:


我的具体建议是从加密安全的随机数生成器开始(http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator),seed使用对称加密密钥创建生成器,并从中避免上述攻击向量。

希望有建设性的批评:如果你不得不问这个问题,那么你的加密很可能毫无用处。换言之,你将是施奈尔定律的体现:“任何人,从最无知的业余爱好者到最好的密码学家,都可以创建一个他自己无法破解的算法。”如果你还没有足够的密码学背景(例如,分析了一些其他算法,阅读了大量的论文等),不要这样做,否则,您的算法将很容易被破坏。使用一个已建立的算法,如果可能的话,也使用一个已建立的协议/文件格式。感谢您的建设性批评,我以前也收到过很多相同的反馈。问题是,这是一个项目,我不想对外公布。希望有建设性的批评:如果你不得不问这个问题,那么你的加密很可能是无用的。换言之,你将是施奈尔定律的体现:“任何人,从最无知的业余爱好者到最好的密码学家,都可以创建一个他自己无法破解的算法。”如果你还没有足够的密码学背景(例如,分析了一些其他算法,阅读了大量的论文等),不要这样做,否则,您的算法将很容易被破坏。使用一个已建立的算法,如果可能的话,也使用一个已建立的协议/文件格式。感谢您的建设性批评,我以前也收到过很多相同的反馈。问题是,这是一个项目,我不想对外公布。谢谢,这是非常具体的,我非常重视。谢谢,这是非常具体的,我非常重视