培根密码
弗朗西斯·培根,英国人,他是第一个意识到科学技术能够改变世界面貌的哲学家。他不仅意识到这一点,而且积极投入到科学技术的探索中。他对密码学的兴趣很浓,设计出的密码也丰富了密码学的内容。
他设计的密码非常独特,它可以不加过多的“雕饰”,几乎以本来的“素面”在你眼前晃过,而不会引起你的注意。
培根所用的密码是一种本质上用二进制数设计的。不过,他没有用通常的0和1来表示,而是采用a和b。下面是他设计的26个英文字母二进制表示法。
A aaaaa
B aaaab
C aaaba
D aaabb
E aabaa
F aabab
G aabba
H aabbb
I abaaa
J abaab
K ababa
L ababb
M abbaa
N abbab
O abbba
P abbbb
Q baaaa
R baaab
S baaba
T baabb
U babaa
V babab
W babba
X babbb
Y bbaaa
Z bbaab
编写密码时,把密文每五个字母为一组,凡是其中的正体字母代表a,斜体字母代表b。随意选取句子或文章,就可以通过改变字母的写法来加密了。
此外,还有
字母表顺序-数字
进制转换密码
Mod算法
倒序
间隔
字母频率
凯撒密码(Caesar Shifts, Simple Shift)
凯撒移位(中文版)
栅栏密码(The Rail-Fence Cipher)
维吉尼亚密码(Vigenère Cipher)
Polybius密码(Polybius Cipher)
ADFGX/ADFGVX密码(ADFGX/ADFGVX Cipher)
ADFGX
ADFGVX
乘法密码(Multiplication Cipher)
仿射密码(Affine Shift)
希尔密码(Hill Cipher)
加密
解密
Playfair密码(Playfair Cipher)
摩斯电码
置换密码(Transposition Cipher)
替代密码(Monoalphabetic Substitution)
字母表数字
字母表代码
反字母表
随机乱序字母
棋盘密码
键盘密码
键盘移位
软键盘密码
数字小键盘密码
手机键盘密码
数字谐音密码
数字记忆编码
百度/Google/网页字符
百度字符(GB2312)
Google字符(URI)
网页编码(Unicode)
Alt+数字小键盘
MD5
超字数不一一解释了。可以百度。
我对“恩尼格玛”密码机很感兴趣,趁着考完AP历史和物理休息的时间,整理一下我自己学到的东西,包括密码的历史和恩尼格玛的历史。
I am interested in the "Enigma" cipher machine. While taking a break after AP history and physics exam. I organized what I have learned, including the history of cipher and enigma.
密码学是研究密码技术的科学,目的是研究保障信息安全的技术和手段。
密码在中外历史上古代就有广泛的应用,比如中国的狼烟,消息树,古罗马的凯撒密码等,这些密码都是利用简单的直接想象编制完成的。现代的密码学原理直到20世纪初都才逐渐形成,现代的密码学是数学+通信+计算机科学等学科于的交叉科学。
Cryptography is the study of the science of cryptography, the purpose of which is to study the technology and means to ensure information security.
Passwords have been widely used in Chinese and foreign history, such as the Chinese "Wolf smoke", "message tree", and the ancient Roman "Caesar" ciphers.
The principles of modern cryptography were not gradually formed until the early 20th century. Modern cryptography is an interdisciplinary science of mathematics, communication and computer science
一、几个非常有意思的例子
唐朝武则天朝执政期间,宰相裴炎与徐敬业(就是骆宾王著名的檄文《为徐敬业讨武曌檄》中的徐敬业)勾搭造反,裴给徐送去一封密信,书信被武则天查获。信中只有“青鹅”两个字,武则天识破密信内容,“青”字可以拆分成“十二月”,繁体的“鹅”,可以拆分成“我自与”,断定裴炎十二月要造反,将裴炎处死于洛阳。
古罗马皇帝恺撒向前线司令官发出了一封密信:VWRS WUDIIF,密信的内容被敌方截获,但是敌方根本不了解这是什么意思,但罗马的前线司令官却很快明白了。因为古罗马皇帝同时发出的还有另外一封密信:前进三步,两封信结合到一起,VWRS WUDIIF就是STOP TRAFFIC。
二、古典密码
原始的加密方法,也被称为古典密码,大致有以下几种,
1、棋盘密码
公元前两世纪,一个希腊人提出了棋盘密码,原理是把26个字母放合5x5的方格里,其中i、j放在同一个格中,具体如下表:
如果α是该字母所在行的标号,β是列标号,那么每个字母就对应了由两个数字αβ构成的字符。如果接收到密文为:11、35、12、24、34、31、34、22、54,对应的明文就是:A P B I O L O G Y。
2、替代密码法
典型的替代密码法是凯撒密码,以上文的前进三步为例:“VWRS WUDIILF”+“前进三步”,按照字母表,前进三步,就出现了如下的转换:v—s、w—t、r—o、s—p、w—t、U—r、d—a……,最后解密为 STOP TRAFFIC。
法国人维吉尼亚1585年在凯撒密码基础上,使用一系列凯撒密码组成密码字母表的加密方法,被称作维吉尼亚密码。
假设明文为:
ATTACKLONDON
选择一个关键词作为密钥,关键词重复使用,如果关键词为LEMON,对应上述明文的密钥为:LEMONLEMONLE
明文的第一个字母A,对应密钥的第一个字母L,使用表格中L行字母表进行加密,得到密文第一个字母L。类似,明文第二个字母为T,在表格中使用对应的E行进行行加密,得到密文第二个字母X。如此类推,可以得到:
明文:ATTACKLONDON
密钥:LEMONLEMONLE
密文:LXFOPVPABOZE
3、一次性密码本
一次性密码本(One Time Pad,缩写为OTP)是古典密码学中的一种加密算法。以随机的密钥组成明文,且只使用一次。
理论上,此种密码具有完善保密性,是牢不可破的。
恩尼格玛密码机(德语:Enigma,又译哑谜机,或谜)是一种用于加密与解密文件的密码机。
恩尼格玛密码机在1920年代早期开始被用于商业,一些国家的军队与政府也曾使用过它,其中的主要使用者是第二次世界大战时的纳粹德国。它作为世界上第一部机械密码机,结束了手摇编码的历史,其工作原理奠定了当今计算机加密的基础。
密码主要用于军事,无论古今中外,概莫能外。据《六韬》所载,3000年前由姜子牙发明了“阴符”,这就是最初的密码。后被广泛运用于我国古代维护国家安全的军事活动和情报活动中。
相传姜太公带领的周军指挥大营被叛兵包围,情况危急。姜太公令信使突围,他怕信使遗忘机密,又怕周文王不认识信使,耽误军务大事。于是就将自己珍爱的鱼竿折成数节,每节长短不一,各代表一件军机,令信使牢记,不得外传。
信使回到朝中,文王令左右将几节鱼竿合在一起,亲自检验。他辨认出是姜太公的心爱之物,便亲率大军解了姜太公之危。事后,姜太公妙思如泉涌,他将鱼竿传信的办法加以改进,便发明了“阴符”。后来又演化成皇帝和大将各执一半的“虎符”,作为调兵遣将的凭证。
宋朝时,官方便将常用的40个军事短语,分别用40个字来代替,然后编出一首40个字的诗,作为破译的“密码本”。到了明朝,戚继光发明了反切码,他还专门编了两首诗歌,作为“密码本”。这两首诗歌是反切码全部秘密所在,它使用汉字注音方法中的“反切法”,取声母和韵母按照顺序进行编号,再进行读取。其原理与现代密电码的设计原理完全一样,但却比现代密码更难破译。
那么西方的情况又是如何呢?
在古希腊,人们用一条带子缠绕在一根木棍上,沿木棍纵轴方向写好明文,解下来的带子上就只有杂乱无章的密文字母。解密者只需找到相同直径的木棍,再把带子缠上去,沿木棍纵轴方向即可读出有意义的明文。
公元前1世纪,凯撒密码被用于高卢战争中,这是一种简单易行的单字母替代密码。战前凯撒设计了一种对重要的军事信息进行加密的方法,即使这些信息被截获,敌方也不一定能看懂。其实,凯撒密码字母移位的位数就是一种简单易行的单字母替代密码。密码轮是利用凯撒密码来应用的,通过把字母移动一定的位数来实现加密和解密。
计算机因解码而诞生
工业革命后,密码学也进入了机器时代、电子时代。上世纪20年代,人们发明了各种机械设备来自动进行加解密,于是就出现了密码机。因为大多数密码机使用连线接通各个机械转轮,实现密码代换,所以也称之为“转轮机时代”。
世界上最著名的密码机是德国在第一次世界大战时发明的“谜”。
“谜”是世界上第一部机械密码机,其工作原理奠定了当今计算机加密的基础。这种密码融数学、物理、语言、历史、国际象棋原理、纵横填字游戏等为一体,被希特勒称为“神都没办法破译的世界第一密码”。一份德国报告称:“谜”能产生220亿种不同的密钥组合,假如一个人日夜不停地工作,每分钟测试一种密钥的话,需要约4.2万年才能将所有的密钥可能组合试完。
二战期间,“谜”被德军大量用于铁路、企业当中,令德军保密通讯技术处于领先地位。
盟军在破译“谜”密码过程中,吸纳了大批语言学家、人文学家、数学家、科学家加入解码队伍。电脑之父图灵, 1912~1954)也在其列。在图灵的领导下,这支优秀的队伍设计了人类的第一部电脑来协助破解工作。1939年8月,解码队伍完成了一部针对“谜”型机的密码破译机,每秒钟可处理2000个字符,绰号叫“炸弹”。半年后,它几乎可以破译所有被截获的德国情报,这使得德国的许多重大军事行动对盟军都不成为秘密。
虽然计算机因破译密码而诞生,而计算机的发展速度远远超过人类的想象。上世纪70年代,三位科学家和电脑专家设计了一个世界上最难破解的密码锁,意图利用长长的数学密码,保护储存在电脑数据库里的绝密资料,例如可口可乐配方、核武器方程式等。他们宣称,人类要想解开他们的密码,需要4万亿年。
当然,编制密码锁的三位专家没有想到,科学会发展得这样快。仅仅过了17年,世界五大洲600位专家利用1600部电脑,并且借助电脑网络,埋头苦干8个月,终于攻克了这个号称千亿年难破的超级密码锁。结果发现,藏在密码锁下的,并非可口可乐配方、核武器方程式,而是这样一句话:“魔咒是神经质的秃鹰。”
密码的民用不到30年
你恐怕没有想到,这样一个密码算法竟让发明者接受了长达5年的审判。因为,那时的密码还由军方垄断。1991年,美国学者齐默尔曼设计出一种经济而有效的产品。当时,美国法律规定,密码算法属于军火,但齐默尔曼还是铤而走险免费发放了这些加密软件。齐默尔曼被美国海关当局起诉的罪名是:“非法出口军火,给敌对国家和恐怖分子提供进攻美国的工具。”
当时,执政者认为,密码算法的广泛应用给恐怖分子、贩毒集团以可乘之机。而支持加密公众化的公民和密码学家认为,人们亟须使用密码来保护个人隐私。
随着电子商务的发展,大的商业公司也加入进来,他们需要强大的密码算法使他们能在网络时代保证业务的安全。经过5年的斗争,克林顿政府被迫更改了法律,大陪审团也放弃了对齐默尔曼定罪的想法。
随着网络时代的到来,密码成了现代都市生活中最普遍运用的个人信息认证手段,它以最简单的数字组合方式,取代各种烦琐的个人认证方法。
1993年,银行业务实行电脑联网。其中,与个人关系最紧密的是活期存款,银行从那时开始让储户设置个人密码。为了方便记忆,身份证的后几位数、生日、电话号码、门牌号等,是那时候老百姓最常用的密码。1996年,全国银行系统普及了密码的使用和设备更新。1999年开始,银行存取款必须使用密码就变成了硬性规定。现在,多数银行只要输入密码,凭存折或储蓄卡,就能进行5万元以下的支取,无需身份证。
2000年前后,国内各大网站开始大规模开发电子邮箱,那时候网站对邮箱密码的要求并不太严格,规定只要三个字符以上即可,有许多人就用ABC、123等做密码。在收到了用户邮箱被盗的反馈后,网站将密码最少数位提升至6位。现在这些以数字和字母搭配的“软密码”也越来越不安全了。例如,前不久国内就有某大型网站被黑客侵入,泄露客户的大量隐私。
目前大多银行等涉及高隐私的部门都开发出针对自己安全系统的“硬密码”,即非要在客户端插上一个类似于U盘那样的“密码”,然后再输入相应的软密码才能登录相应的网站。
经过数千年的演化,我们又回到了“虎符”的年代,只不过现在的虎符是电子的了。