作为古典密码学时代加密法发展的巅峰,恩尼格玛机的出现,意味着从此开始,密码学不再依赖纸和笔的运算,使用机械和电子加密的时代正式到来。
第一台恩尼格玛机,是一战刚刚结束的时候由德国发明家雪毕伍斯(Arthur Scherbius)和里特(Richard Ritter)制造出的。
它主要由三部分组成,分别是键盘、编码器和显示板。
1.键盘
这相当于恩尼格玛机的“输入设备”,它与普通打字机相似,用来输入信息的原文。但出于安全考虑,键盘只有26个字母,而没有标点符号。
2.显示板
这相当于恩尼格玛机的“输出设备”,板上显示26个字母,每个字母下面有一个小灯泡,用来显示加密或解密后的字母。
3.编码器
这是恩尼格玛机的核心部分,由一堆可以手工设置的机械部件组成,主要包括了转子、反射器和接线板,通过线路与键盘和显示板相连接,任何地方的调整都会改变加密的结果。
转子一般有3套齿轮,类似于时钟的时针、分针、秒针,位于最右侧的齿轮每转动一圈,中间的齿轮转动一个刻度,每个齿轮有26个刻度,代表26个字母;
反射器固定不动,它与转子的3套齿轮位于同一个轴上,可以使解码过程完全重现编码过程;
接线板一般有6根连接线,将26个字母中的12个两两相连,比如字母A和B相连,那么输入字母A时,显示的就是B。
输入的字母每经过编码器中的一个装置,就会完成一次替换。
通过恩尼格玛机的组成可以看出,它基于的原理仍然是第二代加密法——替代法,只不过由于经过了多套替换,对应的原文与密文之间存在数以亿计种可能,同时也使频率分析法无用武之地。
使用恩尼格玛机完成一次加密,大概要经过9个步骤:
1.设置好三个转子的初始值,并用6根插头电线连好接线板上的6对插口;
2.在键盘上打明文,每打一个字母,该字母信号就会通过相应的电线传到接线板;
3.在接线板上,如果该字母恰好属于6对连接起来的插口中的一对,则字母互换,否则字母不变,通过接线圆环把字母信号传到右面第一个齿轮上;
4.该齿轮通过内部电线的连接方式,对输入的字母进行替换,然后传到中间的转轮,同时自己转运一个刻度;
5.中间的齿轮再对字母进行替换,然后传到左边第一个齿轮;如果这时右边的齿轮恰好从25刻度转到0刻度,则中间齿轮转动一个刻度,否则不转;
6.左边的齿轮再对字母进行替换,然后传给最左边的反射器;如果这时中间的齿轮恰好从25刻度转到0刻度,则左边齿轮转动一个刻度,否则不转;
7.反射器对字母进行替换,然后传回给左边齿轮;
8.字母信号再从左边齿轮、中间齿轮、右边齿轮和接线板依次转回,每经过一次都会进行一次字母替换;
9.最后,信号传到字母板上,使相应字母下面的小灯泡点亮,显示出加密后的字母。
那么,这个加密过程,其安全性能达到什么程度呢?
我们可以看到,在整个加密过程中,一个字母要经过7-9次的替换:被3套齿轮各替换两次,被反射器替换一次,共7次;如果还经过接线板,则再加两次,一共9次。
再来计算一下有多少种替换的可能:
a.3个齿轮的排列位置可以是任意的,所以共有 种排列方式;
b.3个齿轮的排列位置确定后,一共可以有 种初始转动位置;
c.接线板上,从26个字母中任意选取6对字母互换的方式可以有
种
所以,替换的可能数有:
共有1亿亿余种可能。
更为关键的是,如此复杂的替换过程完成由机械完成,加密人员只需要设定好转子的初始位置,连接好接线板,然后像打字员一样正常输入字母就可以,密文随之自动生成。
这也就是恩尼格玛机为何如此受青睐的原因,它达到了安全和效率的完美平衡。
这样强大的加密杀器,究竟能不能被破解呢?
往期文章:
密码那些事儿|(十三)尴尬的维吉尼亚3.0
密码那些事儿|(十二)短命的维吉尼亚2.0
密码那些事儿|(十一)南北战争时的维吉尼亚密码大战
密码那些事儿|(十)“钥匙”打开维吉尼亚的锁
密码那些事儿|(九)维吉尼亚登场
密码那些事儿|(八)玛丽女王被密码改变的人生
密码那些事儿|(七)以频率之矛,攻移位之盾
密码那些事儿|(六)中外古时候的移位加密
密码那些事儿|(五)换个位置,面目全非
密码那些事儿|(四)隐藏的消息
密码那些事儿|(三)“风语者”——从未被破解的密码
本人是官方授权会员推广专员,点击 会员专属通道 成为会员,您将会获得钻奖励及诸多权益!
《钻奖励调整公告》
char mycrypt ( char ch, int key )
{
if ( ch = 'Z' ch = 'A' )
{
ch -= 'A';
ch += 26 + key;
ch = ch % 26;
ch += 'A';
}
else if ( ch = 'z' ch = 'a' )
{
ch -= 'a';
ch += 26 + key;
ch = ch % 26;
ch += 'a';
}
return ch;
}
将中文汉字转换翻译成摩斯密码保护隐私需要下载报译之星和莫斯密码转换器,然后具体操作如下:
准备材料:莫尔斯密码翻译器(译报之星)。
1、下载译报之星软件,然后打开软件,会看到如下界面。
2、在软件的在上部粘贴文件,可以右键粘贴,也可以选择右侧的粘贴按钮。
3、也可以在软件上选择导入文档文本,选择本地的文件进行导入。
4、点击右侧的电报码选项,在下面的框中就会自动将中文内容编译成数字代号。
5、然后点击右侧的复制按钮,复制下部的数字代号。
6、再打开软件中的如下名称软件。
7、粘贴数字代码。
8、点击“EN”,实现编译成摩斯密码。
9、可复制粘贴。
注意事项:
需要下载两个软件,一个是译报之星,另一个是莫斯密码转换器,下载的时候要找到官网下载,防止下载一系列广告软件,设置了摩斯密码保护的文件,不要忘记怎么转化回来。
概述
加密转接器仅兼容Fat32 分区格式的单分区U盘,目前不兼容移动硬盘,不兼容NTFS分区格式的U盘,不兼容多分区的U盘。
加密转接器采用具有国密资质的32位高速加密流芯片,USB存储设备(U盘,移动硬盘等)通过连接加密转接器,将数据加密后存储到磁盘中,升级普通的USB存储设备为加密U盘,保护U盘里的“秘密”,解决因U盘等移动存储设备丢失而发生信息泄密的问题。
特点
硬件芯片加密、国密算法
● 采用同方自主研发的TF32A09高速加密芯片,对需保护的“秘密”采用芯片级加密。
● 采用国家密码管理局指定密码算法,算法抗破解能力强。
简单易用、高速加密
● 即插即用,不需安装驱动。
● 加解密速度高达20MB/s,是加密U盘、加密移动硬盘加密速度的5倍。
抗口令破解及密钥自动销毁
● 累计输入错误登陆口令5次,将触发设备密钥自动销毁,设备恢复为出厂设置,可有效防止恶意口令攻击的行为。
应用场景
● 全磁盘加密
将磁盘内的数据全部加密,需要对第一次接入的磁盘设备全盘格式化,创建安全的密文文件系统,之后拷贝到磁盘的文件将被加密保存。当磁盘脱离加密转接器,磁盘内的“秘密”文件将不能被识别,无法打开,不会发生泄密。
此版产品兼容普通的U盘和移动硬盘,不兼容加密U盘、加密移动硬盘,以及带有光盘分区的U盘、移动硬盘等有特殊功能的U盘和移动硬盘。
● 文件加密
通过加密转接器拷贝到磁盘的文件被加密保存,通过电脑直接拷贝到磁盘的文件不受保护,没有被加密;不需创建密文文件系统,因此不格式化磁盘,不破坏磁盘的原有文件。
此版产品仅兼容Fat32 分区格式的单分区U盘,目前不兼容移动硬盘,不兼容NTFS分区格式的U盘,不兼容多分区的U盘
我对“恩尼格玛”密码机很感兴趣,趁着考完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)是古典密码学中的一种加密算法。以随机的密钥组成明文,且只使用一次。
理论上,此种密码具有完善保密性,是牢不可破的。
把密文放入input框
【Decoder】选项卡 - 点击action中的单选框Enumerate to File(枚举并保存为文件)
点击operators中的单选框Character Shift
点击Decode就在程序目录生成一个枚举结果textdecodertoolkit_CS.txt
搜索“the”发现第50行就是明文。
利用明文字符间的ascii差值 =密文字符间的ascii差值
打开Text Decoder Toolkit
statistics(统计)选项卡
在Difference内的 Value1 Value2 分别填入值
点击Calculate计算出 差值difference = value2 - value1
h-e-l-l-o的差值为
-3 7 0 3
即
h - e得到差值-3
l - e得到差值7
...
如果hello的ascii码都增加10得到密文rovvy
hello、rovvy字母间ascii码差值相同: -3 7 0 3
操作:
点击statistics(统计)选项卡,在Distance中的Match String(匹配字符串)中填入“the”(或任何可能大量出现的单词)
工具箱会试图帮你找到密文中 相同差值 (Distance,间距)的字符串的位置。
比如返回
Found first match at position: 14
Shift value: 50
得到ascii码增加值(Shift value):50 在Custom Substitution Table中填入50可得到明文。
实例:
回到“Statistics”选项中,我在输出框(明文)【选中】了一个可能是“I”的字符,点击“Get Hightlighted Char”(突出显示字符)
程序将提取并显示输入相应的字符value1 和输出框相应的字符value2
value1:{ value2:�
本例中我认为“{”对应的明文应该是大写“I”,所以把value2的“�”改为“I”
value1:{ value2:I
点击“Calculate Difference” 得到差值“-50”
差值difference = value2 - value1
得到了两个不同的差值(字符替换值)
我们再次【映射字符】进行解码:打开选项卡“Custom Substitution Table”(自定义替换表,很直观,类似ASCII表映射)
对任一字符进行映射(替换)的方法:ascii码为032的是空格“ ”字符,如果在032-SPC处的【增量框】填入17再点convert
【output输出框】内的“ ”都变为字符“1”(因为032+17=049 49是字符“1”的ascii码)
如果密文中的空格就是明文的空格,那么空格这个字符是不用转换的,在032-SPC【ascii码增量框】填0 字符不变。
为了填入方便,这种表在第一行某个增量框输入一个值,这1列都赋值为这个值,但我们要注意修改,比如明文密文中空格不用转换,增量框填0
wikipedia
频率从大到小:
E T A O I N S H R
然后是 D L C U M W F G Y P B V K J X Q Z
Letter Relative frequency in the English language
字母 在英语中的相对频率(从高到低)
e 12.702%
t 9.056%
a 8.167%
o 7.507%
i 6.966%
n 6.749%
s 6.327%
h 6.094%
r 5.987%
d 4.253%
l 4.025%
c 2.782%
u 2.758%
m 2.406%
w 2.361%
f 2.228%
g 2.015%
y 1.974%
p 1.929%
b 1.492%
v 0.978%
k 0.772%
j 0.153%
x 0.150%
q 0.095%
z 0.074%
(字母abc顺序表)
字母 在英语中的相对频率
a 8.167%
b 1.492%
c 2.782%
d 4.253%
e 12.702%
f 2.228%
g 2.015%
h 6.094%
i 6.966%
j 0.153%
k 0.772%
l 4.025%
m 2.406%
n 6.749%
o 7.507%
p 1.929%
q 0.095%
r 5.987%
s 6.327%
t 9.056%
u 2.758%
v 0.978%
w 2.361%
x 0.150%
y 1.974%
z 0.074%
英文单词 一个单词的首字母相对频率,从最常见到不常见一般是:
The first letter of an English word, from most to least common
Letter Relative frequency as the first letter of an English word
字母 相对频率(某英文单词首字母)
a 11.602%
b 4.702%
c 3.511%
d 2.670%
e 2.007%
f 3.779%
g 1.950%
h 7.232%
i 6.286%
j 0.597%
k 0.590%
l 2.705%
m 4.383%
n 2.365%
o 6.264%
p 2.545%
q 0.173%
r 1.653%
s 7.755%
t 16.671%
u 1.487%
v 0.649%
w 6.753%
x 0.017%
y 1.620%
z 0.034%