什么是凯撒加密法 (凯撒密码安全性)

2023-03-16 9:25:57 密码用途 思思

简单的说,就是位移加密。

比如你的密码是ABCDE

然后设置凯撒密码的偏移量为3的话

那加密之后的密码就是DEFGH

密码的种类

密码种类:

1、字母法

2、代数法

3、文字法

4、键盘法

5、密码通信卡

6、埃特巴什码

7、镜像字迹

8、运算式密码一式

9、运算式密码二式

10、运算式密码三式

11、运算式密码四式

12、运算式密码五式

13、四角密码

14、字母替换

15、历换法

16、换音词

17、凯撒方阵

18、换位密码

19、斯巴达圆棒

20、数字解经法

21、曾码汉字

密码学 - 古典加密

信息理论之父:克劳德 香农

论文《通信的数学理论》

如果没有信息加密,信息直接被中间人拦截查看、修改。

明文Plain text

密文Cipher text

加密Encryption/Encrypherment:将明文转化为密文

解密Decrytion/Decipherment:讲密文还原为明文

加密钥匙EK Encryption Key:加密时配合加密算法的数据

解密钥匙EK Encryption Key:解密时配合解密算法的数据

各个字符按照顺序进行n个字符错位的加密方法。

(凯撒是古罗马军事家政治家)

多次使用恺撒密码来加密并不能获得更大的安全性,因为使用偏移量A加密得到的结果再用偏移量B加密,等同于使用A+B的偏移量进行加密的结果。

凯撒密码最多只有25个密匙 +1到+25 安全强度几乎为0

(密钥为0或26时,明文在加密前后内容不变)

暴力枚举

根据密文,暴力列出25个密匙解密后的结果。

凯撒密码的例子是所有 单字母替代式密码 的典范,它只使用一个密码字母集。

我们也可以使用多字母替代式密码,使用的是多个密码字母集。

加密由两组或多组 密码字母集 组成,加密者可自由的选择然后用交替的密码字母集加密讯息。

(增加了解码的困难度,因为密码破解者必须找出这两组密码字母集)

另一个多字母替代式密码的例子“维吉尼亚密码”,将更难解密

(法语:Vigenère cypher),

它有26组不同用来加密的密码字母集。

每个密码字母集就是多移了一位的凯撒密码。

维吉尼亚方格(替换对照表):

维吉尼亚密码引入了密匙概念。

同一明文在密文中的每个对应,可能都不一样。

移位式密码,明文中出现的字母依然出现在密文中,只有字母顺序是依照一个定义明确的计划改变。

许多移位式密码是基于几何而设计的。一个简单的加密(也易被破解),可以将字母向右移1位。

例如,明文"Hello my name is Alice."

将变成"olleH ym eman si ecilA."

密码棒(英语:scytale)也是一种运用移位方法工具。

明文分组,按字符长度来分,每5个字母分一组。

并将各组内的字符的顺序进行替换。

具体例子

纵栏式移项密码

先选择一个关键字,把原来的讯息由左而右、由上而下依照关键字长度转写成长方形。接着把关键字的字母依照字母集顺序编号,例如A就是1、B就是2、C就是3等。例如,关键字是CAT,明文是THE SKY IS BLUE,则讯息应该转换成这样:

C A T

3 1 20

T H E

S K Y

I S B

L U E

最后把讯息以行为单位,依照编号大小调换位置。呈现的应该是A行为第一行、C行为第二行、T行为第三行。然后就可以把讯息"The sky is blue"转写成HKSUTSILEYBE。

另一种移位式密码是中国式密码(英语:Chinese cipher),移位的方法是将讯息的字母加密成由右而左、上下交替便成不规则的字母。范例,如果明文是:THE DOG RAN FAR,则中国式密码看起来像这样:

R R G T

A A O H

F N D E

密码文将写成:RRGT AAOH FNDE

绝大多数的移位式密码与这两个范例相类似,通常会重新排列字母的行或列,然后有系统的移动字母。其它一些例子包括Vertical Parallel和双移位式(英语:Double Transposition)密码。

更复杂的算法可以混合替代和移位成为积密码(product cipher);现代资料区段密码像是DES反复位移和替代的几个步骤。

行数=栏数

明文,分为N栏(N行) 按照明文本来的顺序,竖着从上往下填。

【实例1】

明文123456

栏数2(行数2)

密文135246

135

246

拆成2行(2栏),竖着看密文——得到明文

【实例2】明文123456789abcdefghi 栏数9 (行数)---密文1a2b3c4d5e6f7g8h9i

拆成9行竖着看密文.

1a

2b

3c

4d

5e

6f

7g

8h

9i

古典密码【栅栏密码安全度极低】组成栅栏的字母一般一两句话,30个字母。不会太多! 加解密都麻烦

是指研究字母或者字母组合在文本中出现的频率。应用频率分析可以破解古典密码。

工具

在线词频分析

古典密码安全算法有哪些?

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

棋盘密码,原因为该密码将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越长,保密程

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

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

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

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

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

其参考价值。

恺撒密码的原理

密码的使用最早可以追溯到古罗马时期,《高卢战记》有描述恺撒曾经使用密码来传递信息,即所谓的“恺撒密码”,它是一种替代密码,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母D,将字母B换作字母E。因据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。这是一种简单的加密方法,这种密码的密度是很低的,只需简单地统计字频就可以破译。现今又叫“移位密码”,只不过移动的位数不一定是3位而已。

密码术可以大致分为两种,即移位和替换,当然也有两者结合的更复杂的方法。在移位中字母不变,位置改变;替换中字母改变,位置不变。

将替换密码用于军事用途的第一个文件记载是恺撒著的《高卢记》。恺撒描述了他如何将密信送到正处在被围困、濒临投降的西塞罗。其中罗马字母被替换成希腊字母使得敌人根本无法看懂信息。

苏托尼厄斯在公元二世纪写的《恺撒传》中对恺撒用过的其中一种替换密码作了详细的描写。恺撒只是简单地把信息中的每一个字母用字母表中的该字母后的第三个字母代替。这种密码替换通常叫做恺撒移位密码,或简单的说,恺撒密码。

尽管苏托尼厄斯仅提到三个位置的恺撒移位,但显然从1到25个位置的移位我们都可以使用, 因此,为了使密码有更高的安全性,单字母替换密码就出现了。

如:

明码表 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

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

明文 T H E F A U L T, D EAR BRUTUS, L I ES N OT I N OUR ST ARS B UT I N OURSELVES.

密文 M A X Y T N EM, WX TK UKNMNL, EBX L GHM BG HN K LMT KL U NM BG HNK LXEOXL.(空格是为了和上排对齐)

只需重排密码表二十六个字母的顺序,允许密码表是明码表的任意一种重排,密钥就会增加到四千亿亿亿多种,我们就有超过4×1027种密码表。破解就变得很困难。

如何破解包括恺撒密码在内的单字母替换密码?

方法:字母频度分析

尽管我们不知道是谁发现了字母频度的差异可以用于破解密码。但是9世纪的科学家阿尔·金迪在《关于破译加密信息的手稿》对该技术做了最早的描述。

“如果我们知道一条加密信息所使用的语言,那么破译这条加密信息的方法就是找出同样的语言写的一篇其他文章,大约一页纸长,然后我们计算其中每个字母的出现频率。我们将频率最高的字母标为1号,频率排第2的标为2号,第三标为3号,依次类推,直到数完样品文章中所有字母。然后我们观察需要破译的密文,同样分类出所有的字母,找出频率最高的字母,并全部用样本文章中最高频率的字母替换。第二高频的字母用样本中2号代替,第三则用3号替换,直到密文中所有字母均已被样本中的字母替换。”

以英文为例,首先我们以一篇或几篇一定长度的普通文章,建立字母表中每个字母的频度表。

在分析密文中的字母频率,将其对照即可破解。

虽然设密者后来针对频率分析技术对以前的设密方法做了些改进,比如说引进空符号等,目的是为了打破正常的字母出现频率。但是小的改进已经无法掩盖单字母替换法的巨大缺陷了。到16世纪,最好的密码破译师已经能够破译当时大多数的加密信息。

局限性:

短文可能严重偏离标准频率,假如文章少于100个字母,那么对它的解密就会比较困难。

而且不是所有文章都适用标准频度:

1969年,法国作家乔治斯·佩雷克写了一部200页的小说《逃亡》,其中没有一个含有字母e的单词。更令人称奇的是英国小说家和评论家吉尔伯特·阿代尔成功地将《逃亡》翻译成英文,而且其中也没有一个字母e。阿代尔将这部译著命名为《真空》。如果这本书用单密码表进行加密,那么频度分析破解它会受到很大的困难。

一套新的密码系统由法国外交家维热纳尔(Blaise de Vigenère)于16世纪末确立。其密码不再用一个密码表来加密,而是使用了26个不同的密码表。这种密码表最大的优点在于能够克制频度分析,从而提供更好的安全保障。