密码学引论第三版答案【复杂性与密码学引论】
- 格式:doc
- 大小:24.50 KB
- 文档页数:2
密码学课后习题答案密码学课后习题答案密码学是一门研究如何保护信息安全的学科,它涉及到加密、解密、认证、数字签名等方面。
在密码学的学习中,习题是非常重要的一部分,通过解答习题可以加深对密码学知识的理解和应用。
本文将针对密码学课后习题提供一些答案和解析,帮助读者更好地掌握密码学的基本概念和技术。
1. 对称加密和非对称加密的区别是什么?对称加密和非对称加密是密码学中两种常见的加密方式。
它们的区别主要体现在加密和解密所使用的密钥的不同。
对称加密使用同一个密钥进行加密和解密。
也就是说,发送方和接收方使用相同的密钥来加密和解密信息。
这种方式加密速度快,适合对大量数据进行加密,但密钥的安全性较低。
非对称加密使用一对密钥,分别为公钥和私钥。
发送方使用接收方的公钥进行加密,而接收方使用自己的私钥进行解密。
这种方式加密速度较慢,但密钥的安全性较高,适合保护重要信息的传输。
2. 什么是数字签名?如何实现数字签名?数字签名是一种用于验证信息真实性和完整性的技术。
它通过使用私钥对信息进行加密,生成一个数字签名,然后使用公钥对数字签名进行解密和验证。
实现数字签名的过程如下:1) 发送方使用哈希函数对原始信息进行摘要,生成一个固定长度的摘要值。
2) 发送方使用自己的私钥对摘要值进行加密,生成数字签名。
3) 发送方将原始信息和数字签名一起发送给接收方。
4) 接收方使用发送方的公钥对数字签名进行解密,得到摘要值。
5) 接收方使用相同的哈希函数对接收到的原始信息进行摘要,生成另一个摘要值。
6) 接收方比较两个摘要值是否相同,如果相同,则说明信息的真实性和完整性得到了验证。
3. 什么是密钥交换协议?举例说明一个常见的密钥交换协议。
密钥交换协议是一种用于在通信双方安全地交换密钥的协议。
它可以确保密钥在传输过程中不被窃取或篡改,从而保证通信的机密性和完整性。
一个常见的密钥交换协议是Diffie-Hellman密钥交换协议。
它的过程如下:1) 发送方选择一个素数p和一个原根g,并将它们公开。
三、名词解释18. 答:被动攻击即窃听,是对系统的保密性进行攻击,通过截获密文,进行业务流分析,如搭线窃听、对文件或程序的非法拷贝等,以获取他人的信息。
18.答:主动攻击是对数据流的篡改或产生假的数据流,包括中断可用性、篡改完整性、伪造真实性。
18. 答:研究如何从密文推演出明文、密钥或解密算法的学问称为密码分析学。
18.答:自同步流密码是密钥流的产生与明文有关的流密码。
18.答:杂凑函数H是一公开函数,用于将任意长的消息M映射为较短的、固定长度的一个杂凑值H(M),作为认证符或消息摘要。
18.答:若n次不可约多项式p(x)的阶为2n-1,则称p(x)是n次本原多项式。
18. 答:称c是两个整数a、b的最大公因子,如果①c是a的因子也是b的因子,即c是a、b的公因子。
②a和b的任一公因子,也是c的因子。
表示为c=gcd(a, b)。
18.答:对x,若有y,使得x×y≡1 mod n,则称y为x的倒数,也称为模乘逆元。
19.答:从一个文本中随机选择两个字符,两个字符相同的概率称为重合指数。
20.答:序列密码算法或称流密码算法,通过将明(密)文同密码流逐位相异或进行加(解)密。
19. 答:汉明距离w(x)表示x中所有非0元素的个数。
20. 答:将明文加密成密文时所采用的一组规则称为加密算法。
19.答:设p是素数,a<p,如果方程x2≡a (mod p)无解,称a是p的非平方剩余。
20.答:消息认证码是指消息被一密钥控制的公开函数作用后产生的、用作认证符的、固定长度的数值,也称为密码校验和。
19.答:(Fermat)若p是素数,a是正整数且gcd(a, p)=1,则a p - 1≡1 mod p。
20.答:设p是素数,a<p,如果方程x2≡a (mod p)有解,称a是p的平方剩余。
19.答:如果移位寄存器的反馈函数f(a1,a2,…,a n)是a1,a2,…,a n的线性函数,则称之为线性反馈移位寄存器(LFSR)。
密码学习题答案密码学习题答案密码学作为一门研究加密和解密技术的学科,一直以来备受关注。
它不仅在军事、金融、通信等领域有着广泛的应用,还是保护个人隐私和信息安全的重要工具。
为了更好地理解密码学的基本原理和技术,我们可以通过一些学习题来加深对密码学的理解。
下面是一些常见的密码学学习题以及它们的答案。
1. 凯撒密码:凯撒密码是一种简单的替换密码,通过将字母表中的每个字母向后移动固定的位置来加密消息。
例如,将字母表向后移动3个位置,字母A变成D,字母B变成E,以此类推。
请解密以下凯撒密码:YDOHDU, WKH, VWDUW, LV, D, ZRUOG.答案:UNIVERSITY, THE, SECRET, IS, A, WORLD.2. 维吉尼亚密码:维吉尼亚密码是一种多表替换密码,通过使用一系列不同的凯撒密码来加密消息。
每个字母的移动位置由一个密钥字母决定。
请解密以下维吉尼亚密码:KQXCN, PZ, LKJ, WQ, G, ZPTN.答案:HELLO, MY, NAME, IS, A, TEST.3. RSA加密算法:RSA是一种非对称加密算法,使用公钥和私钥来加密和解密消息。
公钥用于加密消息,私钥用于解密消息。
请使用RSA算法解密以下密文:CZDQW, FZ, LKJ, WQ, G, ZPTN.答案:HELLO, MY, NAME, IS, A, TEST.4. SHA-256哈希算法:SHA-256是一种常用的哈希算法,用于生成消息的唯一摘要。
请计算以下消息的SHA-256摘要:Hello, world!答案:2ef7bde608ce5404e97d5f042f95f89f1c2328715. 对称加密算法:对称加密算法使用相同的密钥来加密和解密消息。
请使用AES算法解密以下密文:U2FsdGVkX1+qZp6b4E7C1Uu8Q6bPz7fP答案:The password is 123456.通过以上学习题的解答,我们可以更好地理解密码学的基本原理和技术。
一、填空题1.密码学研究的是编码和加密。
2.关键词加密分析法中,字母的特性包括出现的频率、与其他字母的联系、在单词中的位置和猜测等。
3.多图加密法有 playfair加密法、 hill加密法等。
4.Vigenere加密法是基于关键词的加密系统。
5.多码加密法有Vigenere加密法、自动密钥加密法和回转轮加密法等。
6.三种常用的攻击流加密法的方法有插入攻击法、位匹配攻击法、已知明文加密法等。
7. DES加密法中密钥长度为56位。
8.经典加密法有两种基本类型,一种是替换加密法,一种是换位加密法。
9.多码加密法是一种替换加密法。
10.一次加密一个字母的加密法称为单图加密法。
12.换位加密法有置换加密法、列换位加密法、双重列换位加密法等。
13.DES加密法需要经过E盒、S 盒、P盒三个过程。
二、解释概念题123成密文。
, 一种数组电路,它保存N位,将各位置上的位向有移动,并用选定的一些位填充最左位。
5678明文按行填写在一个矩形中,而密文则是以预定的顺序按列读取生成的。
三、简答题1.流加密法有哪些?答:A5、LFSR、RC4、CA、一次性面板加密法。
2.Vigenere加密法的加密过程答:(1)明文中的信息写成一行;(2)关键词写在明文的上面,并不断重复书写关键词,直到每个明文字母与关键词都存在对应关系。
例如:关键词为“hold”,而明文为“this is the plaintext”那么关键词—明文的关联如下所示:h o l d h o l d h o l d h o l d h ot h i s i s t h e p l a i n t e x t(3)用密钥字母确定表的行,而明文字母确定表的列,表中行列交叉处的字母就是用来替代明文字母的密文字母。
a b c ………… za abc ………… zb bcd ………z ac cde ……z a b. . . . . . .. . . . . . .. . . . . . .z z a b w x y得到密文: a v t v p g e k l d w d p b e h e h3.随机位测试的方法有哪些?答:单个位测试;扑克牌测试;连串测试。
密码学原理与实践(第三版)模拟试卷一、选择题(每题1分,共5分)A.常规攻击B.中等攻击C.强力攻击D.无效攻击2.AES加密算法使用的密钥长度是多少位?A.128位B.256位C.512位D.1024位3.在RSA算法中,如果选择p=11和q=13,那么n的值是多少?A.143B.243C.121D.144A.DESB.AESC.RSAD.IDEAA.常规攻击B.中等攻击C.强力攻击D.无效攻击二、判断题(每题1分,共5分)6.DES算法使用56位的密钥长度。
()7.RSA算法既可以用作加密也可以用作数字签名。
()8.对称加密算法比非对称加密算法更安全。
()9.密码学的目的是保护信息的机密性和完整性。
()10.SHA-1算法是一种加密算法。
()三、填空题(每题1分,共5分)11.在密码学中,_________是指只有拥有正确密钥的人才能解密密文。
12._________是一种广泛使用的公钥加密算法。
13.在密码学中,_________是一种攻击方式,攻击者试图通过尝试所有可能的密钥来破解加密信息。
14._________是一种广泛使用的哈希函数,用于确保数据的完整性。
15._________是一种密码学协议,用于在不安全的通信信道上安全地交换密钥。
四、简答题(每题2分,共10分)16.请简要说明对称加密算法和非对称加密算法的区别。
17.请简要说明数字签名的作用和原理。
18.请简要说明哈希函数在密码学中的作用。
19.请简要说明密钥交换协议的作用和原理。
20.请简要说明数字证书的作用和原理。
五、应用题(每题2分,共10分)21.假设你使用AES算法加密一段明文,密钥长度为128位,请问最少需要多少轮加密操作?22.假设你使用RSA算法进行加密,选择p=11和q=13,请问加密后的密文长度是多少?23.假设你使用SHA-256算法对一段数据进行哈希处理,请问的哈希值长度是多少?24.假设你使用Diffie-Hellman密钥交换协议进行密钥交换,请问如何保证交换过程的安全性?25.假设你使用数字证书验证网站的身份,请问如何验证数字证书的有效性?六、分析题(每题5分,共10分)26.分析并解释AES算法中的“替换”和“排列”操作的作用和原理。
《密码学原理与实践(第三版)》课后习题参考答案(由华中科技大学信安09级提供)第一章1.1(李怡)(a)51 (b)30 (c)81 (d)74221.2(贾同彬)证明:令t1= (-a)mod m ,t2=m-(a mod m),则t1≡t2(mod m).又 0<t1<m,0<t2<m, (最小非负剩余系中每个剩余类只有一个代表元)所以t1=t2.1.3 (张天翼) 证明充分性:若(mod )a b m ≡,则可得a b km =+,设b jm r =+,0r m ≤<,j N ∈,则有()a k j m r =++,故有mod a m r =,由假设得mod b m r =,故mod mod a m b m =证明必要性:若mod mod a m b m =,则可设mod mod a m b m r ==,则有a km r =+,b jm r =+,其中,j k N ∈,因此()a b k j m -=-,即m a b -,故(mod )a b m ≡ 综上,问题得证1.4 (李怡),0,mod ,.,-0,1,a km r r m r a ma r a km k m a r a a a k m r k k m m m m =+≤<=⎢⎥=-=⎢⎥⎣⎦-⎢⎥=-<≤-<≤=⎢⎥⎣⎦令则而所以只需证明因为所以即1.5 (李志远)穷举密钥法来破解移位密码即将这个字符串每个字母移位1,2,3…26次,然后判断这26个字符串哪个符合英语规则。
故我编写 如下的C++来实现如此功能 #include<iostream> using namespace std; char change(char word) {if(word=='Z')return 'A'; else return word+1; }int main(){cout<<"please input the string"<<endl;char string1[43];cin>>string1;int n;for(n=1;n<=26;n++){int num;for(num=0;num<43;num++){string1[num]=change(string1[num]);}cout<<string1<<endl<<"for turn "<<n<<endl;}}解释:1.代码专为本题编写,故输入字符数不能多于43个,且输入范围仅限大写英语字母2.将题中的42个字母BEEAKFYDJXUQYHYJIQRYHTYJIQFBQFBQDUYJIIKFUHC输入并回车3.得到的结果CFFBLGZEKYVRZIZKJRSZIUZKJRGCREVZKJJLGVIDREfor turn 1DGGCMHAFLZWSAJALKSTAJVALKSHDSFWALKKMHWJESFfor turn 2EHHDNIBGMAXTBKBMLTUBKWBMLTIETGXBMLLNIXKFTGfor turn 3FIIEOJCHNBYUCLCNMUVCLXCNMUJFUHYCNMMOJYLGUHfor turn 4GJJFPKDIOCZVDMDONVWDMYDONVKGVIZDONNPKZMHVIfor turn 5HKKGQLEJPDAWENEPOWXENZEPOWLHWJAEPOOQLANIWJfor turn 6ILLHRMFKQEBXFOFQPXYFOAFQPXMIXKBFQPPRMBOJXKfor turn 7JMMISNGLRFCYGPGRQYZGPBGRQYNJYLCGRQQSNCPKYLfor turn 8KNNJTOHMSGDZHQHSRZAHQCHSRZOKZMDHSRRTODQLZMfor turn 9LOOKUPINTHEAIRITSABIRDITSAPLANEITSSUPERMANfor turn 10MPPLVQJOUIFBJSJUTBCJSEJUTBQMBOFJUTTVQFSNBOfor turn 11NQQMWRKPVJGCKTKVUCDKTFKVUCRNCPGKVUUWRGTOCPfor turn 12ORRNXSLQWKHDLULWVDELUGLWVDSODQHLWVVXSHUPDQfor turn 13PSSOYTMRXLIEMVMXWEFMVHMXWETPERIMXWWYTIVQERfor turn 14 QTTPZUNSYMJFNWNYXFGNWINYXFUQFSJNYXXZUJWRFSfor turn 15 RUUQAVOTZNKGOXOZYGHOXJOZYGVRGTKOZYYAVKXSGTfor turn 16 SVVRBWPUAOLHPYPAZHIPYKPAZHWSHULPAZZBWLYTHUfor turn 17 TWWSCXQVBPMIQZQBAIJQZLQBAIXTIVMQBAACXMZUIVfor turn 18 UXXTDYRWCQNJRARCBJKRAMRCBJYUJWNRCBBDYNAVJWfor turn 19 VYYUEZSXDROKSBSDCKLSBNSDCKZVKXOSDCCEZOBWKXfor turn 20 WZZVFATYESPLTCTEDLMTCOTEDLAWLYPTEDDFAPCXLYfor turn 21 XAAWGBUZFTQMUDUFEMNUDPUFEMBXMZQUFEEGBQDYMZfor turn 22 YBBXHCVAGURNVEVGFNOVEQVGFNCYNARVGFFHCREZNAfor turn 23 ZCCYIDWBHVSOWFWHGOPWFRWHGODZOBSWHGGIDSFAOBfor turn 24 ADDZJEXCIWTPXGXIHPQXGSXIHPEAPCTXIHHJETGBPCfor turn 25 BEEAKFYDJXUQYHYJIQRYHTYJIQFBQDUYJIIKFUHCQDfor turn 26经过英语分析,发现当移位密码密钥为17时,字符串有英文含义LOOK UP IN THE AIR ITS A BIRD ITS A PLANE ITS SUPERMAN (看天上,是一只鸟,是一架飞机,是一位超人)故移位密码密钥为171.6(司仲峰)对合密钥为 0和131.7(陈诗洋)(a) m=30=2*3*5φ(30)=30*(1-1/2)*(1-1/3)*(1-1/5)=8故密钥量是 8*30=240(b)m=100=22*52φ(100)=100*(1-1/2)*(1-1/5)=40故密钥量是 40*100=4000(c)m=1225=52*72φ(1225)=1225*(1-1/5)*(1-1/7)=840故密钥量是 840*1225=10290001.8(周玉坤)解:在中若元素有逆,则必有gcd(a,m)=1;若元素a存在逆使得a=1,利用广义欧几里得除法,找到整数s和t,使得: sa+tm=1,则=s(modm)是a的逆。
一、密码学概述部分:1、什么是密码体制的五元组。
五元组(M,C,K,E,D)构成密码体制模型,M代表明文空间;C代表密文空间;K代表密钥空间;E代表加密算法;D 代表解密算法2、简述口令和密码的区别。
密码:按特定法则编成,用以对通信双方的信息进行明、密变换的符号。
换而言之,密码是隐蔽了真实内容的符号序列。
就是把用公开的、标准的信息编码表示的信息通过一种变换手段,将其变为除通信双方以外其他人所不能读懂的信息编码,这种独特的信息编码就是密码。
口令:是与用户名对应的,用来验证是否拥有该用户名对应的权限。
密码是指为了保护某种文本或口令,采用特定的加密算法,产生新的文本或字符串。
区别:从它们的定义上容易看出;当前,无论是计算机用户,还是一个银行的户头,都是用口令保护的,通过口令来验证用户的身份。
在网络上,使用户口令来验证用户的身份成了一种基本的手段。
3、密码学的分类标准:⏹按操作方式可分为:替代、置换、复合操作⏹按使用密钥的数量可分为:对称密钥(单密钥)、公开密钥(双秘钥)⏹按对明文的处理方法可分为:流密码、分组密码4、简述柯克霍夫斯原则(及其特点和意义。
?)即使密码系统中的算法为密码分析者所知,也难以从截获的密文推导出明文或密钥。
也就是说,密码体制的安全性仅应依赖于对密钥的保密,而不应依赖于对算法的保密。
只有在假设攻击者对密码算法有充分的研究,并且拥有足够的计算资源的情况下仍然安全的密码才是安全的密码系统。
一句话:“一切秘密寓于密钥之中”Kerckhoffs原则的意义:⏹知道算法的人可能不再可靠⏹设计者有个人爱好⏹频繁更换密钥是可能的,但无法频繁更换密码算法(设计安全的密码算法困难)5、密码攻击者攻击密码体制的方法有三种分别是:⏹穷举:尝试所有密钥进行破译。
(增大密钥的数量)⏹统计分析:分析密文和明文的统计规律进行破译。
(使明文和密文的统计规律不一样)⏹解密变换:针对加密变换的数学基础,通过数学求解找到解密变换。
1、请分别举例说明什么是保密性原则?完整性原则?认证原则?不可抵赖原则?访问控制原则?可用性原则?为了实现这六个安全原则,主要采用哪些密码技术?答:(1)保密性原则是指不经过授权,不能访问或利用信息,只有发送者和接受者能访问信息内容,信息不能被截获;(2)完整性原则是指信息不经过授权,不能被修改的特性,即信息在传输的过程中不能被偶然或蓄意的修改、删除或者插入,即不能被篡改;(3)认证原则是指信息需要明确的身份证明,通过认证过程保证正确的消息来源,和信息接收方建立信任关系,缺乏认证机制可能会导致伪造;(4)不可抵赖原则是指信息的发送者不可否认已发出的信息,(5)访问控制原则是指定和控制用户能够访问哪些信息,能够有什么样的操作,通常包括角色管理和规则管理;(6)可用性原则是指是信息可被授权实体访问并按需求使用的特性,不因中断等攻击停止服务或降低服务标准。
可以通过信息加密、信息隐形、夹带信息等方式来实现信息的保密性,可以通过特定的安全协议、信息摘要、密码校验和等方法实现信息的完整性,通过口令认证、认证令牌、数字证书、消息认证码、公钥算法等方式实现信息的认证,通过数字签名的方法实现信息的完整性和不可抵赖性,通过用户角色认证、防火墙和IDS等方式实现访问控制和可用性原则。
2、一般病毒、蠕虫、特洛伊木马三者之间最主要的差别是什么?答:病毒可以将自己的代码嵌入到其他合法的程序中,导致计算机系统或网络的破坏;蠕虫一般不篡改程序,只是不断的复制自己,最终导致计算机资源或网络大量的消耗从而无法使用,蠕虫不进行任何的破坏性操作,只是耗尽系统,使其停滞;特洛伊木马也像病毒一样具有隐蔽性,但一般不像病毒和蠕虫那样不断复制自己,其主要的目的是为入侵者获得某些用户的保密信息。
简单的说,病毒破坏你的信息,木马窃取你的信息,而蠕虫则攻击系统和网络服务能力。
3、什么是密码技术?替换加密法与置换加密法有什么区别?请分别举例说明替换加密法与置换加密法。
《密码学原理与实践(第三版)》课后习题参考答案(由华中科技大学信安09级提供)第一章1.1(李怡)(a)51 (b)30 (c)81 (d)74221.2(贾同彬)证明:令t1= (-a)mod m ,t2=m-(a mod m),则t1≡t2(mod m).又 0<t1<m,0<t2<m, (最小非负剩余系中每个剩余类只有一个代表元)所以t1=t2.1.3 (张天翼) 证明充分性:若(mod )a b m ≡,则可得a b km =+,设b jm r =+,0r m ≤<,j N ∈,则有()a k j m r =++,故有mod a m r =,由假设得mod b m r =,故mod mod a m b m =证明必要性:若mod mod a m b m =,则可设mod mod a m b m r ==,则有a km r =+,b jm r =+,其中,j k N ∈,因此()a b k j m -=-,即m a b -,故(mod )a b m ≡ 综上,问题得证1.4 (李怡),0,mod ,.,-0,1,a km r r m r a ma r a km k m a r a a a k m r k k m m m m =+≤<=⎢⎥=-=⎢⎥⎣⎦-⎢⎥=-<≤-<≤=⎢⎥⎣⎦令则而所以只需证明因为所以即1.5 (李志远)穷举密钥法来破解移位密码即将这个字符串每个字母移位1,2,3…26次,然后判断这26个字符串哪个符合英语规则。
故我编写 如下的C++来实现如此功能 #include<iostream> using namespace std; char change(char word) {if(word=='Z')return 'A'; else return word+1; }int main(){cout<<"please input the string"<<endl;char string1[43];cin>>string1;int n;for(n=1;n<=26;n++){int num;for(num=0;num<43;num++){string1[num]=change(string1[num]);}cout<<string1<<endl<<"for turn "<<n<<endl;}}解释:1.代码专为本题编写,故输入字符数不能多于43个,且输入范围仅限大写英语字母2.将题中的42个字母BEEAKFYDJXUQYHYJIQRYHTYJIQFBQFBQDUYJIIKFUHC输入并回车3.得到的结果CFFBLGZEKYVRZIZKJRSZIUZKJRGCREVZKJJLGVIDREfor turn 1DGGCMHAFLZWSAJALKSTAJVALKSHDSFWALKKMHWJESFfor turn 2EHHDNIBGMAXTBKBMLTUBKWBMLTIETGXBMLLNIXKFTGfor turn 3FIIEOJCHNBYUCLCNMUVCLXCNMUJFUHYCNMMOJYLGUHfor turn 4GJJFPKDIOCZVDMDONVWDMYDONVKGVIZDONNPKZMHVIfor turn 5HKKGQLEJPDAWENEPOWXENZEPOWLHWJAEPOOQLANIWJfor turn 6ILLHRMFKQEBXFOFQPXYFOAFQPXMIXKBFQPPRMBOJXKfor turn 7JMMISNGLRFCYGPGRQYZGPBGRQYNJYLCGRQQSNCPKYLfor turn 8KNNJTOHMSGDZHQHSRZAHQCHSRZOKZMDHSRRTODQLZMfor turn 9LOOKUPINTHEAIRITSABIRDITSAPLANEITSSUPERMANfor turn 10MPPLVQJOUIFBJSJUTBCJSEJUTBQMBOFJUTTVQFSNBOfor turn 11NQQMWRKPVJGCKTKVUCDKTFKVUCRNCPGKVUUWRGTOCPfor turn 12ORRNXSLQWKHDLULWVDELUGLWVDSODQHLWVVXSHUPDQfor turn 13PSSOYTMRXLIEMVMXWEFMVHMXWETPERIMXWWYTIVQERfor turn 14 QTTPZUNSYMJFNWNYXFGNWINYXFUQFSJNYXXZUJWRFSfor turn 15 RUUQAVOTZNKGOXOZYGHOXJOZYGVRGTKOZYYAVKXSGTfor turn 16 SVVRBWPUAOLHPYPAZHIPYKPAZHWSHULPAZZBWLYTHUfor turn 17 TWWSCXQVBPMIQZQBAIJQZLQBAIXTIVMQBAACXMZUIVfor turn 18 UXXTDYRWCQNJRARCBJKRAMRCBJYUJWNRCBBDYNAVJWfor turn 19 VYYUEZSXDROKSBSDCKLSBNSDCKZVKXOSDCCEZOBWKXfor turn 20 WZZVFATYESPLTCTEDLMTCOTEDLAWLYPTEDDFAPCXLYfor turn 21 XAAWGBUZFTQMUDUFEMNUDPUFEMBXMZQUFEEGBQDYMZfor turn 22 YBBXHCVAGURNVEVGFNOVEQVGFNCYNARVGFFHCREZNAfor turn 23 ZCCYIDWBHVSOWFWHGOPWFRWHGODZOBSWHGGIDSFAOBfor turn 24 ADDZJEXCIWTPXGXIHPQXGSXIHPEAPCTXIHHJETGBPCfor turn 25 BEEAKFYDJXUQYHYJIQRYHTYJIQFBQDUYJIIKFUHCQDfor turn 26经过英语分析,发现当移位密码密钥为17时,字符串有英文含义LOOK UP IN THE AIR ITS A BIRD ITS A PLANE ITS SUPERMAN (看天上,是一只鸟,是一架飞机,是一位超人)故移位密码密钥为171.6(司仲峰)对合密钥为 0和131.7(陈诗洋)(a) m=30=2*3*5φ(30)=30*(1-1/2)*(1-1/3)*(1-1/5)=8故密钥量是 8*30=240(b)m=100=22*52φ(100)=100*(1-1/2)*(1-1/5)=40故密钥量是 40*100=4000(c)m=1225=52*72φ(1225)=1225*(1-1/5)*(1-1/7)=840故密钥量是 840*1225=10290001.8(周玉坤)解:在中若元素有逆,则必有gcd(a,m)=1;若元素a存在逆使得a=1,利用广义欧几里得除法,找到整数s和t,使得: sa+tm=1,则=s(modm)是a的逆。
《应用密码学》习题和思考题答案第4章 密码学数学引论4-1 编写一个程序找出100~200间的素数。
略4-2 计算下列数值:7503mod81、(-7503)mod81、81mod7503、(-81)mod7503。
解:7503mod81=51(-7503)mod81=3081mod7503=81(-81)mod7503=74224-3 证明:(1)[]))(m od (m od )(m od )(m od m b a m m b m a ⨯=⨯(2)[][])(m od ))(m od ())(m od (m od )(m m c a m b a m c b a ⨯+⨯=+⨯证明:(1)设(mod )a a m r =,(mod )b b m r =,则a a r jm =+(j 为某一整数),b b r km =+(k 为某一整数)。
于是有:[](mod )(mod )mod ()(mod )a b a m b m m r r m ⨯=()()()()()()()2()(mod )mod mod mod a b a b a b a b a b m r jm r km m r r r km r jm kjm m r r m ⨯=++=+++= 于是有:[]))(m od (m od )(m od )(m od m b a m m b m a ⨯=⨯(2)设(mod )a a m r =,(mod )b b m r =,(mod )c c m r =,则a a r jm =+(j 为某一整数),b b r km =+(k 为某一整数),c c r im =+(i 为某一整数)。
于是有:[]()()()()[]()()22()mod (mod )(mod )mod mod a b c a b c a b a a a c b c a b a c a b c m r jm r km r im m r jm r km r im m r r r im r km r r r jm kjm r jm ijm m r r r r m⎡⎤⨯+=++++⎡⎤⎣⎦⎣⎦⎡⎤=++++⎣⎦=+++++++=+[]()()()()()[]()(mod )()(mod )(mod )mod mod mod mod a b a c a b a c a b m a c m m r jm r km m r jm r im m m r r r r m⨯+⨯=+++++⎡⎤⎣⎦=+于是有:[][])(m od ))(m od ())(m od (m od )(m m c a m b a m c b a ⨯+⨯=+⨯4-4 编写一个程序,用扩展的欧几里德算法求gcd(4655,12075)和550-1mod1723。