每天给香锅讲点儿啥,这真是个学问。目前还没有成体系,也没时间去按照某种方式梳理,想到哪讲哪。从这么一件小事能看出规划的重要性。同时,工作经验告诉我,在时间不足的时候,在复杂系统面前即便没有时间梳理,也可以先开始,这不,不知不觉已经讲了快两周了。
今天讲讲密码学的基础知识。说到密码,大多数人都非常熟悉,银行卡密码、网络服务的密码、保险箱的密码、防盗门的密码等等。这些密码,是为了证明你是你,或者证明你对物品的所有权。一旦别人也获取了你的密码,也就意味着他拥有和你一样的权利。所以,密码一旦泄露,后果是很严重的。
而密码学,就是研究:一、如何通过编码来保护关键信息;二、如何解码来获取关键信息的一门学问。
举一个摩尔斯电码的例子。
在18世纪,人们发现电的一些特性可以用来远距离传输信息,只要在两地之间假设上电线,使用特殊的方法就可以实现两地间的信息传递,电报就是在这一基础上发明的。1837年,美国人和英国人几乎同一时间发明了电报,但是美国的摩尔斯在电报中使用了一种特殊的编码方法,效率更高,信息表达更全面,所以大大提高了电报的应用性。他发明的这套编码,就被叫做摩尔斯电码。
它由两种基本信号和不同的间隔时间组成:短促的点信号" .",读" 的 "(Di);保持一定时间的长信号"—",读"答 "(Da)。他把英文字母分别用这两种电信号表示,就可以组合成复杂的信息了。
比如国际通用的求救信号SOS,用电报表示就是:...---...
在密码学里,上例中的SOS是明文,...---...是密文,摩斯电码表和规则就是加密算法。在这个例子里,只要知道了电码表和规则,也就是知道了加密算法,就可以破解密文。
其实人类从很早以前就开始应用密码学的知识了,一开始都是应用于战争。在打仗时,为了将自己的作战计划之类的机密信息通过安全的方式传递出去,就需要将机密信息加密,接收到加密后的机密信息,再用约定好的方法解密。这样,就算送信的人被敌人抓住,也破解不了里面的秘密。
最古老的两种加密方法是:
置换:将字母顺序重新排列,例如‘help me’变成‘ehpl em’;
替代:有系统地将一组字母换成其他字母或符号,例如‘fly at once’变成‘gmz bu podf’(每个字母用下一个字母取代)。
这种原始的加密方法很容易被破解,只要花些时间,总结一下规律就可以了。虽然容易破解,但是因为简单,我们也可以制作出家庭内部使用的密码哟!