2.2_单表代替密码
明文 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
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
12
第二章 古典密码学
乘法代替密码
乘法代替密码的加密变换为: Ek(m) = mk ≡ c (mod q), 0 ≤ c < q.
这种密码又叫采样密码, 这是因为其密文字母表是将明 文字母表按下标每隔k位取出一个字母排列而成 (字母表 首尾相接)。
当gcd(k, q) = 1时, 明文字母与密文字母才是一一对应 的。
将它依次写在明文字母表之下, 而后再将明文字 母表中未在短语中出现过的字母依次写在此短语之 后, 就可构造出一个代替表, 如下所示:
明文 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
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。
10
第二章 古典密码学
解密时, 只要用密钥k = 23的加密密表对密文c进行 加密运算就可恢复出原明文。
11
第二章 古典密码学
这种密码是将明文字母表中字母位置下标与 密钥 k 进行模 q 加法运算的结果作为密文字母位置 下标, 相应的字母即为密文字母, 因此又称其为加 法代替密码。
为了加密与解密方便, 可将英文字母表的所有 移位作为行列出,该表称作维吉尼亚密表。见书 P17
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
初等数论中欧几里德扩展算法 辗转相除法
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 的仿射代替密码的代替表为:
4
第二章 古典密码学
称上述加密方式为代替加密(substitution)。当 σ1= σ2 =…= σn时, 称Ek 为单表代替加密。否则, 称 其为多表代替加密。称 σi为代替加密密表。
5
第二章 古典密码学
单表代替
由于SYM(Zq)的阶等于q!, 故单表代替密码共有q! 个(其中含恒等代替加密EI)不同的代替加密密表。
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 密文 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
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 不再 是一一的。
明文 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
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, 则有 下述代替表:
27
第二章 古典密码学
这样, 我们就得到了一种易于记忆而代替表 又有多种可能选择的密码。用不同的密钥字就可得 到不同的代替表。q = 26时, 将可能有26! = 4×1026 种代替表。除去一些不太有用的代替表外, 绝大多 数代替表都是可用的。
28
第二章 古典密码学
第二节 单表代替密码
1Leabharlann 第二章 古典密码学代替密码
代替密码是通过对明文字母表的置换,将明文 加密为密文的密码。
代替密码分为单表代替和多表代替
2
第二章 古典密码学
假设所采用语言的字母表含有q个字母, 即 Zq={0, 1, …, q-1}
集合Zq上置换的全体记为SYM(Zq), 则SYM(Zq) 是 Zq上的对称群 。
下面介绍几种简单的单表代替密码。
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
故解密密表为
明文 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的逆?
25
第二章 古典密码学
密钥短语密码
可以通过下述方法对例2.1 的加法代替密码进行改 造, 得到一种密钥可灵活变化的密码。
选一个英文短语, 称其为密钥字(key word)或密钥 短语(key phrase),如HAPPY NEWYEAR, 按顺序去 掉重复字母得HAPYNEWR。
26
第二章 古典密码学
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)
单表代替密码原理及算法实现
单表代替密码原理及算法实现 要了解单表替代密码就得先了解替代密码,在这⾥我就做⼀下简单的介绍:替代是古典密码中⽤到的最基本的处理技巧之⼀。
替代密码是指先建⽴⼀个替换表,加密时将需要加密的明⽂依次通过查表,替换为相应的字符,明⽂字符被逐个替换后,⽣成⽆任何意义的字符串,即密⽂,替代密码的密钥就是其替换表。
根据密码算法加解密时使⽤替换表多少的不同,替代密码⼜可分为单表替代密码和多表替代密码。
单表替代密码的密码算法加解密时使⽤⼀个固定的替换表。
单表替代密码⼜可分为⼀般单表替代密码、移位密码、、密钥短语密码。
这⾥讲单表替代密码的直接攻击。
对于⾃然语⾔,如果取⼀本⾮专业书籍,统计⾜够长的课⽂就会发现,字母(或字符)出现的频率会反映出相应语⾔的统计特性。
统计⼤量的课⽂定会发现,相应语⾔中每个字母在相应语⾔中出现的概率。
于是便得到该语⾔字母表上的⼀个概率分布。
⼀、英⽂字母⼀由独⽴试验产⽣明⽂单码,Beker在1982年统计的样本总数为100 362,得到单码的概率分布见下表:根据上表,英⽂字母出现的概率按⼤⼩排列如下:E T A O I N S H R D L C U M WFG Y P B V K J X Q Z在上表中,不少字母出现的概率近乎相等。
为了应⽤⽅便,常将英⽂字母表按字母出现的概率⼤⼩分类,分类情况见下表:--------------------------极⾼频 E次⾼频 T A O I N S H R中等频 D L低频 C U M W F G Y P B甚低频 V K J X Q Z--------------------------其它语⾔和数据也有类似于英语语⾔的单字母统计特性。
如果我们随意统计⼀段⾜够长的英⽂课⽂,只要内容不是太特殊,其结果⼀定和上表基本相同。
这表明英⽂的⼀篇⽂章中各个字母出现的概率是基本可预测的,它将为密码分析提供⼀个⽅⾯的依据。
语⾔的单字母统计特性⾄少在以下两个⽅⾯没有反映出英⽂语⾔的特征:⑴根据英⽂的单字母统计特性可以计算出双字母QE出现的概率为p(QE)=0.00095×0.12702≈1.21×10^(-4)这就是说,在10^6个双字母的抽样中,QE出现的次数⼤约应为121次,但这不符合英⽂课⽂的实际。
密码学试题及答案
密码学试题及答案【篇一:《现代密码学》期终考试试卷和答案】txt>………………………………密…………………………………………封……………………………………线…………………………………………一.选择题1、关于密码学的讨论中,下列( d )观点是不正确的。
a、密码学是研究与信息安全相关的方面如机密性、完整性、实体鉴别、抗否认等的综合技术b、密码学的两大分支是密码编码学和密码分析学c、密码并不是提供安全的单一的手段,而是一组技术d、密码学中存在一次一密的密码体制,它是绝对安全的 2、在以下古典密码体制中,属于置换密码的是( b)。
a、移位密码 b、倒序密码 c、仿射密码 d、playfair 密码 3、一个完整的密码体制,不包括以下( c)要素。
a、明文空间 b、密文空间c、数字签名 d、密钥空间4、关于des算法,除了(c )以外,下列描述des算法子密钥产生过程是正确的。
a、首先将 des 算法所接受的输入密钥 k(64 位),去除奇偶校验位,得到56位密钥(即经过pc-1置换,得到56位密钥)b、在计算第i轮迭代所需的子密钥时,首先进行循环左移,循环左移的位数取决于i的值,这些经过循环移位的值作为下一次循环左移的输入c、在计算第i轮迭代所需的子密钥时,首先进行循环左移,每轮循环左移的位数都相同,这些经过循环移位的值作为下一次循环左移的输入d、然后将每轮循环移位后的值经pc-2置换,所得到的置换结果即为第i轮所需的子密钥ki 5、2000年10月2日,nist正式宣布将( b )候选算法作为高级数据加密标准,该算法是由两位比利时密码学者提出的。
a、marsb、rijndaelc、twofishd、bluefish*6、根据所依据的数学难题,除了( a )以外,公钥密码体制可以分为以下几类。
a、模幂运算问题 b、大整数因子分解问题 c、离散对数问题 d、椭圆曲线离散对数问题7、密码学中的杂凑函数(hash函数)按照是否使用密钥分为两大类:带密钥的杂凑函数和不编号系别专业班级姓名学号………………………………密…………………………………………封……………………………………线…………………………………………带密钥的杂凑函数,下面(c )是带密钥的杂凑函数。
2.2_单表代替密码
明文 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的逆?
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, 则有 下述代替表:
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 不再 是一一的。
27
第二章 古典密码学
这样, 我们就得到了一种易于记忆而代替表 又有多种可能选择的密码。用不同的密钥字就可得 到不同的代替表。q = 26时, 将可能有26! = 4×1026 种代替表。除去一些不太有用的代替表外, 绝大多 数代替表都是可用的。
网络安全-02-传统加密技术-zjw
32 56
128
168
2168 = 3.7 1050
2167 µs = 5.9 1036 years
5.9 1030 years
26 characters (permutation)
26! = 4
1026
2 1026 µs= 6.4 1012 years
6.4 106 years
19世纪,Kerckhoff(柯克霍夫)原则:
系统的保密性不依赖于对加密体制或算法的保密,而依赖 于对密钥的保密。 (WHY???)
2015年8月12日9时16分
西安电子科技大学计算机学院
17
§2.1 对称密码的模型
传统密码/常规密码/私钥密码/单钥密码 conventional / private-key / single-key 发送方和接收方共享一个共同的密钥 sender and recipient share a common key 所有的传统密码算法都是私钥密码
(加密)运算:pi = ci - k (mod 26), i=1,2,…,n
2015年8月12日9时16分
西安电子科技大学计算机学院
27
恺撒密码-解密
方式二:查表(例k=3)
密 文 A B C D E F G H
I
J K L M N O P Q R S
T U V W X Y Z
明 x 文
y
z
a
研究内容
主要研究对信息进行编码,实现对信息的隐蔽。
特征
运算类型:代换与置换 所用的密钥数:单钥与双钥 处理明文的方法:分组密码与流密码
密码学试题及答案
密码学试题及答案【篇一:《现代密码学》期终考试试卷和答案】txt>………………………………密…………………………………………封……………………………………线…………………………………………一.选择题1、关于密码学的讨论中,下列( d )观点是不正确的。
a、密码学是研究与信息安全相关的方面如机密性、完整性、实体鉴别、抗否认等的综合技术b、密码学的两大分支是密码编码学和密码分析学c、密码并不是提供安全的单一的手段,而是一组技术d、密码学中存在一次一密的密码体制,它是绝对安全的 2、在以下古典密码体制中,属于置换密码的是( b)。
a、移位密码 b、倒序密码 c、仿射密码 d、playfair 密码 3、一个完整的密码体制,不包括以下( c)要素。
a、明文空间 b、密文空间c、数字签名 d、密钥空间4、关于des算法,除了(c )以外,下列描述des算法子密钥产生过程是正确的。
a、首先将 des 算法所接受的输入密钥 k(64 位),去除奇偶校验位,得到56位密钥(即经过pc-1置换,得到56位密钥)b、在计算第i轮迭代所需的子密钥时,首先进行循环左移,循环左移的位数取决于i的值,这些经过循环移位的值作为下一次循环左移的输入c、在计算第i轮迭代所需的子密钥时,首先进行循环左移,每轮循环左移的位数都相同,这些经过循环移位的值作为下一次循环左移的输入d、然后将每轮循环移位后的值经pc-2置换,所得到的置换结果即为第i轮所需的子密钥ki 5、2000年10月2日,nist正式宣布将( b )候选算法作为高级数据加密标准,该算法是由两位比利时密码学者提出的。
a、marsb、rijndaelc、twofishd、bluefish*6、根据所依据的数学难题,除了( a )以外,公钥密码体制可以分为以下几类。
a、模幂运算问题 b、大整数因子分解问题 c、离散对数问题 d、椭圆曲线离散对数问题7、密码学中的杂凑函数(hash函数)按照是否使用密钥分为两大类:带密钥的杂凑函数和不编号系别专业班级姓名学号………………………………密…………………………………………封……………………………………线…………………………………………带密钥的杂凑函数,下面(c )是带密钥的杂凑函数。
(完整word)密码学原理与应用复习大纲
密码学原理与应用复习大纲第一部分古典密码1.1 密码学的五元组(明文,密文,密钥,加密算法,解密算法)及各部分的含义1.2 密码体制什么是密码体制?完成加密和解密的算法.通常,数据的加密和解密过程是通过密码体制(cipher system) +密钥(keyword)来控制的。
密码体制必须易于使用,特别是应当可以在微型计算机使用。
密码体制的安全性依赖于密钥的安全性,现代密码学不追求加密算法的保密性,而是追求加密算法的完备,即:使攻击者在不知道密钥的情况下,没有办法从算法找到突破口。
1。
3 代替密码体制:(单表代替密码多表代替密码)就是明文中的每一个字符被替换成密文中的另一个字符.接收者对密文做反响替换就可以恢复出明文.(在这里具体的代替方案称为密钥)单表代替密码明文的相同字符用相应的一个密文字符代替.(移位密码,乘数密码,仿射密码,多项式密码,密钥短语密码)单表代替密码的特点:▲密钥空间K很大,|K|=26!=4×1026 ,破译者穷举搜索计算不可行,1微秒试一个密钥,遍历全部密钥需要1013 年。
▲移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间。
密钥π不便记忆。
▲针对一般替换密码密钥π不便记忆的问题,又衍生出了各种形式单表替代密码。
单表代替密码的弱点:▲密钥量很小,不能抵抗穷尽搜索攻击▲没有将明文字母出现的概率掩藏起来,很容易受到频率分析的攻击▲不具备雪崩效应▲加解密数学表达式简单多表代替密码是以一系列(两个以上)代换表依次对明文消息的字母进行代换的方法。
(维吉尼亚Vigenere密码,Hill密码,Playfair密码)多表代替密码的特点:使用了两个或两个以上的替代表。
Vegenere密码算法(分析类)15分,参考第一讲课件第二部分对称密码体制2.1 对称密码体制(分组密码,序列密码)的概念对称密钥密码体制,对于大多数算法,解密算法是加密算法的逆运算,加密密钥和解密密钥相同,同属一类的加密体制。
密码学-2
密钥量为 ( q! ) n
5、换位密码 (这里换位被看作一种多表代替密码!)
n X n Y n Zq ,
K 为 {1,2,, n} 上的全体置换的全体, 对任意明文 m (m1 , m2 ,, mn ) X n,k K, c E(m) (m (1) , m ( 2) ,, m ( n ) ) k
Z5
+ 0 1 2 3 0 0 1 2 3 1 1 2 3 4 2 2 3 4 0 3 3 4 0 1 4 4 0 1 2 * 1 1 1
* Z5
2 2
3 3
4 4
2
3 4
2
3 4
4
1 3
1
4 2
3
2 1
4
4
0
1
2
3
对于英文字母表 q=26
字母 数字
Z 26 {0, 1, 2,, 25}
f
c Ek (m) (m k ) mod q m Dk (c) (c k ) mod q
加法密码的密钥量为q 。 移位密码,凯撒密码体制
2、 乘法密码 X Y Z q , K Z q *, m X , k K ,
c Ek (m) km mod q, m k c mod q
密钥量为 (q )! 当q为素数时
n
A
D
B
E
R
P-1
b r e a d
* 求逆时需要重新排序!
(4 5 1 3 2) (3 5 4 1 2)
代替:字母表上的置换表。 (substitution) 换位:明文字母上的置换。(直接称为置换permutation) 混淆和扩散 S 盒和 P 盒
2.2-机械密码(密码学)
范明钰 2019 年 本科 密码学
15
ENIGMA的组成
Reflector Rotor—转子
三个部分
◦ 键盘 ◦ 处理(转子)
◦ 指示灯(显示器)
Lamp—面板灯(显示器) Keyboard—键盘
plug board
范明钰 2019 年 本科 密码学
16
ENIGMA的原理
经过七次位移,A进去出来G 把右边轮子移一格,A进去就出来C 根据每个轮子起始位置的不同,Enigma可 以变换出非常多的结果 军用的Enigma机器加上其他一些输入连接 键盘,一共有 158,962,555,217,826,360,000 (1.5万亿亿 种)变换,接近随机数加密
范明钰 2019 年 本科 密码学
22
Enigma的可能变化
ENIGMA类似于多表代替,也是不断改变明文和密
文的字母映射关系
转轮的数量
转轮的位置
转轮字母的排列 连接板
密钥更换
范明钰 2019 年 本科 密码学
23
ENIGMA密码机的变种
复制品包括一台德国海军M4型的复制品,一台电子系统经过了改进的恩尼格玛密码机(恩尼格 玛E型),各种计算机模拟软件和纸制模型 对密码机设计的影响巨大:英国的Typex机起源于Enigma的专利设计;本使用了一种被美国密码 学家称作GREEN的Enigma复制品:在这台并没有大量使用的机器中,四个转子垂直排列;美国 密码学家威廉·弗雷德曼设计的M-325,与Enigma具有相似原理
范明钰 2019 年 本科 密码学
14
1927年,ENIGMA-D、E、F开发成功;ENIGMA-D在英
Enigma历史
优选古典密码
单表代替密码的安全性分析 单表代替的优缺点
优点: 明文字符的形态一般将面目全非 缺点: (A) 明文的位置不变; (B) 明文字符相同,则密文字符也相同;
从而导致: (I) 若明文字符e被加密成密文字符a,则明文中e的 出现次数就是密文中字符a的出现次数; (II) 明文的跟随关系反映在密文之中.
特别地,若取q =10 和 k=3,则
加密变换为:
c E3(m) (m 3) mod 10, 0 m 9
解密变换为:
m D3(c) (c 3) mod 10, 0 c 9
此时,明文:晨五点总攻 变换为区位码 1931 4669 2167 5560 2505
后就被加密成密文 4264 7992 5490 8893 5838
当将明、密文空间均改为
将
英
Z26 {0,1,2,,25}
文
将对英文字母的加密变换改为:
字 母
c Ek (m) (m k) mod 26
编
这个密码就是一个著名的古典密码体制:码
维几尼亚密码(Vigenere密码体制) 为
若明文序列为: m1, m2,, mt ,
它 的
(
密钥序列为:k1, k2,, kt , 则密文序列为: c1, c2,, ct ,
二、多表代替密码 根据密钥的指示,来选择加密时使用的单 表的方法,称为多表代替密码。
例6:加密变换为:c Ek (m) (m k) mod 10
但 k 不再是固定常数而是密钥。 加密算法: 明 文: 晨 五 点 总 攻 明文序列: 1931 4669 2167 5560 2505 密钥序列: 4321 5378 4322 3109 1107 密文序列: 5252 9937 6489 8669 3602 若密钥序列是随机的,该密码就是绝对安全的. 随机就是指序列的信号相互独立且等概分布.
实验吧_密码学实验报告(3篇)
第1篇一、实验背景密码学是一门研究信息加密与解密的学科,它广泛应用于信息安全领域。
为了更好地理解密码学的基本原理和算法,我们选择了实验吧平台上的密码学实验进行学习。
本次实验旨在通过实际操作,加深对古典密码、对称密码和不对称密码等密码学基本概念的理解,提高密码学应用能力。
二、实验目的1. 理解并掌握古典密码的基本原理和算法;2. 掌握对称密码和不对称密码的基本原理和算法;3. 通过实验操作,提高密码学应用能力;4. 培养团队协作和解决问题的能力。
三、实验内容1. 古典密码实验(1)仿射密码原理:仿射密码是一种单字母替换密码,加密公式为:C = (aP + b) mod 26,其中C为密文字母,P为明文字母,a和b为密钥。
操作步骤:1)编写加密函数encrypt,实现仿射密码加密;2)编写解密函数decrypt,实现仿射密码解密;3)测试加密和解密函数,验证其正确性。
(2)单表代替密码原理:单表代替密码是一种将明文字符映射到密文字符的替换密码。
操作步骤:1)编写加密函数subencrypt,实现单表代替密码加密;2)编写解密函数subdecrypt,实现单表代替密码解密;3)测试加密和解密函数,验证其正确性。
(3)维吉尼亚密码原理:维吉尼亚密码是一种多字母替换密码,加密公式为:C = (P + K[i]) mod 26,其中C为密文字母,P为明文字母,K为密钥,i为索引。
操作步骤:1)编写加密函数vigenereencrypt,实现维吉尼亚密码加密;2)编写解密函数vigeneredecrypt,实现维吉尼亚密码解密;3)测试加密和解密函数,验证其正确性。
2. 对称密码实验(1)DES加密算法原理:DES(Data Encryption Standard)是一种分组加密算法,采用56位密钥,64位分组。
操作步骤:1)编写DES加密函数desencrypt,实现DES加密;2)编写DES解密函数desdecrypt,实现DES解密;3)测试加密和解密函数,验证其正确性。
