2.2_单表代替密码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 古典密码学
第二节 单表代替密码
1
第二章 古典密码学
代替密码
代替密码是通过对明文字母表的置换,将明文 加密为密文的密码。
代替密码分为单表代替和多表代替
2
第二章 古典密码学
假设所采用语言的字母表含有q个字母, 即 Zq={0, 1, …, q-1}
集合Zq上置换的全体记为SYM(Zq), 则SYM(Zq) 是 Zq上的对称群 。
明文 a b c d e f g h i j k l m 密文 D I N S X C H M R W B G L 明文 n o p q r s t u v w x y z 密文 Q V A F K P U Z E J O T Y
若明文m为affine cipher, 则密文c为 DCCRQX NRAMXK
20
第二章 古典密码学
设gcd (k, q) = 1, 则以k为加密密钥的乘法代 替密码的解密变换是以k modq的逆k−1为加密密钥的 乘法代替密码, 即
Dk(c)= k−1c ≡ m (mod q) 0 ≤ c < q
21
第二章 古典密码学
例如例2.4中乘法代替密码的解密变换为 D3(c)= 3c ≡ m (mod 26)
则密文为 C = E3(m) = FDVHDU FLSKHU LV D VKLIW VXEVWLWXWLRQ
明文 a b c d e f g h i j k l m 密文 D E F G H I J K L M N O P
明文 n o p q r s t u v w x y z 密文 Q R S T U V W X Y Z A B C
7
第二章 古典密码学
加密变换为: Ek(m) = m + k ≡ c (mod q) 0 ≤ m, c<q
解密变换为: Dk = Eq−k(c) ≡ m (mod q)
移位代替密码的密钥空间K = {k | 0≤ k < q}元素的个 数为q, 其中k = 0是恒等变换。
8
第二章 古典密码学
例2.3 凯撒密码(Caesar Cipher)是对英文字母表进 行移位代替的密码, 即q = 26。例如, 选择密钥k = 3, 则有 下述代替表:
19
第二章 古典密码学
若明文 m = multiplicative cipher
则有密文 c = EYVPUFVUSAPUHK SUFLKX
明文 a b c d e f g h i j k l m 密文 A J S B K T C L U D M V E
明文 n o p q r s t u v w x y z 密文 N W F O X G P Y H Q Z I R
下面介绍几种简单的单表代替密码。
6
第二章 古典密码学
移位代替密码
以下将q个字母的字母表与Z模q中数作一一对应, 用 每个字母对应的数字代替该字母。例如, 将英文字母表作 如下对应:
abcde f gh i j k lm 0 1 2 3 4 5 6 7 8 9 10 11 12
nopq r s t uvwx y z 13 14 15 16 17 18 19 20 21 22 23 24 25
13
第二章 古典密码学
定 理 2.1 在 乘 法 代 替 密 码 中 , 当 且 仅 当 gcd(k,q) = 1, Ek 才是一一映射。
14
第二章 古典密码学
证明: 对于任意的 j, k, i ∈ Zq, jk ≡ ik (mod q) ⇔ (j - i)k ≡ 0 (mod q)。
若 gcd(k, q) = 1, 则必有 j = i, 因而是一一映射。 若 gcd(k, q) = d>1, 则 j = i + q/d 也可使 (j−i)k ≡ 0 (modq), 因而对 j ≠ i, j 和 i 将被映射成同一字母, Ek 不再 是一一的。
17
第二章 古典密码学
若q为素数, 则有q − 2个可用密钥。否则就只有 φ(q) − 1个可用密钥。这里φ(q)是欧拉函数, 它表示小 于q且与q互素的正整数的个数。
18
第二章 古典密码学
例2.2 英文字母表q = 26, 选k = 9, 则有乘法代替密 码的明文密文字母对应表:
明文 a b c d e f g h i j k l m 密文 A J S B K T C L U D M V E 明文 n o p q r s t u v w x y z 密文 N W F O X G P Y H Q Z I R
4
第二章 古典密码学
称上述加密方式为代替加密(substitution)。当 σ1= σ2 =…= σn时, 称Ek 为单表代替加密。否则, 称 其为多表代替加密。称 σi为代替加密密表。
5
第二章 古典密码学
单表代替
由于SYM(Zq)的阶等于q!, 故单表代替密码共有q! 个(其中含恒等代替加密EI)不同的代替加密密表。
25
第二章 古典密码学
密钥短Baidu Nhomakorabea密码
可以通过下述方法对例2.1 的加法代替密码进行改 造, 得到一种密钥可灵活变化的密码。
选一个英文短语, 称其为密钥字(key word)或密钥 短语(key phrase),如HAPPY NEWYEAR, 按顺序去 掉重复字母得HAPYNEWR。
26
第二章 古典密码学
初等数论中欧几里德扩展算法 辗转相除法
23
第二章 古典密码学
因为gcd(k1,q) = 1, 所以存在k1−1∈Zq,使得 k1⋅k1−1≡ 1 (mod q),
故仿射代替密码的解密变换为
Dk(c) = (c − k0)⋅k1−1 (mod q)
24
第二章 古典密码学
例2.5 k1 = 5, k0 = 3 的仿射代替密码的代替表为:
12
第二章 古典密码学
乘法代替密码
乘法代替密码的加密变换为: Ek(m) = mk ≡ c (mod q), 0 ≤ c < q.
这种密码又叫采样密码, 这是因为其密文字母表是将明 文字母表按下标每隔k位取出一个字母排列而成 (字母表 首尾相接)。
当gcd(k, q) = 1时, 明文字母与密文字母才是一一对应 的。
3
第二章 古典密码学
定义2.1 设k = (σ1, σ2,…, σn,… ) 是一列置换, x = (x1,x2,…,xn,…)是一列明文,其中σi ∈SYM(Zq), xi ∈Zq。变换Ek将n-明文组 x = (x1,x2,…,xn)加密成n密文组 y = (y1,y2,…,yn), 即
Ek (σ1(x1), σ2(x2), …, σn (xn)) = (y1,y2,…,yn) = y
故解密密表为
明文 a b c d e f g h i j k l m 密文 A D G J M P S V Y B E H K 明文 n o p q r s t u v w x y z 密文 N Q T W Z C F I L O R U X
22
第二章 古典密码学
问题: 在(k, q) = 1时,如何求k模q的逆?
将它依次写在明文字母表之下, 而后再将明文字 母表中未在短语中出现过的字母依次写在此短语之 后, 就可构造出一个代替表, 如下所示:
明文 a b c d e f g h i j k l m 密文 H A P Y N E W R B C D F G 明文 n o p q r s t u v w x y z 密文 I J K L M O Q S T U V X Z
10
第二章 古典密码学
解密时, 只要用密钥k = 23的加密密表对密文c进行 加密运算就可恢复出原明文。
11
第二章 古典密码学
这种密码是将明文字母表中字母位置下标与 密钥 k 进行模 q 加法运算的结果作为密文字母位置 下标, 相应的字母即为密文字母, 因此又称其为加 法代替密码。
为了加密与解密方便, 可将英文字母表的所有 移位作为行列出,该表称作维吉尼亚密表。见书 P17
15
第二章 古典密码学
由定理 2.1 可知, 乘法代替密码实际可用密钥
个数为 φ(q) −1。

q
=
r

piαi
,
其中 pi 为素数,

i=1
φ(q)
=
r
q∏ (1−
1
)
i=1 pi
16
第二章 古典密码学
对于 q = 26, 与 q 互素且小于 q 的正整数个数 为 φ(26) = 12, 除去 k =1 的恒等变换, 还有 11 种选 择, 即 k = 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 和 25。
27
第二章 古典密码学
这样, 我们就得到了一种易于记忆而代替表 又有多种可能选择的密码。用不同的密钥字就可得 到不同的代替表。q = 26时, 将可能有26! = 4×1026 种代替表。除去一些不太有用的代替表外, 绝大多 数代替表都是可用的。
28
明文 a b c d e f g h i j k l m 密文 D E F G H I J K L M N O P 明文 n o p q r s t u v w x y z 密文 Q R S T U V W X Y Z A B C
9
第二章 古典密码学
若明文 m = casear cipher is a shift substitution
相关文档
最新文档