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


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

文章插图
我在看完这些内容之后,一脸茫然,只好对勒格朗说:“这些都是什么意思?。课沂且坏愣伎床欢馍厦娴哪谌菔鞘裁窗 。〖偃缰挥衅平庹夥饷苈胄挪拍艿玫浇鹨票?,那我只能说 , 自己根本没有得到金银财宝的命了!”
——爱伦·坡《金甲虫》
一提到“密码”,我们第一反应可能是,我们平时登录淘宝或者QQ 时需要输入的那个密码 , 或者刷信用卡或者在ATM 上取钱时输入的密码 。但是 , 上面这种“密码”跟我们本文要探讨的“密码”几乎是完全不同的两码事 。
无论是上淘宝还是刷卡时输入的密码,都只是一种身份验证的凭据,换句话说,也就是向系统证明你才是这个账号或银行卡的主人的一种证据——跟“天王盖地虎!”“宝塔镇河妖!”差不多是一回事 。严格来说,这种“密码”应该叫作“口令”(对应英文中的password、passcode 或者pin) 。
我们要说的“密码”是什么呢?简单来说,密码(对应英文中的cryptography)是一个非常庞大而复杂的信息处理体系,涉及信息的机密性、完整性、认证等许多方面,由此衍生出的技术无时无刻不在保卫着我们生活中的各种信息的安全 。
举例来说,比如战争剧里用来加密解密通信消息的技术 。在战争剧里,总能看到这样的一幕:战事特别紧张,好多人紧锣密鼓地研究如何破译敌方密码......
服了酷到让人望而生畏密码学能解释得如此简单图解密码技术

文章插图
《模仿游戏》剧照
这密密麻麻的数字和字母,真的让人望而生畏,但下面这篇文章却让我对密码学有了新的认识:只要解释得当,密码技术也可以变得很简单 。
下面我们就将介绍历史上几种著名的密码:
● 恺撒密码
● 简单替换密码
● Enigma
以及两种破译密码的方法(即合法接收者以外的人试图由密文还原出明文的方法) 。
● 暴力攻击
● 频率分析
来一起跨过密码技术的大门!
本文介绍的密码在现代虽然都已经不再使用了 , 但在寻找密码弱点的方法、破译密码的思路以及密码算法与密钥的关系等方面 , 这些密码与现代的密码技术依然是相通的 。
恺撒密码首先,我们来介绍一种最简单的密码——恺撒密码 。
一、什么是恺撒密码
恺撒密码( Caesar cipher)是一种相传尤利乌斯·恺撒曾使用过的密码 。恺撒于公元前100年左右诞生于古罗马,是一位著名的军事统帅 。
恺撒密码是通过将明文中所使用的字母表按照一定的字数“平移”来进行加密的 。在汉语(例如汉语拼音)中也可以用同样的思路来实现恺撒密码,但为了简化内容 , 在这里我们只使用英文字母 。
本文中,为了讲解方便,我们用小写字母(a, b, c, ...)来表示明文,用大写字母(A, B, C, ...)来表示密文 。
现在我们将字母表平移3 个字母,于是,明文中的a 在加密后就变成了与其相隔3 个字母的D,以此类推,b 变成E , c 变成F,d 变成G……v 变成Y,w 变成Z,而x 则会回到字母表的开头而变成A,相应地,y 变成B,z 变成C 。通过图1 我们可以很容易地理解“平移”的具体工作方式 。
服了酷到让人望而生畏密码学能解释得如此简单图解密码技术

文章插图
图1 恺撒密码中将字母表“平移”
二、恺撒密码的加密
这里,我们假设要保密的信息为yoshiko 这个女性的名字 。我们暂且不管这个名字到底代表一位真实的女性,还是只是一种暗号,只考虑将它在保密的状态下发送给接收者 。