密码技术基础
为了解密,Bob计算
且
(3,
4
)⎜⎜⎝⎛
7 23
18 11
⎟⎟⎠⎞
=
( 9 , 20
)
(11
, 22
)
⎜⎜⎝⎛
7 23
18 11
⎟⎟⎠⎞
=
(11 , 24
)
因此,得到了正确的明文“july”
换位密码
换位密码是根据一定的规则重新安排明文 字母,使之成为密文。最常用的换位密码 有两种:
列换位密码(columnar transposition cipher)
18 5 3 17 5 19
OTP + 15 8 1 12 19 5
7 13 4 3 24 24
gmdc x x
OTP(one-time pad )从理论上是不可 破的:
不重复使用乱码本(VENONA) 使用不可预知的随机数(物理源,如放射性衰
减)
多表周期替代密码算法的攻击
Kasiski攻击(密钥长度的确定)
5
基本概念
中国信息安全产品测评认证中心
主要内容
基本概念
密码学(Cryptology) 密码编码学(Cryptography) 密码分析学(Cryptanalytics) 其他基本概念
密码学分类
密码学
密码学:研究信息系统安全保密的科学。 由两个相互对立、相互斗争,而且又相辅 相成、相互促进的分支科学所组成的,分 别称为密码编码学和密码分析学。
是企图挫败密码技术以及更一般说来的信息安全业务的 数学技术学科。
是对密码体制、密码体制的输入输出关系进行分析,以 便推出机密变量、包括明文在内的敏感数据。
在密码学中,在不知道加密算法所使用的密钥的情况 下,将已被加密的消息转换成明文要做的步骤和操作, 称作密码分析,有时又称作密码破译(code breaking)。
思想: 1)如果明文中的两个三个字母组出现的间隔
是密钥长度的一定倍数,那么在密文中它们被 加密成同样的三字母组。在密文中出现的三字 母组之间的间隔就可能是密钥长度的倍数。 2)在密文中寻找多次出现的每一个三字母 组,计算每次出现的所有间隔具体的最大公约 数。
Friedman攻击
重合指数
• y=y0,y1,y2,y3,….,yn • z=z0,z1,z2,z3,….,zn 比较yi,zi,if yi=zi,计数=计数+1,index=计数/n
z为y向前移L位得到的字符流
确定密钥长度(假定为英文)
如果L为密钥长度倍数,则重合指数=0.067 如果L不为密钥长度倍数,则指数=0.047或更
3)实际算法为:∀x ∈ P
加密:y = e3 ( x) = x + 3(mod 26 )
解密:x = d 3 ( y) = y − 3(mod 26 )
Caesar Cipher
Caesar Cipher, c. 50 B.C. A B C D E F G …… X Y Z D E F G H I J …… A B C 明文:Caesar cipher is a shift
按照明文的处理方法分类
分组密码:将明文分成固定长度的组,用 同一密钥和算法对每一块加密,输出也是 固定长度的密文。——DES、IDEA、RC2、 RC4、RC5
流密码:又称序列密码,序列密码每次加 密一位或一字节的明文。——一次一密密 码(OTP,One-time pad)、维吉尼亚密 码(Vigenere)、Vernam
密码分析依赖于自然语言的多余度,使用“分析—假设— 推断—证实(或否定)”的四步作业方法,基本数学工具 是统计分析、数学演绎和归纳。
其他基本概念
明文和密文 加密与解密 密码算法、加密算法和解密算法 对称算法和非对称算法 扩散和混淆 置换、移位、代替 信息隐藏和数字水印
扩散和混淆
(11,24),有
(9,20 )⎜⎜⎝⎛131
8 7
⎟⎟⎠⎞
=
(99
+
60 ,72
+ 140 )(mod
26 )
=
(3,4)
且于:是对(11ju,l2y4加)⎜⎜⎝⎛密131的结87 ⎟⎟⎠⎞果=为(1D2E1L+W72。,88 + 168 )(mod 26 ) = (11,22 )
Hill密码举例( cont. )
对称密码算法
中国信息安全产品测评认证中心
主要内容
古典对称算法
代替密码
• 单字母代替
– 单表代替密码 – 多表代替密码
• 多字母代替
换位密码
• 列换位密码 • 周期换位密码
现代对称算法
代替密码基本概念
单字母代替密码:在加密时将明文消息划 分为长度为1的消息单元(明文组),又称 流密码。
数字水印(Digital Watermarking):用信 号处理的方法在数字化的多媒体数据中嵌 入隐蔽的标记。这种标记通常是不可见 的,只有通过专门的检测器或阅读器才能 提取。
密码学分类
受限制的算法和基于密钥的算法 对称密码和非对称密码 分组密码和流密码
按照保密的内容分类
受限制的(restricted)算法:算法的保密 性基于保持算法的秘密。
周期换位密码(periodic permutation cipher)
列换位密码举例
输 输入方向
出 方
CANY
向 OUUN
DERS
T AND
明文: Can you understand
密文: Codtaueanurnynsd
周期换位密码举例
假定有一个周期是4的换位密码,其密钥是 i=1, 2, 3, 4的一个置换f(i)=3, 4, 2, 1。 明文:can you understand 加密时先将明文分组,每组4个字母,然后根据密钥所规定
多字母代替密码:在加密时将明文消息划 分为长度为L(L>1)的消息单元(明文 组),又称分组密码。
单表代替密码:又称简单代替密码,明文 的一个字符用相应的一个密文字符代替。
多表代替密码:明文中的字符映射到密文 空间的字符还依赖于它在上下文中的位置。
代替密码算法
y=ax+b,其中a不为0,a,b为整数
substitution 密文:FDHVDU FLSKHU LV D
VKLIW VXEVWLWXWLRQ
用数学来描述:C=M+3 mod(26)
(2)乘数密码算法
算法描述:
设P=C=Z/(26), K={a∈Z/(26) |gcd(a,26)=1},
对k∈K, x,y ∈Z/(26)
实际工作中一般选择指数实际计算值比较大 (>5.5)的做参考。
计算出各个密钥之间的关系后,用穷尽法计算真 正的密钥。
多字母代替密码
希尔密码
使用N阶可逆矩阵K 把明文变成行向量或列向量,按照K的大小
(N)进行分组 加密的话,行向量右乘,列向量左乘 解密的话,行向量再右乘可逆阵,列向量再左
是论述使明文变得不可懂以及把已加密的消息变 换成可懂形式的艺术和技巧。
是密写的科学和研究科目。一种密码就是一种密 写的方法,利用它,就可以把明文变换成密文。 把明文变换成密文的过程叫做加密;其逆过程, 把密文变换成明文的过程叫做解密;加密和解密 都是用一个或多个密钥来控制的。
密码分析学
是密码学的一个分支,它和密码学的另一个分支学科— —密码编码学是两个相互对立、相互依存、相辅相成、 相互促进的学科。
=7*3+11,4*3+11,11*3+11,11*3+11, 14*3+11 =32,23,44,44,53 =6,23,18,18,1 =gxssb ABCDEFGHIJKLMNOPQRSTUVWXYZ IORUX…..
(4)维吉尼亚密码(多表替代)
字母空间{英文字符} 假设x=(hellohowareyou),k=(secret)
y=h+s,e+e,l+c,l+r,o+e,h+t,o+s,w+e,a+c,r+r,e +e,y+t,o+s,u+e
=25,8,13,28,18,26,32,26,2, 34,8,43,32,24
=zincsagaciirgy
多表周期密码
一次一密乱码本(1917)
报文
secret
香农提出一个好的密码将融合“混淆”和“扩 散”。
扩散(Diffusion) :将每一位明文数字的 影响尽可能地散布到多个输出密文数字中 去,以更隐蔽明文数字的统计特性。
混乱(Confusion):使得密文的统计特性 与明文、密钥之间的关系尽量复杂化。
置换/移位和代替
代替:就是明文中的每一个字符被替换成 密文中的另一个字符。接收者对密文做反 向替换就可以恢复出明文。
定义:ek(x)=kx (mod 26)和dk(y)=yk-1(mod 26)
例子: k=9
ABCDEFGHIJKLMNOPQRSTUVWXYZ AJSBKTCLUDMVENWFOXGPYHQZIR 明文 密文 cipher => SUFLKX
(3)仿射密码
a=3,b=11 则f(hello)
在字母表范围内移动字母。
置换:又称换位密码,明文的字母保持相 同,但顺序被打乱了。
在明文内变动字母的位置。
信息隐藏和数字水印
信息隐藏(Information Hiding):又称信 息伪装(Steganography ),就是通过减 少载体的某种冗余,如空间冗余、数据冗 余等,来隐藏敏感信息,达到某种特殊的 目的,如保密通信、版权保护及用户追踪 等。