Ada*_*vis 4 security cryptography prng
我正在修改现有的安全代码.规范很清楚,有示例代码,但我不是加密专家.实际上,示例代码中有一个免责声明,实际上是"不要逐字使用此代码".
在审核我要修改的代码(这应该是完整的功能)时,我遇到了这个用于生成挑战的小宝石:
static uint16 randomSeed;
...
uint16 GetRandomValue(void)
{
return randomSeed++;/* This is not a good example of very random generation :o) */
}
Run Code Online (Sandbox Code Playgroud)
当然,我立即做的第一件事就是将它传递到办公室,这样我们都可以大笑.
生成此代码的程序员知道它不是一个好的算法(如评论所示),但我不认为他们理解安全隐患.他们甚至懒得在主循环中调用它,所以它至少会变成一个自由运行的计数器 - 仍然不理想,但超出此范围的世界.
但是,我知道我生产的代码同样会导致一个真正的安全大师轻笑或震惊.
-亚当
Tom*_*ter 12
Applied Cryptography是一本很好的书,可以帮助您理解加密和代码.它涉及很多基础知识,比如分组密码如何工作,以及为什么选择差的密码模式会使你的代码无用,即使你使用的是完美实现的AES版本.
有些事需要注意:
你的问题显示了一个比较常见的问题:可靠性差的来源.如果你使用256位密钥,如果它们的位不够随机,则无关紧要.
2号可能假设您可以比专家更好地设计系统.在这个领域,标准的质量实施几乎肯定会比创新更好.请记住,在SSL真正安全之前,它需要3个主要版本.我们认为.
| 归档时间: |
|
| 查看次数: |
587 次 |
| 最近记录: |