03古典密码学的定义及分类

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为L的消息单元,称为明文组,以m表示, , 0 1 , l 如 m=(m ,m,LmL−1),m ∈Zq0≤l ≤ L−1 。 m也称作L-报文, L 它可以看作是定义在 Z q 上的随机变量
L Zq = Zq × Zq ×L× Zq (L个) = m = (m0 , m1 ,L, mL−1 ) ml ∈ Zq ,0 ≤ l ≤ L −1 P = Z qL 。密文字母表Ξ抽象表示成 这时明文空间
⎛11 8 ⎞ (9,20 )⎜ ⎜ 3 7 ⎟ = (99 + 60,72 + 140 ) = (3,4) ⎟ ⎝ ⎠
⎛11 8 ⎞ (11,24)⎜ ⎜ 3 7 ⎟ = (121 + 72,88 + 168) = (11,22) ⎟ ⎝ ⎠
因此,july的加密是DELW。
2 8 15 7 4 17 21 1 19 19 12 9
20 17
4
2 8 15 7 4 17 15 22 8 25 8 19
2 8 15 22 25 19 相应的密文串将是: VPXZGIAXIVWPUBTTMJPWIZITWZT 解密过程与加密过程类似,不同的只是进行模26减,而不是模26加。
多表代换密码是以一系列(两个以上)代换表 依次对明文消息的字母进行代换的加密方法。 令明文字母表为 Zq , f = ( f1, f2 ,L) 为代换序列, 明文字母序列 x= x1x2 L,则相应的密文字母序 列为 c = ek (x) = f (x) = f1(x1) f2 (x2 )L 。
若f是非周期的无限序列,则相应的密码称为非 周期多表代换密码。这类密码,对每个明文字 母都采用不同的代换表(或密钥)进行加密, 称作一次一密密码(One-time pad cipher), 这是一种理论上唯一不可破的密码 。 有名的多表代换密码有Vigenère、Beaufort、 Running-Key、Vernam和转轮机(Rotor machine)等密码。
首先转化这三个字母分别为数字7,14和19。然后加密
⎡ 7 ⎤ ⎡3⎤ ⎡ 0 ⎤ ⎡ A ⎤ 7⎢14⎥ + ⎢3⎥ = ⎢23⎥ = ⎢ X ⎥(mod26); ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢19⎥ ⎢3⎥ ⎢ 6 ⎥ ⎢ G ⎥ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦
密文串为AGX。
多表代换密码
x y x
Alice
加密
解密
Bob
k
安全信道
密钥源
实用密码体系应满足的特性
每个加密函数和每个解密函数都应当能有 效地被计算(多项式,密码的易用性)。 即使看到密文串y,窃听者Oscar确定所用 的密钥k或明文串x是计算上不可行的(安 全性)
已知密文串y的情况下试图计算密钥k或 x的过程称为密码分(Cryptanalysis)
多字母代换密码(Polygram substitution cipher)——Hill 密码
P 设m是某个固定的正整数, = C = ( Z ) ,又 设K = {m × m可逆阵,Z 26 };对任意 k ∈ K ,定义 ek ( x) = xk , 则 d k ( y ) = yk −1 。 其中所有的运算都是在 Z 26 中进行。 注:该密码是Hill于1929年设计的,至今已经不 安全(作业:请试图于已经明文攻击来破译) 当m=1时,Hill密码退化为单字母伪射代换密 码。
n Q
o R
p S
q T
r U
s V
t W
u X
v Y
w Z
x A
y B
z C
若明文为: please confirm receipt 则密文为:SOHDVE FRQILUP UHFHLSW
移位密码的安全性分析
移位密码是极不安全的(mod26),因为 它可被穷举密钥搜索所分析:仅有26个可 能的密钥,尝试每一个可能的加密规则,直 到一个有意义的明文串被获得。平均地说, 一个明文在尝试26/2=13解密规则后将显 现出来。
26 对 k = (a,b) ∈ K ,定义 e(x) =ax+b mod
dk (y) = a−1(y − b) mod 26 (x, y∈Z26) 且
仿射密码有12X26=312种可能的密钥。其 中,12是满足gcd(a,26)=1的整数的个数。
k =(7,3) , 7−1 mod =15 26 ,加密函数 例2.3 假定 为 ek (x) = 7x + 3 ,则相应的解密函数 为 d k ( y ) = 15( y − 3) = 15 y − 19 ,其中所有的运算都是在 Z 26 中。 ( − 容易验证 dk (ek (x))=dk (7x+3) =157x+3)−19= x+45 19= x 。 加密明文hot。
例2.2 密钥句子为:the message was transmitted an hour ago 。 源字母表为: a b c d e f g h i j k l m n o p q r stuvwxyz 代换字母表为: THEMSAGWRNIDOUBCFJKLPQVXYZ 明文:please confirm receipt 密文:CDSTKS EBUARJO JSESRCL 注:代换字母表的产生办法:密钥句子中的字母 依次填入字母表(重复的字母只用一次),未 用的字母按自然顺序排列
'
{
}
集 Z q = {0,1 , L , q ' − '1} 。密文单元或组 L Zq 上的随 c =(c0,c1,LcL−1)(L个) ∈Zq ,0≤l' ≤ L' −1 , ,cl 为 。 c是定义在 L 机变量。密文空间 Z q 。一般地,明文和密文由同一字母 L 表构成。代换密码可以看作是从 Zq 到 C = Z 的映射。L=1 时,称作单字母代换,也称作流密码(Stream cipher)。 L>1时,称作多字母代换,亦称分组密码(Block cipher)。
替换密码的安全性分析
替换密码的密钥是由26个字母的置换组 成。这些置换的数目是26!,一个非常大 的数,穷举密钥搜索不容易。然而,以后会 看到,替换密码容易被其他的分析方法所破 译。 所有单表代换密码都难以经受语言特性的 统计攻击,因为,单表代换保持明文的统计 特性不变。
仿射密码
a 设P = C = Z26 ,且 K = {(a, b) ∈Z26 × Z26 : gcd( ,26) = 1}
'
'
'
'
'
'
'
L' q'
有关代换密码的几点说明
若L=L‘,则代换映射是1对1的映射; 若L<L‘,则加密有数据扩张,此时,可设计出一对多 的“多名代换密码”; 若L>L’,则数据被压缩,代换不可逆,不能用于信息 加密(因为会导致部分信息无法解密),此类变换可 用于认证 若Θ= Ξ,q=q’,L=1,并且所有明文字母都用一种 固定的代换加密,则相应的密码就称为单表代换。若 用多个代换表加密,就得多表代换
第2章 古典密码学
2.1古典密码体制
2.1.1定义和分类
一个密码系统(Cryptosystem)是一个五元组 (P,C,K,E,D)满足条件: (1)P是可能明文的有限集;(明文空间) (2)C是可能密文的有限集;(密文空间) (3)K是一切可能密钥构成的有限集;(密钥空间) (4)任意 k ∈ K ,有一个加密算法 ek ∈ E 和相应的解密算 法 d k ∈ D ,使得 e : P → C和 d k : C → P分别为加密、解密函 数,满足 d k (ek ( x)) = x, 这里, x ∈ P。
例 2.4 设m=6,且密钥字是CIPHER,这相应于密钥。假定明文 串是 this cryptosystem is not secure 首先将明文串转化为数字串,按6个一组分段,然后模26“加”上 密钥字得: 24 15 19 14 18 24 19 7 8 18 2 17 2 8 15 7 4 17 2 8 15 7 4 17 0 23 8 21 22 15 21 15 23 25 6 8 13 14 19 18 4 2 18 19 4 12 8 18
Vigenère密码
对一个密钥 k = (k1,k2,L,km) ,我们定义
ek (x1, x2,L xm) =(x1 +k1, x2 +k2,L xm +km) , ,
P =C = K = (Z26)m 设m是某固定的正整数,定义 ,
, 且 dk (y1, y2,L ym) =(y1 −k1, y2 −k2,Lym −km) 所有的运算都在 Z26中。 注:此密码由法国密码学家Vigenère于1858年 设计,1917年《Scientific American》声称 此密码牢不可破,现在破译该密码“易如反 掌”。
古典密码分类
代换(Substitution)密码
单字母代换
单表代换 多表代换
多字母代换
置换(Permutation)密码 注:古典密码的另一种分类:上下文独立(单字母 变换)+上下文相关(多字母变换)
2.1.2 代换密码(substitution Cipher) 将明文字母表Θ抽象地表示为一个整数 集 Zq = {0,1,L, q −1} 。在加密时通常将明文消息划分成长
dk ( y) = y − k mod26
(x, y ∈Z26 )
注:移位密码的特例凯撒密码的历史功绩与 现代价值。密码学的一个重要基石!
例2.1 恺撒(Caesar)密码是称位密码的k=3的情 况。即通过简单的向右移动源字母表3个字母则形成如 下代换字母表
Θ: a Ξ: D b E c F d G e H f I g J h K i L j M k N l O m P
b 1 p 15
c 2 q 16
d 3 r 17
e 4 s 18
f 5 t
g 6
h 7 u 20
i 8 v 21
j 9 w 22
k 10 x 23
l 11 y 24
m 12 z 25
19
几类常见的单表代换密码
移位密码(Shift Cipher) 设 P = C = K = Z26, 对0 ≤ k ≤ 25, 定义 ek (x) = x + k mod26 且
m 26
例 2.5 假定密钥是
⎛11 8 ⎞ k =⎜ ⎜ 3 7⎟ ⎟ ⎝ ⎠ ⎛11 8 ⎞ ⎛ 7 18 ⎞ k =⎜ ⎜ 3 7 ⎟ = ⎜ 23 11 ⎟ ⎟ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠
−1 −1
则。现在加密明文july,分为两个明文组(9,20)(相
应于ju)和(11,24)(相应于ly)。计算如下:
k
关于密码系统的几点注记
名词密码体系、体制、系统等同; 若P=C,则加密函数就是一个置换; 古典密码都是对称密码,即加密密钥和解密密钥相 同,由安全信道传递; 一般情况下,明文与密文是1对1的,但也有一对多 和多对一的情况; 明文可以是任何多媒体信息(文、声、图等)
加密通信示意图
窃听者Oscar
1. 单表代换密码 单表代换密码是对明文的所有字母都用一个 固定的明文字母表到密文字母表的映射, 即 f : Z q → Z q 。令明文 m = m m L ,则相应的密 文为 c = ek (m) = c0c1 L = f (m0 ) f (m1 )L 。 字母与数字之间的常用对应表
0 1
a 0 n 13 o 14
若在Biblioteka Baidu位密码中的密文字母表是按随机 次序放置,那么就得到下面的替换密 码。
替换密码
设 P =C = Z26,密钥空间K由所有可能的26个符 号0,1,…….,25的置换组成。对每一个置 换 π ∈Κ ,定义 eπ (x) =π(x)
dπ ( y) = π −1 ( y),
则 其中 π −1是π 的逆置换。
相关文档
最新文档