我是密码学的初学者。我设计了一种基于密码的加解密算法,它使用随机盐和密码对消息进行加密。我使用SHA-512用于散列,矩阵操作用于洗牌,按位XOR用于混合数据和检索。盐和密文的长度是256个字母。
据我所知,雪崩效应意味着以下任何一个方面的微小变化:
必须彻底改变输出。
在我的实现中,如果我更改了salt或密码,我就不会看到输出有任何大的变化。但是,当密码稍有更改时,输出就会发生剧烈的变化。
所以,我的问题是:
发布于 2011-11-28 13:07:09
不要费心去改变实际的密码算法。了解克尔霍夫原理:您应该只更改密钥和IV之类的内容,而不是实际的算法。
为了测试你的雪崩,在你的钥匙上翻转一点。这应该会改变大约一半的输出位。
对于密码设计,已经提出了应用密码学。此外,您还需要考虑在算法中引入扩散和混淆。此外,研究现有的算法以了解它们是如何进行的,这也是非常值得的。我从设计我自己的简单Feistel密码开始,这样已经为您完成了很多周围的结构。它还简化了设计,因为F函数不必是可逆的。这让你在这方面有了更多的灵活性。
警告不要将自己的设计用于学习练习以外的任何事情,这是一个很好的警告。
https://crypto.stackexchange.com/questions/1372
复制相似问题