第一章 从零开始做加密
本章的话题会涵盖以下的内容:
什么是密码学?
编码和加密
Caesar加密
加密轮子
St. Cyr轮换
用纸笔做一个加密器
“双长度”加密
除了监听之外我什么也做不来,那是因为我已经被监听了。
-----------Anonymous
(上面的Anonymous不是某个匿名者,而是大名鼎鼎的黑客军团)
什么是密码学?
先看看下面两段文字(英文)
密码学就是一门研究如何隐藏消息的科学,密码学人(我曾经就是LoL)就是那些专门研究如何隐藏消息的人,本书会教你如何变成一个秘密学人。密码分析学人(我曾经也是,是不是忽然感觉我高大上很多,其实很多人都是,囧)就是那些专门搞破解密文的人,通俗的说就是用非寻常方法读到密文中隐藏信息的人,所以这样的人也被称作破解者(看到这里,刘慈欣的粉丝是不是很高兴,这这不就是破壁者么,呵呵)或者黑客。不过不幸的是,你在本书学到的破解方法是不足以让你惹来法律上的麻烦,实际上,我想表达的是你狠幸运(我其实很讨厌这种西洋幽默,关键是那帮大胡子在笑,我怎么都笑不出来)。间谍,军人,黑客,海盗,皇族,商人,暴君,政治活跃人士,网络购物者以及所有需要将某些信息隐藏起来交换给他人的时候都会用到密码学的技术来保障这个过程的安全。
编码和加密
19世纪早期,随着电报技术的发展,大陆间的通讯已经已经可以通过电线实现即时传输了。这比起用马来传递书信的方式快的不是一点半点。然而,电报不能直接发送写在纸上的文字,必须传输电脉冲,短脉冲用点表示,长脉冲用横线显示。(说到这里有点枯燥,请注意,谍战片发报的时候带着耳机“滴滴滴滴”的东西说的就是这个了,是不是瞬间生动很多)
为了将这些点啊横线啊转换成英文字母(为什么不是中文!因为摩斯他讲的是英文LoL),因此编码系统应运而生,将脉冲的组合和英文对应起来。从英文字母到电脉冲称编码,从电脉冲到英文字母叫解码,从这个伟大的发明叫做摩斯电码,是Samuel Morse和Alfred Vail共同发明的。通过一个键,对,只有一个键的发报机,发报员可以实时的和世界另一边的人用英文交流!(试想星际穿越的剧情,甚至可以和另外一个维度的生命交流,orz)如果你对摩斯电码产生了浓厚的兴趣,请自己到http://invpy.com/morse这里看看,相信不会让你失望的。
编码很重要,因为基于编码,消息传递的发送方和接收方才能明白对方什么意思。任何人都可以从这个系统里头了解如何加密和解密一个消息。