在密码学中,Lucifer加密算法是一种分组加密(英语:Block cipher),又称分块加密或块密码,在迭代的思想上产生密文,通过简单操作如替代和排列等以有效改善保密性的方法。
但上一篇文章我们说到了,Lucifer加密系统的加密解密过程是完全公开的,那么他靠什么来达到保密的效果呢?
假如爱丽丝和鲍勃通信,但伊芙想偷听,怎么解决呢?
![](https://img.haomeiwen.com/i11483301/bbcc2c44f7232e72.jpg)
爱丽丝得想法把每条消息对应的钥匙给到鲍勃才行,最稳妥的方法是爱丽丝直接和鲍勃见面,告诉他钥匙内容。
那如果按照古典密码时的经验,双方约定一下,比如说用《独立宣言》的字母顺序当钥匙,就可以省去见面的过程,这样可以吗?
可以,但这消息一旦走漏给伊芙,此后两人的通信就没法保密了。
所以用魔王系统加密能保证信息主体的安全,但双方还是要交换钥匙,而钥匙的安全是没法保证的。这就是魔王系统最大的漏洞。
对双方约定钥匙内容这件事来说:
钥匙越没规律,密码越保险,但也就越需要双方见面沟通;钥匙越有规律,密码越不安全,但却省去了见面沟通的成本。
所以,要使这个加密方法更为安全,就要解决这样一个问题,即在传输加密内容时不必单独传递钥匙。
我们先看这样一个思路是否可行:
爱丽丝把机密放在盒子中,上一把锁,盒子寄给鲍勃;
鲍勃收到盒子后,因为没有爱丽丝的钥匙,所以打不开,但鲍勃又给盒子加了把锁,寄回爱丽丝。这会儿盒子上就有了两把锁;
爱丽丝收到挂了两把锁的盒子后,用自己的钥匙打开其中那把自己的锁,然后再把只有一把锁的盒子寄给鲍勃;
鲍勃收到盒子后,上面只有一把自己的锁了,他又有自己的钥匙,所以就可以打开看到里面的机密文件。
这个过程看上去是可行的,但在加密中却行不通。因为开锁上锁,一般不用讲究先后顺序。
但是在加密中,当一套字符先使用A加密一次,又使用B加密一次,我们就必须先用B解密,再用A解密,也就是后加密的先解。如果这个顺序颠倒了,解出来就是乱码。
所以,问题的关键就变成了,是否能找到一种要讲究先后顺序的钥匙和锁。
这样的钥匙和锁存在吗?我们下一次继续分享。
![](https://img.haomeiwen.com/i11483301/98bf73108ee571e6.png)
更多文章:
密码那些事儿|(三十)第五代加密法出现——Lucifer算法
密码那些事儿|(二十七)密码学对战争的作用——信息比武器更值钱
密码那些事儿|(二十四)美国“炸弹机”的制造者——约瑟夫·德希
密码那些事儿|(二十二)“罗宾逊捕鱼”及第一台“巨人”计算机的诞生
密码那些事儿|(二十一)再下一城,图灵破解最高级别恩尼格玛机
本人是官方授权简书会员推广专员,点击会员专属通道成为简书会员,您将会获得简书钻奖励及诸多权益!
网友评论