【发布时间】:2013-03-31 01:37:38
【问题描述】:
密码学书籍说你应该公开你的加密/解密算法来测试它是否可以抵御攻击和密码分析,并且未公开的算法不被认为是强大的,因为它没有针对攻击进行测试,但他们也说密码算法主要依靠密钥长度和密钥随机分布来保护它免受暴力攻击和密钥的数学分析。
我的问题是为什么我们需要公开我们的算法,而它主要取决于密钥长度,如果我的密钥足够长并且真正随机化,那么了解算法有什么好处?
【问题讨论】:
-
一个完美的算法和你提到的元素一样好(挥手)。 有缺陷的算法可以用不需要探索整个键空间的快捷方式来破解。公开你的算法将有助于确定它是否有缺陷。
-
有了密码学——可能重要的信息被锁起来——没有“通过默默无闻的安全”这样的东西。该算法可能在通过简单的“密钥长度”挥手之后的方式存在微小缺陷。例如,采用简单的 XOR 算法 - 采用较大的密钥长度。输入一系列数据并观察输出。裂缝。请记住,甚至一些行业安全协议也已被证明被破坏 - 还记得 WEP 吗?
-
但关键是,据我所知,经过审查的算法现在向所有人公开,因此每个黑客都知道该算法以及如何反转它,这意味着与被黑客入侵时的隐藏算法没有区别。如果我误解了什么,请告诉我。 @pst
-
@MohammadDorgham Thilo 已经解释了它(两次)以回复他自己的答案。
-
如果您查看并理解了一个有缺陷的算法,您可能会比不查看它更容易扭转它。了解完美的算法根本不会帮助您逆转它。有点(好)加密的美丽。
标签: security cryptography encryption cryptanalysis