服了酷到让人望而生畏密码学能解释得如此简单图解密码技术( 十 )


如果每次加密都必须产生一个新的密码算法 , 那真是太诡异了 。对于已经开发出的一种密码算法,我们总是希望能够重复使用 。
将密码算法和密钥分开的意义正在于此 。密码算法是需要重复使用的 , 但在重复使用同一种算法的过程中,该算法被破译的可能性也在逐渐增大 。因此 , 我们就在密码算法中准备了一些可变部分,并在每次通信时都对这部分内容进行改变 , 而这一可变部分就是密钥 。
将密码算法和密钥分开考虑  , 就解决了希望重复使用,但重复使用会增加风险这个难题 。
本文中,我们介绍了历史上一些有名的密码技术 。虽然这些密码技术现在都已经不再使用了,但是希望重复使用,但重复使用会增加风险这个难题却依然存在 。
现在的密码算法中都有一部分标准化的技术 。你也许会想,密码这种需要机密性的领域怎么可能会标准化呢?其实这并不奇怪 , 请大家回想一下我们之前讲过的那条常识——不要使用保密的密码算法 。标准化的推进,使得密码算法能够作为公有财产被开发、研究和利用 。即便经过标准化,密文的机密性也丝毫没有降低 , 这是因为密码算法和密钥是分开的 。
密钥才是秘密的精华 。因此 , 在密码技术中,如何管理密钥是一个重要的课题 。
每个人都可以拥有相同品牌的锁,但每个人都有不同的钥匙 。锁的设计是公开的——锁匠都有带有详细图的书,而且绝大多数好的设计方案都在公开专利中进行了描述——但是钥匙是秘密的 。
——布鲁斯·施奈尔:《网络信息安全的真相》(Schneier, 2000,p.117)
本文节选自史上最好懂的密码学——《图解密码技术(第3版)》 。

服了酷到让人望而生畏密码学能解释得如此简单图解密码技术

文章插图
图解密码技术(第3版)
史上最好懂密码学,豆瓣评分9.5日本数学协会出版奖得主、《程序员的数学》《数学女孩》作者结城浩重磅力作本书以图配文的形式,详细讲解了6种非常重要的密码技术:对称密码、公钥密码、单向散列函数、消息认证码、数字签名和伪随机数生成器 。
第1部分讲述了密码技术的历史沿革、对称密码、分组密码模式(包括ECB、CBC、CFB、OFB、CTR)、公钥、混合密码系统 。第2部分重点介绍了认证方面的内容,涉及单向散列函数、消息认证码、数字签名、证书等 。第3部分讲述了密钥、随机数、PGP、SSL/TLS以及密码技术在现实生活中的应用 。
小测验的答案小测验 1 的答案:恺撒密码的破译
可以用暴力破解法来破译,从密钥 0 到 25 逐一进行尝试 。
PELCGBTENCUL → 用密钥 0 解密 → pelcgbtencul
PELCGBTENCUL → 用密钥 1 解密 → odkbfasdmbtk
PELCGBTENCUL → 用密钥 2 解密 → ncjaezrclasj
PELCGBTENCUL → 用密钥 3 解密 → mbizdyqbkzri
PELCGBTENCUL → 用密钥 4 解密 → lahycxpajyqh
PELCGBTENCUL → 用密钥 5 解密 → kzgxbwozixpg
PELCGBTENCUL → 用密钥 6 解密 → jyfwavnyhwof
PELCGBTENCUL → 用密钥 7 解密 → ixevzumxgvne
PELCGBTENCUL → 用密钥 8 解密 → hwduytlwfumd
PELCGBTENCUL → 用密钥 9 解密 → gvctxskvetlc
PELCGBTENCUL → 用密钥 10 解密 → fubswrjudskb
PELCGBTENCUL → 用密钥 11 解密 → etarvqitcrja
PELCGBTENCUL → 用密钥 12 解密 → dszquphsbqiz
PELCGBTENCUL → 用密钥 13 解密 → cryptography
PELCGBTENCUL → 用密钥 14 解密 → bqxosnfqzogx
PELCGBTENCUL → 用密钥 15 解密 → apwnrmepynfw
PELCGBTENCUL → 用密钥 16 解密 → zovmqldoxmev
PELCGBTENCUL → 用密钥 17 解密 → ynulpkcnwldu