slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
经典密码学 PowerPoint Presentation
Download Presentation
经典密码学

Loading in 2 Seconds...

play fullscreen
1 / 90

经典密码学 - PowerPoint PPT Presentation


  • 108 Views
  • Uploaded on

经典密码学. 《 现代密码学 》 第 2 章. 本章主要内容. 1 、 密码体制的定义与分类 2 、代替密码与移位密码 3 、变换密码 4 、乘积密码 5 、 密码机的发展历史. 1. 密码体制的定义. 一个 密码体制 是一个六元组: ( M, C, K 1 , K 2 , E, D ) 其中, M -- 明文空间 C -- 密文空间 K 1 -- 加密密钥空间 K 2 -- 解密密钥空间 E -- 加密变换空间 D -- 解密变换空间. 密码体制的理解. 明文( plaintext ) 乃信息的原始形式,

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '经典密码学' - jatin


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

经典密码学

《现代密码学》第2章

slide2
本章主要内容
  • 1、密码体制的定义与分类
  • 2、代替密码与移位密码
  • 3、变换密码
  • 4、乘积密码
  • 5、密码机的发展历史
slide3

1. 密码体制的定义

      • 一个密码体制是一个六元组:
  • (M, C, K1, K2, E, D )
  • 其中,
      • M --明文空间
      • C --密文空间
      • K1 --加密密钥空间
      • K2--解密密钥空间
      • E --加密变换空间
      • D --解密变换空间
slide4

密码体制的理解

      • 明文(plaintext)乃信息的原始形式,
  • 一般是信息的基本单元(字母、数字或符号
  • 等)的有限排列;
      • 密文(cipher)乃明文经过加密以后的
  • 结果形式,一般没有明确意义;
      • 密钥(key)乃用于加解密变换的关键信
  • 息,视其用于加解密而分别称为加密密钥与
  • 解密密钥;
slide5

密码体制的理解

      • 一个加密变换乃一个下列形式的一一映
  • 射:E: M×K1 → C
  • 一般对于给定的k∈K1,把E(-,k)记为Ek;
  • 一个解密变换乃对应一个加密变换E而
  • 言,其实是一个以下形式的映射:
  • D: C×K2 → M
  • 并且适合(对于给定的k∈K2,也把
  • D(-,k)记为Dk):
slide6

密码体制的理解

      • 重要原则:
      • 对任一k’∈K1,都能找到k”∈K2,使得
  • Dk”(Ek’(m))=m,mM。
slide7

一般性说明

      • 我们常将26个英文字母(不区分大小写)

与整数0~25依次一一对应。

      • 记 Zq={0,1,2, …,q-1}
  • 称之为模q剩余类环;当q为素数时,该环进
  • 一步形成为域,可改写为Fq。
slide8

一般性说明

      • 一般说来,一个密码体制的任一密钥
  • 控制下的加密变换都要求把明文按n(最少必
  • 要的固定数)个信息单元进行分组。照理,
  • 一个密码体制的明文空间M应该是所有可能
  • 明文的集合,但人们却习惯于把它写成前述
  • 所有n个信息单元组的集合;如此,密文空间
  • C以及加解密变换的定义也有相应的变通。
slide9
简单密码举例
  • 密码学的历史已有4000多年
  • 古埃及人曾把象形文字写在石碑上
slide10

简单密码举例

例1.凯撒(Caesar)密码

凯撒密码是古罗马人Julius Caesar发明

的一种密码体制,它是使用最早的密码体制

之一。

凯撒密码用于对英文信息进行加密,它

依据下列代替表(由英文字母表左环移3位

得到)对信息中26个英文字母进行替换:

slide11

简单密码举例

若明文为:

Substitution cryptosystem

则相应的密文是:

VXEVWLWXWLRQ FUBSWRVBVWHP

  • 在上述凯撒密码体制中,英文字母代

替表即相当于密钥;

  • 若将英文字母表左环移k(0≤k<26)位

得到替换表,则得一推广的凯撒密码体制。

slide12
简单密码举例
  • 练习 解密
  • "RPQLD JDOOLD HVW GLYLVD LQ SDUWHV WUHV"
slide13

简单密码举例

可写出推广凯撒密码体制的精确形式如

下:

M=C =Z26

K1=K2= Z26

E={Ek|k∈K1}

其中, Ek(m)= m+k (mod 26), mM;

D={Dk|k∈K2}

其中, Dk(c)= c-k (mod 26), cC。

slide14
恺撒密码的一般形式
  • 一般形式,可以把Caesar cipher 中字母移动的位数由3变为1-25中的任何一个。
  • 可以指定一个密钥字母作为字母A的密文。
  • 例如:密钥字母F表示:
  • A F, B — G, ... Y — D, Z — E
  • 即每个字母移动5位
  • 共有26种可能的密码算法(25种可用)
caesar cryptanalysis of caesar ciphers
Caesar密码分析(Cryptanalysis of Caesar ciphers)
  • 只有 26 种可能(only have 26 possible ciphers )
  • A maps to A,B,..Z
  • 可以简单的实验每个密钥(穷密钥搜索)
  • 给定一些密文,实验每个密钥。

Original ciphertext LIZHZLVKWRUHSODFHOHWWHUV

try shift of 1 KHYGYKUJVQTGRNCEGNGVVGTU

try shift of 2 JGXFXJTIUPSFQMBDFMFUUFST

try shift of 3 IFWEWISHTOREPLACELETTERS

***

plaintext HEVDVHRGSNQDOKZBDKDSSDQR

try shift of 4 GDUCUGQFRMPCNJYACJCRRCPQ

try shift of 5 ..... MJAIAMWLXSVITPEGIPIXXIVW

try shift of 25

  • eg. break ciphertext "GCUA VQ DTGCM"
slide16
语言冗余度与密码分析
  • 人类语言是有冗余度的
  • 字母使用的频率是不相同的
  • 在英语中,e 的使用率是最高的
  • 其次,T,R,N,I,O,A,S
  • 其它字母使用的较低
slide18
字母频率在密码分析中的应用
  • 计算密文中字母出现的频率
  • 与已知字母分布比较
  • 单码替换不改变相对字母出现的频率
  • 阿拉伯科学家提出此方法
slide20

简单密码举例

例2. 简单移位密码

明文:transp ositio ncrypt osyste mxxxxx

密钥:=(352614)

密文:

上述将明文加密成密文的过程是:

①将明文每6个字母分成一组(最后不

够一组时用字母x补足);

②作为密钥的置换的定义如下:

31, 52, 23, 64, 15, 46

③依据置换重新排列每组明文。

ASRPTN IISOOT RPCTNY YTSEOS XXXXMX

slide21

简单密码举例

上述简单移位密码体制的精确形式是:

M=C ={m1m2…m6 | mi∈Z26, i=1,2, …,6}

K1=K2= S6(6次对称群)

E={E|∈K1}

其中,E(m1m2…m6)=m(1)m(2) …m(6);

D={D|∈K2}

其中,D(c1c2…c6)=c’(1)c’(2) …c’(6)(’为

的逆置换)。

slide22

密码体制的分类

  • 依据信息元素的形态分类

对一个密码体制,考察其任一密钥控制

下的加密变换:若任意密文c=c1c2…cn的各信息

元素{ci}均是相应明文m=m1m2…mn的各信息元

素{mi}的某种排列,则称该种密码为移位密

码;

否则,即存在密文c=c1c2…cn的各信息元素

{ci}不是相应明文m=m1m2…mn的各信息元素

{mi}的某种排列,称该种密码为代替密码。

代替密码(如例1)

移位密码(如例2)

slide23

密码体制的分类

移位密码的特点:移位密码的加密变换

使得信息元素只有位置变化而形态不变,如此

可以打破消息中的某些固定模式(结构)。

代替密码的特点:代替密码的加密变换

使得信息元素的形态有所变化,如此可以使明

文与密钥的信息混乱在一起,使局外人很难确

定明文和密钥是如何变换成密文的。

slide24

密码体制的分类

序列(流)密码

分组(块)密码

  • 依据对信息元素的处理方式分类
      • 一个密码体制的明文必要分组长度n
  • 若为1,则称该密码为序列(流)密码,否
  • 则(即n>1)称该密码为分组(块)密码。
slide25

密码体制的分类

      • 序列(流)密码的特点:加解密速度
  • 快,无错误扩散;一般用于实际的安全产
  • 品。
      • 分组(块)密码的特点:适合数据库
  • 加密,组内有错误扩散;一般用于公开的
  • 理论研究。
slide26

密码体制的分类

单钥密码(传统密码,对称钥密码)

双钥密码(公钥密码,非对称钥密码)

  • 依据密钥分类
    • 基于计算复杂性,人们可以设计出这样的密码
  • 体制:加密变换与相应的解密变换分别使用不同的
  • 密钥k’与k”,并且
  • k’k”
  • 在计算上不可行(尽管理论上应该能够)。如此,
  • 用户选择该体制的一对加解密密钥(k’,k”)后,可
  • 以将前者公开而后者私存。区别于传统上加解密密
  • 钥一致或相近而必须都保密的观念,称之为非对称(
  • 公开)钥密码体制。
slide27

密码体制的分类

    • 一般说来,单钥密码体制(包括分组、序列密
  • 码)都是基于计算安全性的,而双钥密码体制是基于可证明安全性的。这两种安全性都是从计算量来考虑,但不尽相同。计算安全要算出或估计出破译它的计算量下限,而可证明安全则要从理论上证明破译它的计算量不低于解已知数学难题的计算量。
slide28

密码体制的分类

      • 单钥密码优点:运行速度快,具有可靠的保
  • 密强度;
          • 不足:不便密钥交换和管理。
      • 双钥密码优点:便于密钥交换和管理,还可
  • 用于消息认证(数字签名);
          • 不足:运行速度缓慢,其安全性所
  • 依赖的数学难题的复杂性一般都未能证明。
slide29

2. 代替密码

早期密码体制大都比较简单,其中许

多经不起计算机的破译攻击。这些体制一般

都是直接针对原始的信息单元(字母或符号

等)设计,而并不象现代密码体制那样非常

重视和体现信息的数字化与数学处理。

但对早期密码体制的讨论可以说明构造和破译的基本原理和方法,对于理解、构造和分析现代复杂的实用密码体制有着起码的利益。

slide30

2. 代替密码

早期密码体制基本上可以按照下述分

类笼统起来:

  • 代替密码
  • 移位密码

以下我们便按照这样的分类来依次学习早

期的密码体制及其破译。

slide31

2. 代替密码

一个代替密码,若其任何密文可以看成

是对相应明文的各组信息单元使用同一个代

替表进行替换而得到,则称其为单表代替密

码;

否则,即有密文是依次对相应明文的各

组信息单元使用有限个周期性重复的或无限

多的固定代替表进行替换而得到,称其为多

表代替密码。

slide32
单表代替密码
  • 每个字母可以用其它任何一个字母替换(不能重复)
  • 每个字母可以随机的映射到其它一个
  • 因此密钥长度是26个字母
  • 单字母替换密码( Monoalphabetic Substitution Cipher)
  • 例如:
  • 明文: ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • 密文: DKVQFIBJWPESCXHTMYAUOLRGZN
  • Plaintext: IFWEWISHTOREPLACELETTERS
  • Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA
slide33
单表代替密码举例
  • 给定密钥字 “STARWARS”,去掉重复字母得到 “STARW”,填写剩余字母:

STARW

BCDEF

GHIJK

LMNOP

QUVXY

Z

  • 按列读取字母得到密文:
  • Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ

Cipher: SBGLQZTCHMUADINVREJOXWFKPY

  • 可以用这个密钥加密、解密
  • 例如 Plaintext: I KNOW ONLY THAT I KNOW NOTHING
  • Ciphertext: H UINF NIAP OCSO H UINF INOCHIT
slide34
单表代替密码
  • 需要一种简单方法指定密钥。
  • 有多种方法,一种简单方法是写没有重复字母的“密钥字”,其它字母按顺序写在密钥字最后字母后面。
  • 例如, 给定密钥字 "JULIUSCAESAR"
  • Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • Cipher: JULISCASRTVWXYZBDFGHKMNOPQ
slide35
单表代替密码的密码分析
  • 根据频率统计进行分析,确定每个字母被映射到什么字母,单个字母出现的可能是A或I(since know single words are 'A' or 'I' )
  • 一般来说个字母出现的可能是THE或AND,还可以用其他通常出现的双字母或三字母组合。
  • 还可以应用其它很少应用的字母
slide36

单表代替密码构造方法

  • 举例

例1.一个英文单表代替密码

例2.方格密码

例3.普莱费尔(Playfair)密码

  • 构造方法

构造单表代替密码的关键是构造一张明

密代替表(可能以对应Z26的观点写成一个数

学公式)。

以后不加声明,总假定M=C ={a,b,

c,…,z}(记为A ), Z26, 或它们的n-直积。

slide37

单表代替密码构造方法

⑴密钥字法

该法形成明密代替表如下:

首先依次列出密钥字中字母(去掉其中

的重复),然后依次列出字母表中其余的字

母。

特点:便于由记忆的密钥字构造出明

密代替表;但密钥空间K由所有可能的密钥

字构成,其实密钥量|K|比较小。

slide38

单表代替密码构造方法

⑵洗牌法

该法就是将写有每个英文字母的26张

纸牌打乱次序后重新排列形成明密代替表。

如例1。

特点:密钥空间K由26个英文字母的所

有可能的全排列构成(|K|=26!),密钥

的保密性较好,但不便于记忆。

slide39

单表代替密码构造方法

⑶仿射法

该法的加密变换Ek为:

Ek(m)=k1m+k2 (mod 26), mZ26

其中,k=(k1,k2)为密钥;为使上述加密变换是

一一的(从而才有相应的解密变换),必要

且只要(k1, 26)=1。

特点:便于用计算机实现,但密钥空间

K ={(k1,k2) | k1,k2Z26, (k1, 26)=1},密钥量

|K|=12×26-1=311较小。

slide40

单表代替密码构造方法

⑷多项式法

该法的加密变换Ek为(t为取定自然数):

Ek(m)=ktmt+ kt-1mt-1+…+ k1m+k0 (mod 26), mZ26

其中,k=(kt,kt-1, …,k1,k0)为密钥。

仿射法其实是上述多项式法当t=1时的特

例。有关多项式法的加密变换Ek何时是一一

的以及对密钥空间K 的讨论已超出本课程的

知识范围,在此不去涉及。

slide41

单表代替密码构造方法

⑸矩阵法

该法的思想是:将明文组m=(m1m2…mn)

通过Z26上可逆的线性变换转换为密文组c=(

c1c2…cn) 。如此,密钥空间K ={(kij)| (kij)为

Z26上n阶可逆方阵(有关讨论超出本课程的知

识范围)};对于k= (kij)K ,加密变换Ek为:

Ek(m1m2…mn)=(c1c2…cn), miZ26

其中,ci=ki1m1+ki2m2+…+kinmn (mod 26)。

slide42

(2)多表代替密码

多表代替密码是依次对明文的各组信息

单元使用有限个周期性重复的或无限多的固

定代替表进行替换来得到密文的:

若是使用无限多的固定代替表(相对于

明文变化是随机的),则称其为一次一密代

替密码;

若是使用有限个周期性重复的固定代替

表,则称其为周期多表代替密码。

slide43

(2)多表代替密码

一次一密密码是在理论上唯一不可破解

的密码,这种密码对于明文的特点可实现完

全隐藏,但由于需要的密钥量与明文所含信

息单元的个数一样大,故其难以实用。

周期多表代替密码的实际情形如下:

在给定的密钥(d个代替表排列T1T2…Td)

之下,加密明文m= m1m2m3…的结果是

c=T1(m1)…Td(md) T1(md+1)…Td(m2d) …

d称为该周期多表代替密码的周期。

slide44

周期多表代替密码

  • 举例

例1.四表代替密码。

例2.维吉尼亚(Vigenere)密码。

slide45

Vigenère Cipher

  • Blaise de Vigenère 发明了多字母替换密码(polyalphabetic substitution cipher)
  • 使用多个单字母替换表
  • 因此一个字母可以被多个字母替换。
  • 方法:用一个密钥选择对每个字母使用哪个字母表,密钥的第I个字母表示使用第 ith 个字母表,依次使用每个字母表,当密钥的字母使用完后,在从头开始。
vigen re example
Vigenère Example
  • 例:
  • 写出明文,在明文下重复写出密钥字;
  • 依次使用每个字母作为caesar cipher 的密钥,加密对应的明文字母。
  • Plaintext THISPROCESSCANALSOBEEXPRESSED Keyword CIPHERCIPHERCIPHERCIPHERCIPHE Plaintext VPXZTIQKTZWTCVPSWFDMTETIGAHLH
vigen re example1
Vigenère Example
  • C -> CDEFGHIJKLMNOPQRSTUVWXYZAB
  • I -> IJKLMNOPQRSTUVWXYZABCDEFGH
  • P -> PQRSTUVWXYZABCDEFGHIJKLMNO
  • H -> HIJKLMNOPQRSTUVWXYZABCDEFG
  • E -> EFGHIJKLMNOPQRSTUVWXYZABCD
  • R -> RSTUVWXYZABCDEFGHIJKLMNOPQ

ABCDEFGHIJKLMNOPQRSTUVWXYZ

to map the above plaintext letters.

T' uses key 'C' maps to 'V' ‘

H' uses key 'I' maps to 'P' ‘

I‘ ises key ’P‘ maps to ’X‘。

history of the vigen re cipher
History of the Vigenère Cipher
  • 可以看出,越安全的密码使用起来越复杂,因此,在有些场合还可以看到单码替换密码,随着破译单码密码的技术提高,使得vigenère cipher 逐渐被各国使用,1854年,首次被 Charles Babbage 攻破,但没有公开。 Friedrich Kasiski 与1863年攻破并发表了此密码的各种变形被沿用到20世纪。
slide49
周期多表代替密码

例3.博福特(Beaufort)密码。

例4.弗纳姆(Vernam)密码

该密码是美国电报电话公司的G.W.Vernam在

1917年发明的。他将英文字母编成五位二元波多电码(Baudot code),参见P.47表3.2.9。选择随机的二元密钥序列k= k1k2…ki…,对字母变换成二元码后的明文m= m1m2…mi…加密以后得到c= c1c2…ci…,其中ci= mi ki,i=1,2,…

slide50

周期多表代替密码

思考:

怎样理解上述弗纳姆密码是周期多表代

替密码?

其实,弗纳姆密码可以看成周期d=明文

长(明文所含字母数目)的多表代替密码。

一般地,我们称周期d=明文所含信息单元

组数目的多表代替密码为滚动密钥(Running-

key)密码。

slide51

周期多表代替密码

对于一个滚动密钥密码,其密钥序列(即

依次决定d个代替表的系列对应要素,如弗

纳姆密码所用的二元密钥序列)若能真正随机

产生,则该种代替密码便相当于一次一密的

了;一般密钥序列要由一给定主密钥作为初

态的某密钥源伪随机地产生。

slide52

周期多表代替密码

  • 构造方法

照理,周期为d的多表代替密码的密钥空

间应为K ={T1T2…Td|Ti为代替表,i=1,2,…,d},但

在实际应用之中的密钥变化量往往较小:

人们首先构造出d’d个代替表T1,T2,…,

Td’,然后以{{T1,T2,…,Td’}取出d个的排列}

为密钥空间。如例1、2、3。

上述在{T1,T2,…,Td’}中取出d个排列起

来的过程一般是借助决定d’个代替表的系列

对应要素进行,因此称之为构造密钥序列。

slide53

周期多表代替密码

显然,周期多表代替密码的构造可以归

结为:

      • 多个代替表(称为底表)的构造
      • 密钥序列的构造
      • 一个周期多表代替密码的密钥其实是上
  • 述密钥序列,底表预先定义,而在加密中每
  • 次应用哪一底表完全由该密钥序列来控制。
slide54

周期多表代替密码

      • 底表的构造
      • 一个底表一般为二维表,并且要求每个
  • 密文单元所在的行或列中出现一次且只出现
  • 一次,即该二维表应构成一个拉丁方阵。有
  • 关拉丁方阵的研究和构造可参见一些组合学
  • 书籍或刊物。
slide55

周期多表代替密码

      • 要求底表为一个拉丁方阵是必要的:因
  • 一般来说,底表的行、列分别对应明文和密
  • 钥:若横行有重码,则加密变换便不是一一
  • 的;若纵列有重码,则即使密钥序列是随机
  • 选取的,但明码中的不平衡性,也会造成密
  • 码的不平衡,从而使破译者仅从密码的统计
  • 分析即可获得明文的部分信息,这不利于保
  • 密。当然,若周期较大,则对保密性而言,
  • 底表的作用不大,其完全取决于密钥序列。
slide56

周期多表代替密码

      • 密钥序列的构造
      • 人们当然希望所产生的密钥序列具有尽
  • 可能好的随机性。一般可有下述三种构造方
  • 法:
      • ①主观密钥源
      • 该种密钥源是以一本书或一个文件的选
  • 择内容作为密钥序列k1k2…kd。
      • 评价:由于书本或文件中各信息单元出
  • 现的频率差异很大,故该种密钥源的保密性
  • 能不佳。
slide57

周期多表代替密码

      • ②随机密钥源
      • 该种密钥源是以某种随机的方式产生密
  • 钥序列k1k2…kd。例如,对维吉尼亚密码或博
  • 福特密码,使用者可将分别刻有26个英文字
  • 母的26个小球放在坛子里,然后用有放回地
  • 随机拣球方法产生密钥序列。
      • 评价:该种密钥源的保密性能最佳,但
  • 当d较大时一则难以实现,另则必须将此产生
  • 的较长密钥序列完全传送给接收方、或要由
  • 接收方妥善保管、等等,实有诸多不便。
slide58

周期多表代替密码

      • ③伪随机密钥源
      • 该种密钥源是根据现代的编码方法,
  • 利用计算机硬件或软件实时地产生密钥序列
  • k1k2…kd。
      • 评价:该种密钥源往往以一给定的主
  • 密钥作为初态,产生一个自身呈周期性的密
  • 钥序列。但设计者可根据实际保密强度的要
  • 求,预期密钥序列的周期远远大于一般所加
  • 密明文的长度,而且还具有良好的随机性;
  • 此时可以认为伪随机密钥源在保密性能上已
  • 近似于随机密钥源了。
slide59

周期多表代替密码

      • 一个值得重视的问题是:
      • 密钥序列自身的保密性能固然重要,
  • 但若是应用不当,再好的密钥序列也可能无
  • 济于整个体制的安全。比如,密钥序列重用
  • (这一现象称为重乱)就会给相应的周期多
  • 表代替密码体制带来危害,有关的具体情形
  • 以后会讲到。
slide60

多表代替密码的特点

  • 单表代替密码的特点:

具有明密异同规律,一般容易破译。

  • 周期多表代替密码的特点:
    • 在一定程度上打破了明密异同规律
    • 当周期d较小时,可确定之,并通

过对密文重排,使其破译问题转化为对单表

代替密码的破译

    • 对周期d较大且密钥序列是伪随机

的,可达到实际保密

    • 对周期d较大且密钥序列是随机的,

可达到理论保密

  • 一次一密代替密码的特点:无规律可循
3 transposition ciphers
3. 变换密码 transposition ciphers
  • 变换密码(或置换密码)
  • 方法:通过重新编排消息字母隐藏信息
  • 特点:没有改变原来消息的字母集
1 scytale
(1)Scytale 密码
  • 一种早期的 希腊变换密码
  • 一张纸条环绕在一个圆柱上
  • 消息沿着圆柱横写
  • 纸条上的字母看起来是一些随机字母
  • 并不十分安全,密钥是纸条和圆柱的宽度
2 rail fence cipher
(2)轨道栏杆密码 Rail Fence cipher
  • 以不同的行写下消息字母
  • 按行读取消息
  • Plain: I A E S W C N U R D
  • C M I A I O Q E E
  • Cipher: IAESW CNURD CMIAI OQEE
slide64
(3)几何图形密码
  • 以一种形式写下消息,以另一种形式读取消息
slide65
变换密码的关键思想
  • 变换密码的关键思想
  • 按一定规则写出明文,按另一规则读出密文。
  • 密钥:用于读密文的方法和写明文的方法
4 row transposition ciphers
(4)行变换密码-Row transposition ciphers
  • group the message and shuffle letters within each group
  • more formally write letters across rows
  • then reorder the columns before reading off the rows
  • always have an equivalent pair of keys (Read off vs Write In)
slide67
行变换密码
  • Plain: THESIMPLESTPOSSIBLETRANSPOSITIONSXXKey (R): 2 5 4 1 3 Key (W): 4 1 5 3 2 T H E S I S T I E H M P L E S E M S L P T P O S S S T S O P I B L E T E I T L B R A N S P S R P N A O S I T I T O I I S O N S X X X O X S N
  • Cipher: STIEH EMSLP STSOP EITLB SRPNA TOIIS XOXSN
slide68
行变换密码
  • 可以用一个英文单词做密钥,指定以字母顺序做为读取密文(或明文)
  • Plain: CONVENIENTWAYTOEXPRESSTHEPERMUTATION
  • Key (W): C O M P U T E R
  • Key (W): 1 4 3 5 8 7 2 6
  • A N O V I N C E
  • E W T A O T N Y
  • E R P E T S X S
  • H E P R T U E M
  • A O I N Z Z T Z
  • Cipher: ANOVI NCEEW TAOTN YERPE TSXSH EPRTU EMAOI NZZTZ
slide69
行变换密码举例
  • 用密钥 sorcery加密下列消息:
  • Key(R): sorcery => 6 3 4 1 2 5 7
  • laser beams can be modulated to carry more intelligence than radio waves ==> erasb lecam snabd umole atoed ctamo ryrre elntl iicee ntgha dnria oesav w
slide70
行变换密码解密算法
  • 步骤:
  • 按列写出消息
  • 按解密密钥读取明文
cryptanalysis of row transposition ciphers
Cryptanalysis of Row Transposition ciphers
  • 频率分析能够提供语言轮廓
  • 基本思想:猜测密钥周期,再对可能的行列变换进行猜测.
  • 利用常出现的双字母对或3字母对.
slide72
密码分析举例
  • 给定密文: LDWOE HETTS HESTR HUTEL OSBED EFIEV NT
  • 对连续周期测试, 对前面一些字母重新排列.
  • 2: LD WO EH ET TS HE ST RH UT EL OS BE DE FI EV NT - NO
  • 3: LDW OEH ETT SHE STR HUT ELO SBE DEF IEV NT - NO
  • 4: LDWO EHET TSHE STRH UTEL OSBE DEFI EVNT - NO
  • 5: LDWOE HETTS HESTR HUTEL OSBED EFIEV NT - NO
  • 6: LDWOEH ETTSHE STRHUT ELOSBE DEFIEV NT - YES!!!
  • note第二组可能提供 "THESET" or "TTHESE"
  • 可以猜测6字密钥能够给出这种密文
  • key 5,6,1,4,2,3 恢复明文如下:
  • WEHOLD THESET RUTHST OBESEL FEVIDE NT or
  • WE HOLD THESE TRUTHS TO BE SELF EVIDENT
5 block
(5)块(Block )变换密码
  • 另一类变换密码
  • 消息按行写,按列读出。
  • 按列读出的顺序由密钥给出。
slide74
块变换密码举例
  • 为方便起见,把消息写成满矩阵形式 Key(R): s o r c e r y
  • s o r c e r y

Key(R): 6 3 4 1 2 5 7

6 3 4 1 2 5 7

l a s e r b e l a s e r b e

a m s c a n b a m s c a n b

e m o d u l a e m o d u l a

t e d t o c a t e d t o c a

r r y m o r e r r y m o r e

i n t e l l I i n t e l l i

g e n c e t h g e n c e t h

a n r a d i o a n r a d i o

w a v e s w a v e s q r

matrix incompletecomplete

slide75
  • 由密钥给出的顺序读出密文(4, 5, 2, 3, 6, 1, 7)
  • ecdtm ecaer auool edsam merne nasso dytnr vbnlc rltiq laetr igawe baaei hor
slide76
块变换密码解密
  • 计算密文行数
  • (by dividing message length by key length)
  • 按列写出密文消息(密钥给出顺序)
  • 按行读出明文消息
slide77
块变换密码分析
  • 首先要知道是否块变换密码,通过消息长度猜测距阵大小,简单 测试每个密钥,按列写出消息

最一般的,利用自动工具实验所有置换,可以对一些可能单词组合形式的变换进行实验。

slide78
密码分析例子
  • 给定密文: HADVF NITHB CTSBE HTEGE SRYRN AMINR IAIST TETOO ETSAN GLIET GTDRS CYGAI TANAH FLNAU ETIEM EOHUE AELYR IIS
  • 假设对行变换失败
  • 现猜测是块变换
  • 寻找THE,实验各种大小的密钥
  • try 2, use command b 2 /THE - none match
  • try 3, use command b 3 /THE - none match
  • try 4, use command b 4 /THE - 2 matches, both rubbish
  • try 5, use command b 5 /THE - 1st match gives answer -> b 5 /THE
  • THEGR EATES TDISC OVERY OFMYG ENERA TIONI STHAT AHUMA NBEIN GCANA LTERH ISLIF EBYAL TERIN GHISA TTITU DES Accept (y/n/q)?y
nihilist ciphers
Nihilist ciphers
  • 更复杂的变换密码(行变换和列变换同时应用)
slide80
增加密码的安全性
  • 仅仅基于替换或置换的密码是不安全的
  • 前面的得例子可以看到这一点
  • 这是由于他们不能克服语言结构的特点
  • 因此考虑连续使用几种密码克服,
  • 注:
  • 两个替换密码只能提高很少的复杂度
  • 两个置换也只能提高很少的复杂度
  • 但替换与置换连用,可以提高较高的复杂密码
slide81
4. 乘积密码
  • 是一种替换与变换合用的密码,一般情况下,手工破译是非常困难的。
  • 一种有名的乘积密码“ADFGVX cipher”在第一次世界大战中使用。
adfgvx
ADFGVX 乘积密码
  • 这样命名是因为变换仅依赖与 ADFGVX,在WW1有德国人使用,并被英国人破译。
  • 方法:使用一个固定的替换表,把每个明文字母映射成一个字母对 (row-col index),在用一个带密钥的块变换把每个对分解then 利用带密钥的块变换写下所有字母对,写出密文(按块密码形式)。
adfgvx substitution table
ADFGVX Substitution Table
  • \\ A D FG V X A K Z WR 1 F D9 B 6 C L 5 F Q 7 J P G X G E V Y 3 A N V 8 O D H 0 2 X U 4 I S T M
adfgvx1
ADFGVX 加密举例
  • Plaintext: PRODUCTCIPHERS
  • Intermediate Text:
  • FG AG VD VF XA DG XV
  • DG XF FG VG GA AG XG
  • 带密钥的块变换矩阵:
  • D E U T S C H Key
  • 2 3 7 6 5 1 4 Sorted Order
  • F G A G V D V
  • F X A D G X V
  • D G X F F G V
  • G G A A G X G
  • Ciphertext: DXGX FFDG GXGG VVVG VGFG CDFA AAXA
slide85
练习
  • encrypt and then decrypt by hand, the text below using a block (column) transposition with a key of SNEAKY:

the cat only grinned when it saw alice it looked good natured she thought still it had very long claws and a great many teeth so she felt that it ought to be treated with respect

slide86
练习

2. encrypt and then decrypt by hand, the text below using the ADFGVX cipher with a key of SNEAKY:

to see victory only when it is within the ken of the common herd is not the acme of excellence

slide87
5. 密码机发展过程
  • 为了简化加密/解密过程,导致密码设备出现。
  • Jefferson cylinder, 1790s被研制成功,包含36个 圆盘,每个圆盘有个随机字母表

1920年还被美国军队使用。

slide88
密码机发展过程
  • Wheatstone disc, by Wadsworth in 1817, and Wheatstone in 1860‘s, comprised two concentric wheels to generate a polyalphabetic cipher。
slide89
密码机发展过程
  • 随着密码技术的提高,要求有更高级的密码装置,高级密码装置可以实现更复杂的密码,这些装置在二战时期广泛使用。

例: the German Enigma,

the Swedish Hagelin (below) and the Japanese Purple