密码常识测试
密码常识测试 对一下观点进行评论,分别论述你认为这个观点是正确还是错误的(1分)?为什么(2分)?你的参考资料或判断的信息来源是什么?(2分)
1. 很多企业和技术人文都有下面这样的想法∶“由公司或自己开发一种密码算法,并将这种算法保密,这样就能保证安全。"
2. 使用地低强度的密码算法,比如凯撒密码,也比完全不加密更安全。
3. 一次性密码本(one-time pad)或一次一密是无法被破解的,所以日常的数据加密应该使用一次性密码本算法。
4. 只要密码算法强度足够,实现正确就可以保证信息安全。
1. 错误, 很多企业和技术人文都有下面这样的想法∶“由公司或自己开发一种密码算法,并将这种算法保密,这样就能保证安全。" 不要使用保密的密码算法 使用保密的密码算法是无法获得高安全性的。我们不应该制作或使用任何保密的密码算法,而是应该使用那些已经公开的、被公认为强度较高的密码算法。 这样做的原因主要有以下两点:
(1)密码算法的秘密早晚会公诸于世 从历史上看,密码算法的秘密最终无一例外地都会被暴露出来。例如: RSA公司开发的RC4密码算法曾经也是保密的,但最终还是有一位匿名人士开发并公开了与其等效的程序。 一旦密码算法的详细信息被暴露,依靠对密码算法本身进行保密来确保机密性的密码系统也就土崩瓦解了。反之,那些公开的算法从一开始就没有设想过要保密,因此算法的暴露丝毫不会削弱它们的强度。
(2)开发高强度的密码算法是非常困难的 要比较密码算法的强弱是极其困难的,因为密码算法的强度并不像数学那样可以进行严密的证明。密码算法的强度只能通过事实来证明,如果专业密码破译者经过数年的尝试仍然没有破译某个密码算法,则说明这种算法的强度较高。 稍微聪明一点的程序员很容易就能够编写出“自己的密码系统"。这样的密码在外行看来貌似牢不可破,但在专业密码破译者的眼里,要破译这样的密码几乎是手到擒来。 现在世界上公开的被认为强度较高的密码算法,几乎都是经过密码破译者长期尝试破译未果而存活下来的。“希望公司自己开发的密码系统比那些公开的密码系统更强”并不符合实际。
2.错误, 使用低强度的密码比不进行任何加密更危险 正确的想法应该是:与其使用低强度的密码,还不如从一开始就不使用任何密码。这主要是由于用户容易通过“密码”这个词获得一种“错误的安全感”。对于用户来说,安全感与密码的强度无关,而只是由“信息已经被加密了”这一事实产生的,而这通常会导致用户在处理一些机密信息的时候麻痹大意。
3.错误, One Time Pad 虽然是最强的加密方法,但是也有自己的局限性。 使用 One Time Pad 有两个最佳实践。第一,一个 One Time Pad 只用一次。第二,每个 One Time Pad 中的数据要保证真正的随机。 这意味着真正使用的时候,每次加密都需要重新生成并且再次发布给通信双方。互联网是一个不安全的环境,安全的发布 One Time Pad 其实是非常困难的,这就使得在很多的应用情形下是不能使用 One Time Pad 的。 最后总结一下,One Time Pad 是一种最强的加密方式。通信双方需要事先共享一个一次性的,和信息长度相同或者更长的秘钥。
4.错误, 例如社会工程攻击,往往信息的泄露并不是算法被破译的导致的,满目迷信密码算法,很容易造成泄密事件产生
参考内容《图解密码技术》