棋盘加密算法(棋盘加密算法有哪些)

2023-02-20 4:57:35 密码用途 思思

密码学和密码(古典密码) Cryptography and Classical Cipher

我对“恩尼格玛”密码机很感兴趣,趁着考完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)是古典密码学中的一种加密算法。以随机的密钥组成明文,且只使用一次。

理论上,此种密码具有完善保密性,是牢不可破的。

棋盘加密算法(棋盘加密算法有哪些) 第1张

棋盘密码

波利比奥斯方阵

    公元前2世纪,一个叫Polybius的希腊人设计了一种将字母编码成符号对的方法。他使用了一个称为Polybius的校验表。Polybius校验表由一个5行5列的网格组成,网格中包含26个英文字母,其中I和J在同一格中。相应字母用数对表示。在古代,这种棋盘密码被广泛使用。Polybius校验表如下:

    假设我们需要发送明文信息“Hello”,找到H对应2行3列,则加密为23,e加密为15,以此类推,得到密文:2315 31 31 34。

ADFGX密码

    1918年,第一次世界大战将要结束时,法军截获了一份德军电报,电文中的所有单词都由A、D、F、G、X五个字母拼成,因此被称为ADFGX密码。ADFGX密码是1918年3月由德军上校FritzNebel发明的,是结合了波利比奥斯方阵和置换密码的双重加密方案。ADFGX密码之所以选择ADFGX一个字母,是因为它们译成摩斯密码时不容易混淆,可以降低传输错误的机率。ADFGX密码表如下:

    这样加密的话Hello的密文就是:DD XF AG AGDF。

ADFGVX密码

    ADFGX密码发送含有大量数字的信息会有问题。 在1918年6月,又加入一个字母V扩充,变成以6×6格共36个字符加密,这使得所有英文字母(不再将I和J视为同一个字)以及数字0到9都可混合使用。ADFGVX是被法国陆军中尉Georges Painvin所破解的。

棋盘密码怎么区分ij

根据明文和密钥区分。

由于ij同时出现的概率较低,所以同格。ij可以根据明文和密钥来区分。

棋盘密码是利用波利比奥斯方阵进行加密的密码方式,产生于公元前两世纪的希腊,相传是世界上最早的一种密码。

古典加密算法有哪些 古典加密算法

世界上最早的一种密码产生于公元前两世纪。是由一位希腊人提出的,人们称之为

棋盘密码,原因为该密码将26个字母放在5×5的方格里,i,j放在一个格子里,具体情

况如下表所示

1 2 3 4 5

1 a b c 搜索d e

2 f g h i,j k

3 l m n o p

4 q r s t u

5 v w x y z

这样,每个字母就对应了由两个数构成的字符αβ,α是该字母所在行的标号,β是列

标号。如c对应13,s对应43等。如果接收到密文为

43 15 13 45 42 15 32 15 43 43 11 22 15

则对应的明文即为secure message。

另一种具有代表性的密码是凯撒密码。它是将英文字母向前推移k位。如k=5,则密

文字母与明文与如下对应关系

a b c d e f g h i j k l m n o p q r s t u v w x y z

F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

于是对应于明文secure message,可得密文为XJHZWJRJXXFLJ。此时,k就是密钥。为了

传送方便,可以将26个字母一一对应于从0到25的26个整数。如a对1,b对2,……,y对

25,z对0。这样凯撒加密变换实际就是一个同余式

c≡m+k mod 26

其中m是明文字母对应的数,c是与明文对应的密文的数。

随后,为了提高凯撒密码的安全性,人们对凯撒密码进行了改进。选取k,b作为两

个参数,其中要求k与26互素,明文与密文的对应规则为

c≡km+b mod 26

可以看出,k=1就是前面提到的凯撒密码。于是这种加密变换是凯撒野加密变换的

推广,并且其保密程度也比凯撒密码高。

以上介绍的密码体制都属于单表置换。意思是一个明文字母对应的密文字母是确定

的。根据这个特点,利用频率分析可以对这样的密码体制进行有效的攻击。方法是在大

量的书籍、报刊和文章中,统计各个字母出现的频率。例如,e出现的次数最多,其次

是t,a,o,I等等。破译者通过对密文中各字母出现频率的分析,结合自然语言的字母频

率特征,就可以将该密码体制破译。

鉴于单表置换密码体制具有这样的攻击弱点,人们自然就会想办法对其进行改进,

来弥补这个弱点,增加抗攻击能力。法国密码学家维吉尼亚于1586年提出一个种多表式

密码,即一个明文字母可以表示成多个密文字母。其原理是这样的:给出密钥

K=k[1]k[2]…k[n],若明文为M=m[1]m[2]…m[n],则对应的密文为C=c[1]c[2]…c[n]。

其中C[i]=(m[i]+k[i]) mod 26。例如,若明文M为data security,密钥k=best,将明

文分解为长为4的序列data security,对每4个字母,用k=best加密后得密文为

C=EELT TIUN SMLR

从中可以看出,当K为一个字母时,就是凯撒密码。而且容易看出,K越长,保密程

度就越高。显然这样的密码体制比单表置换密码体制具有更强的抗攻击能力,而且其加

密、解密均可用所谓的维吉尼亚方阵来进行,从而在操作上简单易行。该密码可用所谓

的维吉尼亚方阵来进行,从而在操作上简单易行。该密码曾被认为是三百年内破译不了

的密码,因而这种密码在今天仍被使用着。

古典密码的发展已有悠久的历史了。尽管这些密码大都比较简单,但它在今天仍有

其参考价值。世界上最早的一种密码产生于公元前两世纪。是由一位希腊人提出的,人们称之为

棋盘密码,原因为该密码将26个字母放在5×5的方格里,i,j放在一个格子里,具体情

况如下表所示

1 2 3 4 5

1 a b c 搜索d e

2 f g h i,j k

3 l m n o p

4 q r s t u

5 v w x y z

这样,每个字母就对应了由两个数构成的字符αβ,α是该字母所在行的标号,β是列

标号。如c对应13,s对应43等。如果接收到密文为

43 15 13 45 42 15 32 15 43 43 11 22 15

则对应的明文即为secure message。

另一种具有代表性的密码是凯撒密码。它是将英文字母向前推移k位。如k=5,则密

文字母与明文与如下对应关系

a b c d e f g h i j k l m n o p q r s t u v w x y z

F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

于是对应于明文secure message,可得密文为XJHZWJRJXXFLJ。此时,k就是密钥。为了

传送方便,可以将26个字母一一对应于从0到25的26个整数。如a对1,b对2,……,y对

25,z对0。这样凯撒加密变换实际就是一个同余式

c≡m+k mod 26

其中m是明文字母对应的数,c是与明文对应的密文的数。

随后,为了提高凯撒密码的安全性,人们对凯撒密码进行了改进。选取k,b作为两

个参数,其中要求k与26互素,明文与密文的对应规则为

c≡km+b mod 26

可以看出,k=1就是前面提到的凯撒密码。于是这种加密变换是凯撒野加密变换的

推广,并且其保密程度也比凯撒密码高。

以上介绍的密码体制都属于单表置换。意思是一个明文字母对应的密文字母是确定

的。根据这个特点,利用频率分析可以对这样的密码体制进行有效的攻击。方法是在大

量的书籍、报刊和文章中,统计各个字母出现的频率。例如,e出现的次数最多,其次

是t,a,o,I等等。破译者通过对密文中各字母出现频率的分析,结合自然语言的字母频

率特征,就可以将该密码体制破译。

鉴于单表置换密码体制具有这样的攻击弱点,人们自然就会想办法对其进行改进,

来弥补这个弱点,增加抗攻击能力。法国密码学家维吉尼亚于1586年提出一个种多表式

密码,即一个明文字母可以表示成多个密文字母。其原理是这样的:给出密钥

K=k[1]k[2]…k[n],若明文为M=m[1]m[2]…m[n],则对应的密文为C=c[1]c[2]…c[n]。

其中C[i]=(m[i]+k[i]) mod 26。例如,若明文M为data security,密钥k=best,将明

文分解为长为4的序列data security,对每4个字母,用k=best加密后得密文为

C=EELT TIUN SMLR

从中可以看出,当K为一个字母时,就是凯撒密码。而且容易看出,K越长,保密程

度就越高。显然这样的密码体制比单表置换密码体制具有更强的抗攻击能力,而且其加

密、解密均可用所谓的维吉尼亚方阵来进行,从而在操作上简单易行。该密码可用所谓

的维吉尼亚方阵来进行,从而在操作上简单易行。该密码曾被认为是三百年内破译不了

的密码,因而这种密码在今天仍被使用着。

古典密码的发展已有悠久的历史了。尽管这些密码大都比较简单,但它在今天仍有

其参考价值。