刚开始接触密码学时,书上说到我们平常使用的各种软件的密码实际上是一种口令,并不是真正的密码。那么口令是什么,密码又是什么呢?
百度百科中对密码的定义:
他们的描述过于晦涩,在英文中,密码和口令的单词其实是一样的,均为password,我想用一种容易理解的方式区分它们。
日常生活中的“密码”不是真正的“密码”,而是“口令”。
口令,可以看作是一个通行证。假设现在一个山洞里藏满了宝藏,山洞被石门封锁,口令是“芝麻开门”。任何一个人在石门前高喊“芝麻开门”都可以打开石门,得到宝藏。由于宝藏本身并没有被锁起来,所以必须保证这个山洞是安全的。类比我们的日常生活,芝麻开门就是我们各种账号的口令,而这些宝藏就是我们的个人信息和数据,任何知道口令的人都可以登陆我们的账号,查看我们的数据。很多有名的安全问题都是黑客越过管理者的口令进入某个系统的数据库后直接拿到了大批用户数据。
还是这批宝藏,这次并没有石门,也没有山洞,这时要怎样保护宝藏的安全呢?我们可以把宝藏全部放到箱子里锁起来,只要箱子足够结实,钥匙又掌握在自己手里,那么无论这批宝藏放在哪里都是安全的。所有人都知道箱子里有宝藏,但他们不知道是什么宝藏,有多少宝藏。宝藏持有者定期更换箱子上面的锁,假设工艺最精湛的锁匠破解一把锁也需要20天,宝藏持有者每15天就更换一把同等安全级别的锁,有坏心思的人即便破坏了20天之前的锁也毫无作用。类比我们的日常生活,钥匙就是密码,而加了箱子的宝藏就是加密后的数据,它通常表现为一堆乱码,任何人都可以很容易的得到这些乱码,但只有拥有密码的人才能看到真正的数据。这就是密码学的魅力。