【密码学复习】第二讲 古典密码学

加密术语

明文(plaintext/message):是加密之前的字符、符号;

密文(ciphertext)是加密之后的字符、符号;

密钥(key) :是在明文转换为密文或将密文转换为明文的算法中输入的参数;

加密(encryption) :以某种特殊的算法改变原有的(明文)信息数据过程;

解密(decryption) :是从密文恢复出原有的(明文)信息数据的过程。

代换密码( substitution ):代换是古典密码中用到的最基本的处理技巧之一。所谓代换,就是将明文中的一个字母由其它字母、数字或符号替代的一种方法。又分为:移位(凯撒)密码、仿射密码、单表代换、多表代换

移位 (凯撒)密码

明文p ∈Z26,密文c ∈Z26 ,密钥k取[1,25]

加密:c = E(p) = (p + k) mod 26

解密:p = D(c) = (c – k) mod 26

仿射密码

数学描述

明文p ∈Z26,密文c ∈Z26

密钥k=(a,b) ∈ Z26 * × Z26 且gcd(a,26)=1.

加密:c = E(p) = (a × p + b) mod 26

解密:p = D(c) = (c – b) × a-1mod 26

例:令密钥k=(7,3), 且gcd(7,26)=1.

明文hot=(7,14,19)

加密:

(7 × 7 + 3) mod 26 = 0

(7 × 14 + 3) mod 26 =23

(7 × 19 + 3) mod 26 =6

密文为(0,23,6)=(a,x,g)

解密:7 -1=15=-11 mod 26

(0- 3) × 15 mod 26 = 7

(23- 3) × 15 mod 26 =14

(6- 3) × 15 mod 26 =19

明文为(7,14,19)=(h, o,t)

单表代换密码

数学描述

明文p ∈Z26,密文c ∈Z26

密钥k ∈ {∏|定义在0,2,…,25上的置换}

加密

c = k(p)

解密

p = k-1 (c)

多表代换密码

简化多表代换密码-维吉尼亚密码(VigenèreCipher):由26个类似 Caesar密码的代换表组成

维吉尼亚密码数学描述:

明文p ∈Z26,密文c∈Z26,密钥k∈(Z26)m

加密

c=(p1+k1 , p2+k2 , …, pm+km, pm+1+k1 , …) mod 26;

解密

p=(c1 -k1 , c2 -k2 , …, cm-km, cm+1-k1 , …) mod 26

置换密码

置换密码(permutation):是古典密码中用到的另一个最基本的处理技巧。将明文字符按照某种规律重新排列而形成密文的过程。

数学描述

明文p ∈(Z26) m,密文c ∈ (Z26) m

密钥k ∈{∏|定义在1,2,…,m上的置换}

加密

c= (p∏(1) ,p∏(2) ,…,p∏(m));

解密

p = (c∏ -1 (1) ,c∏ -1 (2) ,…,c∏ -1 (m))

例:密钥

明文:she sells sea shells by the shore

分组:shesel lsseas hellsb ythesh ore ‘z’ ‘z’ ‘z’

置换:EESLSH SALSES LSHBLE HSYHET E ‘z’ O ‘z’ ‘z’ R

希尔密码(Hill cipher)

明文p ∈(Z26) m,密文c ∈ (Z26) m

密钥K ∈{定义在Z26m×m的可逆矩阵}

加密

c = p * K mod 26

解密

p = c * K -1 mod 26

转轮密码(Rotor Machine)

惟密文攻击

人类的语言存在冗余,以英文文档为例:

Ø 字母e 是使用频率最高的

Ø 其次是T,R,N,I,O,A,S

Ø Z,J,K,Q,X 很少使用

Ø A、I、U很少用在词尾,E、N、R常出现在词尾。E、S、D作为字母结尾字母的单词超过一半,T、A、S、W为起始字母的单词约占一半。

统计攻击(频率攻击)

Ø 假设:根据统计规律分析假设某些结论。

Ø 推断:在假设的前提下,推断出一些结论。

ü双频

ü字母跟随关系

ü构词规则

ü词义

Ø 验证发展:填上破译出的字母,根据词义、构词规则不断发展

移位密码、仿射密码和单表代换密码都没有破坏明文的频率统计规律,可以直接用统计分析法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆呆水獭_(:_」∠)_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值