密码技术专题(二)——古典密码体制

合集下载

第2章 古典密码学体制

第2章 古典密码学体制

– 密文: giffg hddn0 njngn cuaa0 inano meiog – 解密:加密的逆过程; 463521
6
课堂练习

对明文”can you believe her‖分别按以下算 法加密,求密文。
1. 2. 3. 4.
倒序置换密码; 密钥为3421的周期置换密码; 密钥为love的周期置换密码; 密钥为love的列置换密码;
– Vigenere密码;
• (4)多字母组代替密码(polygram substitution cipher)
– Playfair密码
10
同音代替密码
• homophonic Substitution cipher • 与简单代替密码系统相似,唯一的不同是单个字符可以映 射成密文的几个字符之一。 • 一个明文字母表的字母a,可以变换为若干密文字母f(a), 称为同音字母。 • 同样的明文,加密所得的密文可能不相同。 • 举例:
明文:M=m1m2…mi…ml 密文:C=c1c2 …c i …c l 工作钥:K=K1 K 2 …K i …K l

加密变换:
– – –

例:用户钥为cat,对明文“vigenere cipher‖加密

加密:ci=mi+Ki mod n,其中n为明文字母表的长度
M: K: C:
v c x
i a i
• 置换起到扩散(diffusion)的作用,代替起到混乱 (confusion)的作用。 • 扩散(diffusion)和混乱(confusion)是对称密码 设计的基本思想。置换和代替在现代密码设计中 仍然被采用:S盒,P盒;SP结构。
3
提纲
• 1 置换密码 • 2 代替密码 • 3 转轮机 • 4 ENIGMA的兴亡 • 作业

密码学-第2章古典密码

密码学-第2章古典密码

问题:
置换和换位的定义、区别?
作业:
习题2.1、2.2、2.3、2.4、2.6
抽象代数
群:由一个非空集合和一个二元运算组成,并满 足封闭性、结合性、单位元、逆元的代数系统。
乘法群
环:一个集合,可以在其上进行加法和乘法运算 而封闭。
交换环:对于乘法运算可交换
域:非零元都有乘法逆的交换环。
设明文m = (m1, m2, …, mn) ∈Z26n,密文c= (c1, c2, …, cn) ∈ Z26n ,密钥为Z26上的的n×n阶可逆 方阵K = (kij) n×n ,则 c = mK mod 26, m = cK-1 mod 26。
例2.4 设n=2,密钥为 11 8 7 18 -1 K= ,容易计算 K = 3 7 23 11 设明文为Hill, 则相应的明文向量为(7,8)和( 11,11)。于是,相应的密文向量 分别为 11 (7,8) 3 11 ( 11,11) 3 8 77 24, 56 56 )=(23,8), =( 7 8 121 33, 88 77 )=(24, 9 ), =( 7
表2.4称为Vigenere方阵(书P12)。当用密钥字 母ki对明文字母mi进行加密时,Vigenere方阵中 的第ki行第mi列的字母就是相应的密文字母。
例2.2
设明文为 This cryptosystem is not secure, 密钥为cipher, 则密文为:
VPXZGI AXIVWP UBTTMJ PWIZIT WZT。
有限域(伽罗瓦域):GF(2)
第2章 古典密码
主要内容
古典密码中的基本加密运算 几种典型的古典密码体制 古典密码的统计分析

2 古典密码

2 古典密码

• 实用加密体制需满足:
1.Εk,Dk易于计算
2.对任何敌手,即使获得密文y,不可能由此确
定k和x。
• 已知y,试图得到k的过程,称为密码分析。 • 要求:通过y计算k至少与通过y计算x同样困难。
移位密码不安全,可用穷尽密钥搜索破译 例: 密文 V H F X U LW B v h f x ul wb u g e w tk va
Jiangsu University
2 古典密码
古典密码体制

古典密码有两个基本工作原理:
代换(substitution) 置换(permutation)

这两个基本工作原理在仍然是现代对称加密算法的最重要 的核心技术

现代对称密码DES和AES中就有这两个工作原理的应用
11/10/15 10:57
• 已知m,确定K=(k1,k2,…km)
---- f0,f1,…,f25为A,B,…,Z在yi中出现的频数,n’=n/m为yi长度 26个字母在yi中的概率分布为: f0/n’,f1/n’,…,f25/n’ ---- yi中是由明文子集中字母移ki位所得,故移位后概率分布 fki/n’,f1+ki/n’,…,f25+ki/n’ 应近似等于p0,p1,…,p25 ---- 定义Mg=∑(pifi+g)/n’, g=0,1,…25
如果g=ki,
Mg ≈ ∑pi2=0.065
如果g≠ki, Mg 一般应该<0.065 对每个i,由此确定ki

换位密码
换位密码,也成为置换密码,通过重新排列消息中元素的位 置而不改变元素本身来变换一个消息,这种思想广泛应用于 现代分组密码的构造。
密钥为置换: 加密算法为: 显然有: 解密算法为:

第5讲第2章 数据加密技术(古典密码)

第5讲第2章 数据加密技术(古典密码)

一、古典密码 一、古典密码
⑴单表代替密码
②、乘法密码(采样密码) 乘法密码(采样密码) • A和B是有n个字母的字母表。 个字母的字母表。 • 定义一个由A到B的映射:f:A→B 定义一个由A 的映射:
f(ai )= bi= aj j=ik mod n 其中,(n,k)=1。 其中, n,k)=1。 • 注意:只有(n,k)=1,才能正确解密。 注意:只有(n,k)=1,才能正确解密。
解密就是利用Vigenre方阵进行反代替。 方阵进行反代替。
一、古典密码 一、古典密码
3、代数密码: 代数密码:
① Vernam(弗纳姆)密码 Vernam(弗纳姆 弗纳姆)
明文、密文、密钥都表示为二进制位: 明文、密文、密钥都表示为二进制位:
M=m1,m2,… ,mn K =k1,k2,… ,kn C =c1,c2,… ,cn ② 加密 : c1= mi⊕ ki ,i=1,2,… ,n 解密 : m1= ci⊕ ki ,i=1,2,… ,n 因为加解密算法是模2 所以称为代数密码。 ③因为加解密算法是模2加,所以称为代数密码。 对合运算: 加运算是对合运算。 ④对合运算:f=f-1,模 2加运算是对合运算。
d
d
d
一、古典密码 一、古典密码
⑴单表代替密码
仿射密码(加法密码+乘法密码) 仿射密码(加法密码+乘法密码) • A和B是有n个字母的字母表。 个字母的字母表。 • 定义一个由A到B的映射:f:A→B 定义一个由A 的映射: f(ai )= bi= aj j=ik1+k0 mod n 其中,(n,k1)=1。 )=1。 其中,
Vigenere密码(1858):著名的多表代替密码 密码(
一、古典密码 一、古典密码

第2讲古典密码体制37页PPT

第2讲古典密码体制37页PPT
a b ( mod m )
若m不能整除a-b,则称a, b关于模m不同余。正整数m
称为模数。
明显地: 29 5 ( mod 8 ) 101 3 ( mod 7 ) -101 4 ( mod 7 ) 121 ,4关于模2不同余
易知 :a b ( mod m )
a ( mod m ) b ( mod m )
2020/3/26
14
移位密码实质上是正整数m上模运算,特别用Zm={0,1,…,m-1} 表示模m的剩余类,定义Zm上的加法和乘法,它完全类似于普通的 实数域上的数的加法和乘法,不同的仅是运算结果是取模以后的余 数。
-定义(移位密码算法):
设P = C = K = Z26,对0 k 25,即kK, x , yZ26,定义
(5) ( ab )( mod m ) a ( mod m )b ( mod m ) (6) 若a b ( mod m),c d ( mod m ), 则l,kZ(整数集合),
有la kc lb kd( mod m ) ,且ac bd ( mod m ) (7)设f(x)与g(x)分别是两个整系数多项式:
第2章 古典密码体制
2学时
2020/3/26
1
知识点:
◇ 隐写术 ◇ 替换(代替)密码技术 ◇ 换位密码技术 ◇ 古典密码体制的安全性分析
2020/3/26
2
1. 隐写术
2020/3/26
3
诗情画意传“密语”
水洗尘埃道未甞,甘于名 利两相忘。 心怀六洞丹霞客,口诵三 清紫府章。 十里采莲歌达旦,一轮明 月桂飘香。 日高公子还相觅,见得山 中好酒浆。
2020/3/26
9
ห้องสมุดไป่ตู้
古典密码技术根据其基本原理大体上可以分为两类: 替换密码技术和换位密码技术。

02 古典密码及分析

02 古典密码及分析


已知明文攻击,known plaintext

选择明文攻击,chosen plaintext

选择密文攻击,chosen ciphertext

选择文本攻击,chosen text

西安电子科技大学计算机学院
7
基于密码分析的攻击
Cryptanalytic Attacks
An algorithm that meets one or both of the following criteria:
An encryption scheme is said to be computationally secure if either of the foregoing two criteria are met.
unconditionally secure
8
西安电子科技大学计算机学院
穷举攻击
Key Size (bits)


西安电子科技大学计算机学院
15
对称密码模型
(Symmetric Cipher Model)
西安电子科技大学计算机学院
16
西安电子科技大学计算机学院
17

对称密码安全的两个必备条件:

加密算法必须是足够强的 a strong encryption algorithm 惟有发送者和接收者知道的秘密密钥 a secret key known only to sender / receiver C = EK(P) P = DK(C)
10
密码学的发展历史

第1阶段:1949年以前

1949年以前的密码技术可以说是一种艺术,而不是一种科 学,那时的密码专家是凭直觉和信念来进行密码设计和分 析的,而不是靠推理证明。

古典密码体制.ppt

古典密码体制.ppt
E3(18) ≡18+ 3 (mod26) ≡21
数字21对应的字母为v,所以security的密文为 vhfxulwb
(2) 解密过程
D3(21) ≡21- 3 (mod26) ≡18
6
CAP will encipher/decipher using a simple shift system
Enter the plaintext
明文字母数为奇数,将空字母加在明文的末端。
14
Rule One
Using the keyword array formed from “software”
S OFTW AREB C D GHIK L MNPQ U VXYZ
15
Rule Two
Again using the keyword array formed from “software”
从代换的对应关系可知
s→u,e→f,…,y→g
因此以代换为密钥对security加密得到密文
ufmjtpyg
3
棋盘密码
1
2
3
4
5
1a
b
c
d
e
2f
g
h
ij
k
3
l
m
n
o
p
4q
r
s
t
u
5v
w
x
y
z
4
1. Caesar密码
Caesar密码是由Julins Caesar发明的,它非常简单,
就是对字母表中的每个字母,用它之后的第3个字母来代换
≡18
再把数字18转换为字母得到密文s。
解密时,先计算k1-1。有
9×3≡1(mod26)

应用密码学2-古典密码

应用密码学2-古典密码
如果我们利用上述置换表,对cyptography进行字母代换, (为了清楚,我们四个字母一组),就得到一种密码
cryp togr aphy XI BK GLT I ZKSB 这就是一种替代密码。
例:n长的英文字母串上的置换。(共有n!种) 将crptography的第一位字母和最后一个字母对调,
将第二位字母和导数第二位字母对调,依次类推, 产生一个置换。
Ee (m) (e(m1)e(m2 )) (c1c2 ) c 单表替代是用一个固定的置换 e。 对 c 解密时,计算,d e1
Dd (c) (d (c1)d (c2 )) (m1m2 ) m
恺撒密码就是单表替代密码,如果我们用数字 0,1,2,……24,25
分别表示字母A,B,C,……Y,Z,则密文字母
设 S 是一个有限集合,置换p 是从 S 到 S 的一 个双射。
如果p是(1,2, … ,n)到(1,2, … ,n)的一个置换,
则记为
p
1 p(1)
2 p(2)
n p(n)
例: S=(1,2,3,4,5), 一个置换 p:S-> S 定义为: p(1)=3, p(2)=5, P(3)=4, p(4)=2, p(5)=1,
可用明文字母 表示为: 3 (mod 26)
例如明文字母为Y,即 24 ,则
24 3 27 1 (mod 26)
因此密文为B。这里密钥就是3。
因为置换限制为移位,所以这类密码又称为移位密码。 (s就是用一系列的不同置换替代明文中的字母 。 也就是在不同字母位置使用不同的替换规则。 A是含有 q 个符号的字母表 M是 A 上的长度为 n 的所有符号串的集合 密钥空间 K 包含所有有序的 n 个置换( p1, p2, pn ) 的集合, 每个置换都定义在A上。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

密码技术专题(二)—古典密码体制∙1、密码体制的概念o明文信源o密文o密钥与加密运算o密码体制∙2、古典密码体制的发展o古典加密方法o代替密码o换位密码o转轮密码∙3、几种典型的古典密码体制o CAESAR体制o双字的Playfair体制o维吉尼亚体制o Hill体制我们已经知道,一个密码体制由明文信源、密文、密钥与加密运算这四个基本要素构成,下面我们将进一步给出它们的数学模型。

1、明文信源直观地讲,明文信源就是明文字母表或者明文字母。

比如所有的英文字母、全部的中文字符就是典型的明文字母表。

准确一点,明文信源还应当包含明文字母的概率分布。

如果用X表示明文字母表,则它的元素x∈X则就是明文字母。

在明文字母表中,不同的明文字母出现的频率往往是不同的,比如在26个英文字母中,一般来说字母“e”的频率最高;而在汉字中,可能是“的”字频率最高。

所以,一个明文信源记为S=[X,p(x)],其中X为明文字母表,p(x)为明文字母x∈X 出现的概率,而且p(x)满足如下条件:对任何x∈X,p(x)≥0,且∑p(x)=1。

2、密文密文由密文字母表Y和密文字母y∈Y组成,密文字母表一般是指密文可能使用的全部字母的集合,而y∈Y是它的元素。

密文字母表可以与明文字母表相同,也可以不同。

3、密钥与加密运算密钥用来从密码体制的一组加密运算中选择一个加密运算(或者称为加密步),密钥允许你按照以前制定的规则改变加密,比如每天,或每份报之后,或者每个字符之后。

通常,密钥的组织和编排须利于它们允许通过简单的规则产生单独的加密步。

加密方法的组合复杂度取决于在此方法下密钥的数量。

如果用K表示密钥空间,也就是选择加密步的参数集合,k∈K则称为一个密钥。

加密步就是明文字母表X到密文字母表Y的一个映射:E:X→Y,对每个x∈X。

由于加密步并不是单一的,而是一族运算,因此我们就可以记为Ek=Ek(x),其中x∈X,k∈K。

除特殊的编码方法外,如多名码或多音码,对于每个k∈K,Ek(x)都是X到Y的1-1映射。

通常要求用户对密钥的选择是随机的,而且密钥的选择与明文无关。

这样密钥的使用概率p(k),k∈K与明文的出现概率就是互相独立的。

4、密码体制在明确了密码体制的几个组成要素的数学模型后,我们就可以给出一个密码体制的数学模型。

我们定义S={X,Y,K,p(x,k),Ek(x), x∈X,k∈K}为一个密码体制。

实际上从运算的角度讲,密码体制包含加密系统和解密系统两部分。

如果一个密码体制设计完成,则相应的明文、密文、密钥之间的关系也就随之确定,用概率方法表示为:对任何x∈X,k∈K,y∈E(X),p(x,y,k)=p(x,k)=p(x)p(k)。

密码技术的应用一直伴随着人类文化的发展,其古老甚至原始的方法奠定了现代密码学的基础。

使用密码的目标就是使一份消息或记录对非授权的人是不可理解的。

可能有人认为这很容易,但你必须考虑原定的接收方是否能解读消息。

如果接收方是没有经验的,随便写个便条他也可能很长时间无法读懂。

因此不一定要求加密和解密方法特别复杂,它必须适应使用它的人员的智力、知识及环境。

下面我们介绍古典密体制发展演化的过程。

1、古典加密方法最为人们所熟悉的古典加密方法,莫过于隐写术。

它通常将秘密消息隐藏于其它消息中,使真正的秘密通过一份无伤大雅的消息发送出去。

隐写术分为两种,语言隐写术和技术隐写术。

技术方面的隐写比较容易想象:比如不可见的墨水,洋葱法和牛奶法也被证明是普遍且有效的方法(只要在背面加热或紫外线照射即可复现)。

语言隐写术与密码编码学关系比较密切,它主要提供两种类型的方法:符号码和公开代码。

符号码是以可见的方式,如手写体字或图形,隐藏秘密的书写。

在书或报纸上标记所选择的字母,比如用点或短划线,这比上述方法更容易被人怀疑,除非使用显隐墨水,但此方法易于实现。

一种变形的应用是降低所关心的字母,使其水平位置略低于其它字母,但这种降低几乎让人觉察不到。

一份秘密的信件或伪装的消息要通过公开信道传送,需要双方事前的约定,也就是需要一种公开代码。

这可能是保密技术的最古老形式,公开文献中经常可以看到。

东方和远东的商人和赌徒在这方面有独到之处,他们非常熟练地掌握了手势和表情的应用。

在美国的纸牌骗子中较为盛行的方法有:手拿一支烟或用手挠一下头,表示所持的牌不错;一只手放在胸前并且跷起大拇指,意思是“我将赢得这局,有人愿意跟我吗?”右手手掌朝下放在桌子上,表示“是”,手握成拳头表示“不”。

特定行业或社会阶层经常使用的语言,往往被称为行话。

一些乞丐、流浪汉及地痞流氓使用的语言还被称为黑话,它们是这些社会群体的护身符。

其实也是利用了伪装,伪装的秘密因此也称为专门隐语。

黑社会犯罪团伙使用的语言特别具有隐语的特性,法语中黑话有很多例子,其中有的现在还成了通俗用法。

比如rossignol (夜茑)表示“万能钥匙”,最早始于1460年;mouche(飞行)表示“告密者”,等等。

公开代码的第二种类型就是利用虚码和漏格进行隐藏:隐藏消息的规则比较常见的有:“某个特定字符后的第几个字符”,比如空格后的下一个字母(“家庭代码”,二战中在参战士兵中广为流传,但引起了审查机关的极大不满);更好一点的还有空格后的第三个字母,或者标点符号后的第三个字母。

漏格方法可以追溯到卡达诺(Cardano,1550年)时代,这是一种容易掌握的方法,但不足之处是双方需要相同的漏格,特别是战场上的士兵,使用时不太方便。

2、代替密码代替密码就是将明文字母表中的每个字符替换为密文字母表中的字符。

这里对应密文字母可能是一个,也可能是多个。

接收者对密文进行逆向替换即可得到明文。

代替密码有五种表现形式:单表代替即简单代替密码或者称为单字母代替,明文字母表中的一个字符对应密文字母表中的一个字符。

这是所有加密中最简单的方法。

多名码代替就是将明文字母表中的字符映射为密文字母表中的多个字符。

多名码简单代替早在1401年就由DuchyMantua公司使用。

在英文中,元音字母出现频率最高,降低对应密文字母出现频率的一种方法就是使用多名码,如e可能被密文5、13或25替代。

多音码代替就是将多个明文字符代替为一个密文字符。

比如将字母“i” 和“j”对应为“K”,“v”和“w”代替为“L”最古老的这种多字母加密始见于1563年由波他的《密写评价》(De furtiois literarum notis)一书。

多表代替即由多个简单代替组成,也就是使用了两个或两个以上的代替表。

比如使用有5个简单代替表的代替密码,明文的第一个字母用第一个代替表,第二个字母用第二个表,第三个字母用第三个表,以此类推,循环使用这五张代替表。

多表代替密码由莱昂.巴蒂斯塔于1568年发明,著名的维吉尼亚密码和博福特密码均是多表代替密码。

密本密本不同于代替表,一个密本可能是由大量代表字、片语、音节和字母这些明文单元和数字密本组组成。

如1563-baggage,1673-bomb,2675-catch,2784-custom,3645-decide to,4728-from then on等等。

在某种意义上,密本就是一个庞大的代替表,其基本的明文单位是单词和片语,字母和音节主要用来拼出密本中没有的单词。

实际使用中,密本和代替表的区别还是比较明显的,代替表是按照规则的明文长度进行操作的,而密本是按照可变长度的明文组进行操作的。

密本的最早出现在1400年左右,后来大多应用于商业领域。

二战中盟军的商船密本,美国外交系统使用的GRAY密本就是典型的例子。

3、换位密码在换位密码中,明文字符集保持不变,只是字母的顺序被打乱了。

比如简单的纵行换位,就是将明文按照固定的宽度写在一张图表纸上,然后按照垂直方向读取密文。

这种加密方法也可以按下面的方式解释:明文分成长为m个元素的块,每块按照n来排列。

这意味着一个重复且宽度为m的单字母的多表加密过程,即分块换位是整体单元的换位。

简单的换位可用纸笔容易实现,而且比分块换位出错的机会少。

尽管它跑遍整个明文,但它并不比整体单元换位提供更多的密码安全。

在第二次大世界中,德军曾一度使用一种被称为bchi的双重纵行换位密码,而且作为陆军和海军的应急密码,只不过密钥字每天变换,并且在陆军团以下单位使用。

此时英国人早就能解读消息了,两个不同的密钥字甚至三重纵行换位的使用也无济于事。

4、转轮密码随着电动打字机的使用,电动密码机开始在保密通信中大显身手。

在第二次世界大战中,转轮密码机的使用相当普遍。

它主要利用机械运动和简单电子线路,有一个键盘和若干转轮,实际上它是维吉尼亚密码的一种实现。

每个转轮由绝缘的圆形胶板组成,胶板正反两面边缘线上有金属凸块,每个金属凸块上标有字母,字母的位置相互对齐。

胶板正反两面的字母用金属连线接通,形成一个置换运算。

不同的转轮固定在一个同心轴上,它们可以独立自由转动,每个转轮可选取一定的转动速度。

例如,一个转轮可能被导线连通以完成用F代替A,用U代替B,用L代替C等等。

为了防止密码分析,有的转轮密码机还在每个转轮上设定不同的位置号,使得转轮的位置、转轮的数量、转轮上的齿轮结合起来,增大机器的周期。

最著名的转轮密码机是德国人舍尔比乌斯设计的恩尼格马机和瑞典人哈格林设计的哈格林密码机(美国军方称为M-209)。

德国人使用的恩尼格马机共有5个转轮,可选择3个使用。

转轮机中设计的一块插板及一个反射轮,可对一个明文字母操作两次。

另一个特点是转轮的由齿轮控制,以形成不规则进位。

波兰的密码研究人员最早破译了德国的恩尼格马,并将方法提供给了英国人。

M-209是二战中美军的主要加密设备,它是一种齿数可变的齿轮装置,有六个密钥轮,一个印字轮。

在一次特定的加密作业中,有多少个齿,代替表就推移多少个位置,并用这个代替表加密。

该设备的各个部件互相作用,产生一串互不相关的长周期密钥。

1、CAESAR体制CAESAR体制是一种单表加性密码体制,其明文字母表、密文字母表和密钥字母表相同,比如英文字母表。

加密步可由如下简单的式子表示:y=x+k,其中x∈X,y∈Y,k∈K。

最简单的一种就是第一个明文字母由其右边的第三个字母代替,由D代替,B由E代替,…,Y,由B代替,Z由C代替。

广义的CAESAR体制引入两个密钥参数,加密步变为y=k1x+k2,其中x∈X,y∈Y,k1,k2∈K。

2、双字的Playfair体制1854年,查尔斯.惠斯通(Charles Wheatstone)发明了一种特殊的双叶双码代替密码,他的朋友莱昂.普莱弗尔(Lyon Playfair)将其推荐给政府和军界的高层人士。

这种体制的首次使用是在克里米亚战争期间,正式报道的使用是在Boer 战争中,其名称也就以Playfair命名。

军队很看重它的一点就是此方法既不需要表也不需要器械,易作为战地密码。

相关文档
最新文档