实验二 古典密码
2023年古典密码实验报告

实验报告一、试验室名称:SimpleSPC信息安全云试验系统二、试验项目名称:古典密码——置换密码三、试验课时:1课时四、试验原理:1) 算法原理a) 置换密码算法是不变化明文字符,而是按照某一规则重新排列消息中旳比特或字符次序,才而实现明文信息旳加密。
将明文中旳字母按照给定旳次序安排在一种矩阵中,然后用根据密钥提供旳次序重新组合矩阵中旳字母,从而形成密文。
其解密过程是根据密钥旳字母数作为列数,将密文按照列、行旳次序写出,再根据密钥给出旳矩阵置换产生新旳矩阵,从而恢复明文。
b) 置换密码(Permutation Cipher),又称换位密码。
算法实行时,明文旳字母保持相似,但次序会被打乱。
置换只不过是一种简朴旳换位,每个置换都可以用一种置换矩阵Ek来表达。
每个置换均有一种与之对应旳逆置换Dk。
置换密码旳特点是仅有一种发送方和接受方懂得旳加密置换(用于加密)及对应旳逆置换(用于解密)。
它是对明文L长字母组中旳字母位置进行重新排列,而每个字母自身并不变化。
c) 设n为一固定整数,P、C和K分别为明文空间、密文空间和密钥空间。
明/密文是长度为n旳字符序列,分别记为X(x1,x2,…,xn)属于P 和Y(y1,y2,…,yn)属于C ,K是定义在{1,2,…,n}旳所有置换构成旳集合。
对任何一种密钥(即一种置换),定义置换如下:加密置换为:解密置换为:上式中,是旳逆置换,密钥空间K旳大小为n!2) 算法参数置换密码算法重要有c、m、k、n四个参数。
c为密文,m是明文,k为密钥,n为模数。
3) 算法流程算法流程。
如图所示五、试验目旳:1)学习置换密码旳原理2)学习置换密码旳算法实现六、试验内容:1.在虚拟机上运行置换密码.exe可执行文献,根据提醒输入明文和密钥,同步检查输出旳解密后旳成果与否与明文一致。
2.学习掌握置换密码旳原理,并根据明文和密钥计算出对应旳加密文,并与程序输出旳成果进行比对,掌握其加密解密旳过程。
古典密码的实验报告

古典密码的实验报告古典密码的实验报告引言:密码学作为一门古老而又神秘的学科,一直以来都吸引着人们的兴趣。
在古代,人们用各种各样的密码来保护重要信息的安全性。
本实验旨在通过实际操作,探索古典密码的加密原理和破解方法,从而深入了解密码学的基本概念和应用。
一、凯撒密码凯撒密码,又称移位密码,是最简单的一种古典密码。
其原理是通过将明文中的每个字母按照一定的规则进行移位,得到密文。
在本实验中,我们选择了一个简单的凯撒密码进行破解。
首先,我们选择了一段明文:“HELLO WORLD”,并将其按照凯撒密码的规则进行移位,假设移位数为3,则得到密文:“KHOOR ZRUOG”。
接下来,我们尝试使用暴力破解的方法来还原明文。
通过尝试不同的移位数,我们发现当移位数为3时,得到的明文与原文完全一致。
这表明我们成功地破解了凯撒密码,并还原了原始的明文。
二、维吉尼亚密码维吉尼亚密码是一种基于多个凯撒密码组合而成的密码算法。
其原理是通过使用不同的移位数对明文进行加密,从而增加了密码的复杂度。
在本实验中,我们选择了一段明文:“CRYPTOGRAPHY”,并使用维吉尼亚密码进行加密。
我们选择了一个关键词“KEY”作为加密密钥。
首先,我们将关键词“KEY”重复至与明文长度相同,得到“KEYKEYKEYKEYK”。
然后,将明文中的每个字母与关键词中对应位置的字母进行凯撒密码的移位操作。
经过加密后,我们得到了密文:“LXFOPVEFRNHR”。
接下来,我们尝试使用破解方法来还原明文。
通过尝试不同的关键词和移位数的组合,我们发现当关键词为“KEY”且移位数为3时,得到的明文与原文完全一致。
这表明我们成功地破解了维吉尼亚密码,并还原了原始的明文。
三、栅栏密码栅栏密码是一种基于换位操作的密码算法。
其原理是通过将明文中的字母按照一定的规则进行重新排列,得到密文。
在本实验中,我们选择了一段明文:“HELLO WORLD”,并使用栅栏密码进行加密。
实验02古典密码

一、实验室名称:网络工程实验室二、实验项目名称:古典密码实验三、实验学时:2学时四、实验原理:古典密码算法的基本原理(单表密码,多表密码,密码分析);五、实验目的:目的:实现密码算法(Hill密码,Vigenère密码)并掌握加密过程原理六、实验内容:a)Hill密码的基本原理希尔密码(Hill Password)是运用基本矩阵论原理的替换密码算法如下:1、假设要加密的明文是由26个字母组成,其他字符省略。
2、将每个字符与0-25的一个数字一一对应起来。
(例如:a/A—0,b/B—1,……z/Z—25)。
3、选择一个加密矩阵A,其中矩阵A必须是可逆(n*n)矩阵,例如4、将明文字母分别依照次序每n个一组(如果最后一组不足n个的话,就将其补成n个),依照字符与数字的对应关系得到明文矩阵ming 。
5、通过加密矩阵A,利用矩阵乘法得到密文矩阵mi = A*ming mod 26;6、将密文矩阵的数字与字符对应起来,得到密文。
7、解密时利用加密矩阵的逆矩阵A-1和密文,计算ming=A-1*mi mod 26,可得到明文核心代码:循环体外:String message = new String("helloworld");int len = message.length();char[] cipArray = new char[len];char[] messageArray = new char[len];循环处理中:a=message.charAt(i*2)-'a';b=message.charAt(i*2+1)-'a';temp1 = (a*encryptKey[0][0] + b*encryptKey[0][1])%26;if (temp1<0){temp1 = temp1 + 26;}temp2 = (a*encryptKey[1][0] + b*encryptKey[1][1])%26;if (temp2<0){temp2 =temp2 + 26;}cipArray[i*2] =(char) (temp1+97);cipArray[i*2+1] = (char)(temp2+97);解密算法略。
2 古典密码

(4)若a≡b mod q且b≡c mod q ,则a≡c mod q
模q算术-ii
• 模算术(Modular Arithmatic)
在mod q的q个剩余类集{0,1,2,…,q-1}上可以定 义加法和乘法运算如下: 加法: (a mod q)+ (b mod q)= (a+b) mod q 乘法:(a mod q) × (b mod q) = (a ×b)mod q
例子: cipher => FLSKHU
实际算法为: ∀x∈P 有 e3 (x) = x + 3(mod 26) = y 同时有,d 3 (y)=y-3 (mod 26)
凯撒大帝· 高卢战争
移位密码分析
• 给定加密的消息: PHHW PH DIWHU WKH WRJD SDUWB 由于(1)加解密算法已知 (2)可能尝试的密钥只有26个, 通过强力攻击得 到明文: meet me after the toga party. 移位密码很容易受到唯密文攻击。
可能尝试的密钥只有11个
仿射密码算法-i
• 加密函数取形式为
e(x)=ax+b (mod 26), a,b∈Z/(26)
要求唯一解的充要条件是 gcd( a,26)=1 该算法描述为: 设 P=C=Z/(26)
K={(a,b) ∈Z/(26)×Z/(26)|gcd(a,26)=1}, 对 k=(a,b) ∈K, 定义
dk(yi + td)= (yi + td - ki) mod q =x
例子:q=26, x=polyalphabeticcipher, K=RADIO 明文 x=polya lphab eticc ipher 密钥 k=RADIO RADIO RADIO RADIO 密文 y=GOOGO CPKTP NTLKQ ZPKMF
现代密码学——古典密码算法(实验报告)

安全SnoWolF/百度B英俊制作课程名称现代密码学实验实验项目名称古典密码算法练习一 Caesar密码加密时每一个字母向前推移k位,例如当k=5时,置换表如表2所示。
表2 Caesar置换表于是对于明文:datasecurityhasevolvedrapidly经过加密后就可以得到密文:IFYFXJHZWNYDMFXJATQAJIWFUNIQD若令26个字母分别对应整数0~25,如表3所示。
表3 Caesar置换表则Caesar加密变换实际上是:c=(m+k)mod26其中m是明文对应的数据,c是与明文对应的密文数据,k是加密用的参数,也称为密钥。
很容易得到相应的Caesar解密变换是:m=D(c)=(c–k)mod26例如明文:datasecurity对应的数据序列:301901842201781924当k=5时经过加密变换得到密文序列:852452397252213243对应的密文为:IFYFXJHZWNYD【实验步骤】本练习主机A、B为一组,C、D为一组,E、F为一组。
首先使用“快照X”恢复Windows系统环境。
一.手动完成Caesar密码(1) 在实验原理部分我们已经了解了Caesar密码的基本原理,那么请同学们写出当密钥k=3时,对应明文:data security has evolved rapidly的密文: GDWD VHFXULWB KDV HYROYHG UDSLGOB 。
(2) 进入实验平台,单击工具栏中的“密码工具”按钮,启动密码工具,在向导区点击“Caesar密码”。
在明文输入区输入明文:data security has evolved rapidly。
将密钥k调节到3,查看相应的密文,并与你手动加密的密文进行比较。
请根据密钥验证密文与明文对应关系是否正确。
二.Caesar加密(1) 进入“加密解密”|“Caesar密码”视图,在明文输入区输入明文(明文应为英文),单击“加密”按钮进行加密。
实验二 古典密码

实验2 古典密码1.实验目的(1)了解古典密码中的基本加密运算。
(2)了解几种典型的古典密码体制。
(3)掌握古典密码的统计分析方法。
2.实验内容(1)古典密码体制①简单移位加密(单表代换)该加密方法中,加密时将明文中的每个字母向前推移K位。
经典恺撒密码加密变换就是这种变换,取k=3。
步骤1:打开CAP4软件,并加载实验一附带的“mw.txt”,如图2-1所示。
图2-1加载文件步骤2:采用恺撒加密方法手工加密“mw.txt”;打开CAP4菜单栏“Cipher”菜单项选择“simple shift”选项,并选择移位值“shift value”为3,加密步骤1中加载的文件,如图2-2所示。
图2-2 参数设置图2-3加密文件步骤3:比较二者的加密结果是否相同。
步骤4:点击CAP4软件中的“Simple analysis”下的“shift”键,观察恺撒加密法的可能密钥值,并分析其攻击的难度,如图2-4所示。
图2-4密钥分析②仿射密码加密(单表代换)在仿射密码加密(affine cipher)中,字母表中的字母被赋予一个数字,例如,a=0,b=1,c=2,…,z=25.仿射密码加密法的密钥为0~25之间的数字对(a,b)。
a与26的最大公约数必须为1,这就是说能整除a和26的数只有1.现在假设m为明文字母的数字,而c为密文字母的数字,那么,这两个数字之间有如下关系: c=(am+b)(mod 26)m=a-1(c-b)(mod 26)其中,(mod 26)的操作是:除以26,得其余数。
例如,选取密钥为(7,3)。
因为7与26互素,也就是只有公约数1,所以(7,3)可以作为仿射密码的加密钥。
将“hot”转换成数字7、14、19,利用仿射等式生成: c(H)=(7×7+3) mod 26=52 mod 26=0,即为字母“a“。
c(O)=(7×14+3) mod 26=101 mod 26=23,即为字母“x“.c(T)=(7×19+3) mod 26=136 mod 26=6,即为字母”g”. 这样,对于这个密钥,”hot”变成了“axg“.CAP4软件中实现仿射密码加密:步骤1:在CAP4软件中加载要加密地的明文“mw.txt“.步骤2:选取Cipher菜单下的Affine Cipher菜单项,弹出如下对话框,如图2-5所示。
实验二(两种基本古典密码设计与实现)

for(i=0;i<26;i++)
KeyTab[i]=(unsigned char)letter_to_digit(ChoiceWords[i]);
p=full_array2(25);
for(i=0;i<26;i++)
KeyTab[26+i]=p[i];
for(i=0;i<26;i++)
KeyTab[52+i]=(unsigned char)((7*i+3)%26);
putchar(d[key[(int)(((i-1)/16)*16+j)]]); if(i>=16*5) i=0; } if(i%16!=0) { for(j=i%16;j<16;j++)d[j]='*'; for(j=0;j<16;j++)
putchar(d[key[(int)((i/16)*16+j)]]);
char alphabet[26]={"abcdefghijklmnopqrstuvwxyz"}; for(i=0;i<26;i++)
if(tolower(c)==alphabet[i]) return(i); return(-1); } char digit_to_letter(int n) { // char alphabet[26]={'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'}; char alphabet[26]={"abcdefghijklmnopqrstuvwxyz"}; if(n<0||n>25) return(0); return(alphabet[n]); } unsigned char *KeyGen_s( ) { char KeyWords[106]; char ChoiceWords[26]; unsigned char *p; static unsigned char KeyTab[26*3]; int i,j,k,l; printf("\n 请输入密钥字:\n"); gets(KeyWords); strcat(KeyWords,"abcdefghijklmnopqrstuvwxyz"); k=0; l=strlen(KeyWords); ChoiceWords[k]=tolower(KeyWords[0]); for(i=1;i<l;i++) {
02 古典密码及分析

已知明文攻击,known plaintext
选择明文攻击,chosen plaintext
选择密文攻击,chosen ciphertext
选择文本攻击,chosen text
西安电子科技大学计算机学院
7
基于密码分析的攻击
Cryptanalytic Attacks
An algorithm that meets one or both of the following criteria:
An encryption scheme is said to be computationally secure if either of the foregoing two criteria are met.
unconditionally secure
8
西安电子科技大学计算机学院
穷举攻击
Key Size (bits)
西安电子科技大学计算机学院
15
对称密码模型
(Symmetric Cipher Model)
西安电子科技大学计算机学院
16
西安电子科技大学计算机学院
17
对称密码安全的两个必备条件:
加密算法必须是足够强的 a strong encryption algorithm 惟有发送者和接收者知道的秘密密钥 a secret key known only to sender / receiver C = EK(P) P = DK(C)
10
密码学的发展历史
第1阶段:1949年以前
1949年以前的密码技术可以说是一种艺术,而不是一种科 学,那时的密码专家是凭直觉和信念来进行密码设计和分 析的,而不是靠推理证明。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2 古典密码1.实验目的(1)了解古典密码中的基本加密运算。
(2)了解几种典型的古典密码体制。
(3)掌握古典密码的统计分析方法。
2.实验内容(1)古典密码体制①简单移位加密(单表代换)该加密方法中,加密时将明文中的每个字母向前推移K位。
经典恺撒密码加密变换就是这种变换,取k=3。
步骤1:打开CAP4软件,并加载实验一附带的“mw.txt”,如图2-1所示。
图2-1加载文件步骤2:采用恺撒加密方法手工加密“mw.txt”;打开CAP4菜单栏“Cipher”菜单项选择“simple shift”选项,并选择移位值“shift value”为3,加密步骤1中加载的文件,如图2-2所示。
图2-2 参数设置图2-3加密文件步骤3:比较二者的加密结果是否相同。
步骤4:点击CAP4软件中的“Simple analysis”下的“shift”键,观察恺撒加密法的可能密钥值,并分析其攻击的难度,如图2-4所示。
图2-4密钥分析②仿射密码加密(单表代换)在仿射密码加密(affine cipher)中,字母表中的字母被赋予一个数字,例如,a=0,b=1,c=2,…,z=25.仿射密码加密法的密钥为0~25之间的数字对(a,b)。
a与26的最大公约数必须为1,这就是说能整除a和26的数只有1.现在假设m为明文字母的数字,而c为密文字母的数字,那么,这两个数字之间有如下关系: c=(am+b)(mod 26)m=a-1(c-b)(mod 26)其中,(mod 26)的操作是:除以26,得其余数。
例如,选取密钥为(7,3)。
因为7与26互素,也就是只有公约数1,所以(7,3)可以作为仿射密码的加密钥。
将“hot”转换成数字7、14、19,利用仿射等式生成: c(H)=(7×7+3) mod 26=52 mod 26=0,即为字母“a“。
c(O)=(7×14+3) mod 26=101 mod 26=23,即为字母“x“.c(T)=(7×19+3) mod 26=136 mod 26=6,即为字母”g”. 这样,对于这个密钥,”hot”变成了“axg“.CAP4软件中实现仿射密码加密:步骤1:在CAP4软件中加载要加密地的明文“mw.txt“.步骤2:选取Cipher菜单下的Affine Cipher菜单项,弹出如下对话框,如图2-5所示。
图2-5 设置加密密钥步骤3:选择图中”Affine Cipher”中的“Encipher“选项进行加密,如图2-6所示。
图2-6 采用Affine Cipher加密③维吉尼亚密码加密(多表代换)Vigenere加密法是一个很著名的多表代换加密法。
该加密法是基于关键词的多表代换加密系统,但不像单表代换中的关键词加密那样,使用关键词来定义替换模式,它是先将明文按照关键字的长度分组,然后将分组中的每个字符与关键字中相应位置上的字符进行模26加密运算,这样每个明文字母都与一个关键词的字母关联。
例如:如果关键词为”hold”,而明文为”this is the plaintext”,那么,关键词—明文的关联如下所示:注意:以上的密文结果,也可以直接查找Vigenere表获取密文.例如:上面示例中的第一对是“ht“.在Vigenere表中查找”t”列和”h”行,找到结果密文字母”a”,重复这个过程。
明文密钥CAP4软件中实现维吉尼亚加密:步骤1:在CAP4软件中加载要加密地的明文“mw.txt“.步骤2:选取Cipher菜单下的Vigenere菜单项,弹出如下对话框,如图2-7所示。
图2-7 设置加密密钥词步骤3:选择”Encipher”菜单项加密。
(2)古典密码体制的统计分析因为古典密码学中的大部分加密都是基于英文字母的,所以其相应的明文和密文都会遵循相应的语言统计规律。
根据明密文中的统计特性来破译密文,是古典密码学破译的基本方法。
最容易观察的字母特性是其出现频率,所以古典密码的统计分析很多也是以字母出现频率做为主要线索的。
然而,大多数频率分析是基于标准英语字母的常见频率表的,其中各个英文字母的出现频率如下:从高到低的顺序:ETAONIRSHDLUCMPFYWGBVJKQXZ通常由于所加密明文的性质不同,那么字母出现频率也会有所差异,所以,一般采用字母频率来破译时不能完全依照上述顺序进行相关对照来得出单表代换模式,而是考虑将频率分组。
标准英文字母出现四个频率组:高 E T A O N I R S H中 D L U C M低P F Y W G B V缺少J K Q X Z字母在分组中的位置可能有些变化,但很少出现在其他分组中。
将密文中的字母出现频率进行统计后,可以将它们按照出现频率的高低,先进行简单分组,然后对照以上频率组,逐个分析,以便确定其单表代换模式。
仅仅依靠以上规律通常还是很不充分的,很多时候还会用到双联字母或三联字母的出现频率来辅助破译。
例如,TH,HE,IN,RE,DE,ST,EN,AT,OR,IS,ET,IT,AR,TE,HI,OF,THE,ING,ERE,FOR等都比较常出现。
采用CAP4软件来实现古典密码的统计分析。
①仿射密码的统计分析前提是,我们已经知道该段密文是采用仿射加密法加密的。
步骤1:打开CAP4软件,加载已经获取的密文“fsbhmi.txt”,并按下”Basic Tools”工具条中的“Freq”按钮,统计密文中每个字母出现的几率,如图2-8所示。
图2-8 统计密文字母频率通过统计可知,密文中出现频率最高的字母依次是X、H、N、T、C、K、J,故可假设密文字符X对应的是明文字符E,密文字符H对应的铭文字符为T。
步骤2:打开CAP4中的“Simple analysis”工具条中的“Affine”按钮,输入上述字母对,如图2-9所示。
图2-9验证猜测a注意:这里的k0,k1,表示仿射加密函数为y=k1x+k0 mod 26,所以其中k1的取值只能属于下列整数集合{1,3,5,7,9,11,15,17,19,21,23,25}。
很明显,以上猜测有误,故可以进一步假设密文字母X对应的明文字符为E,密文字符N对应的明文字符为T,经测试可以知道,该猜测也不成立。
接着测试可以发现密文字符X对应明文E,密文字符T对应T的假设也不成立。
试假设密文C对应明文T。
步骤3:进一步验证上述猜测,其结果如下所示,如图2-10所示。
图2-10验证猜测b通过测试发现,此次假设成立,即该段密文采用的仿射变换函数可能为y=9x+13 mod 26.步骤4:采用上述假设结果,在CAP4软件的菜单项“Cipher”下选择“Affine”,解密密文,如图2-11所示。
图2-11破译密文采用以上猜测结果破译密文所获取的明文,具有意义,所以可以认定该次加密操作采用的加密变换函数为:y=9x+13 mod 26.3.知识点(1)模运算(带余除法)若a,b为两个整数,b≠0, 则唯一存在两个整数q和r, 使得下式成立:a=bq+r, 0≢r<|b|.①模的定义如果a 是一个整数,n是一个正整数,定义 a mod n为a除以n的余数a=n·⎣a/n⎦+(a mod n).例1:113 mod 24=17②模算术运算由定义可知,运算(mod n)将所有的整数映射到集合{0,1,…,n-1},那么在这个集合上进行的算术运算称为模算术。
模算术有如下的性质:[(a mod n) + (b mod n)] mod n=(a+b) mod n;[(a mod n) – (b mod n)] mod n=(a-b) mod n;[(a mod n) ×(b mod n)]mod n=(a×b) mod n.因此,普通算术的加、减、乘、除运算规则可以平移到模算术中。
③ Zn上模运算的性质:定义比n小的非负整数集合为Z n, Z n={0,1, …,n-1},这个集合称为剩余类集,或模n的剩余类。
更确切的说,Z n中的每个整数代表一个剩余类,我们可以将模n的剩余类表示为[0],[1],[2] …,[n-1]。
例2:模4剩余类为:[0]={ …,-16,-12,-8,-4,0,4,8,12,16…}[1]={ …,-15,-11,-7,-3,1,5,9,13,17…}[2]={ …,-14,-10,-6,-2,2,6,10,14,18…}[3]={ …,-13,-9,-5,-1,3,7,11,15,19, …}在剩余类的所有整数中,我们通常用最小非负整数来代表这个剩余类。
寻找与k模同余(指的是两个数对同一个数求模结果相同,例如:整数a和b对整数n求模结果相同,我们就说a和b模n同余,记为a≡b(mod n))的最小非负整数的过程,称为模n的k约化。
如果我们在Z n中进行模运算,该运算具有如下性质:交换律:(w+x)mod n=(x+w) mod n(w×x)mod n=(x×w) mod n结合律:[(w+x)+y] mod n=[w+(x+y)] mod n[(w×x)×y] mod n=[w×(x×y)] mod n分配率:[w×(x+y)] mod n=[(w×x)+(w×y)]mod n单位元:(0+w)mod n=w mod n(1×w) mod n=w mod n加法逆元(-w):对于Z n中的任意w,存在一个z,使得w+z= 0 mod n.注意:一般来说,在Z n中,一个整数与n互素,那么在Z n中有它的一个乘法逆元,使得该整数与其逆元相乘模n为1.这里的互素指的是两个数的最大公约数为1.例3:在Z 8中,整数1,3,5,7有一个乘法逆元,而2,4和6没有。
特别提醒:我们密码学中用到的运算均为模运算,对于古典密码体制来说,用到的运算均为Z26上的模运算。
(2)乘法逆元在仿射加密法中,我们是通过仿射函数变换来实现加密的,其加密变换函数一般表示为:ek(x)=ax+b mod 26,那么该函数的逆函数(也就是相应的解密函数)为:dk( y)=1/a(y-b) mod 26正如上面所述在密码学中,我们提及的运算一般是模运算,这里指的是Z26 上的运算。
在模运算中,将1/a表示为:a-1,称作a的乘法逆元,由乘法逆元性质可知:aa-1 =1 mod 26.由于在Z26中并不是所有的整数都有乘法逆元,事实上,只有{1,3,5,7,9,11,15,17,19,21,23,25}才有乘法逆元,也就是说只有当加密变换函数中的a 取上面这些值时,其才是可逆的,才能实现解密。
另外,某个整数集上相关元素的乘法逆元的求解一般采用欧几里德扩展算法来实现(放在后续课程中讲解),这里直接给出Z26上相关整数的乘法逆元,以便参考:1-1mod 26=1 , 3-1mod 26=9, 5-1mod 26=21, 7-1mod 26=15, 11-1mod 26=19, 17-1 mod 26=23, 25-1 mod 26=254.常见问题解答(1)密码学研究的主要问题是什么?解答:密码学的基本目的是在通信双方之间应用不安全的信道进行通信时,设法保证通信安全。