北方工业大学密码学平时作业答案公钥密码作业答案

合集下载

密码学课后习题答案

密码学课后习题答案

密码学课后习题答案密码学课后习题答案密码学是一门研究如何保护信息安全的学科,它涉及到加密、解密、认证、数字签名等方面。

在密码学的学习中,习题是非常重要的一部分,通过解答习题可以加深对密码学知识的理解和应用。

本文将针对密码学课后习题提供一些答案和解析,帮助读者更好地掌握密码学的基本概念和技术。

1. 对称加密和非对称加密的区别是什么?对称加密和非对称加密是密码学中两种常见的加密方式。

它们的区别主要体现在加密和解密所使用的密钥的不同。

对称加密使用同一个密钥进行加密和解密。

也就是说,发送方和接收方使用相同的密钥来加密和解密信息。

这种方式加密速度快,适合对大量数据进行加密,但密钥的安全性较低。

非对称加密使用一对密钥,分别为公钥和私钥。

发送方使用接收方的公钥进行加密,而接收方使用自己的私钥进行解密。

这种方式加密速度较慢,但密钥的安全性较高,适合保护重要信息的传输。

2. 什么是数字签名?如何实现数字签名?数字签名是一种用于验证信息真实性和完整性的技术。

它通过使用私钥对信息进行加密,生成一个数字签名,然后使用公钥对数字签名进行解密和验证。

实现数字签名的过程如下:1) 发送方使用哈希函数对原始信息进行摘要,生成一个固定长度的摘要值。

2) 发送方使用自己的私钥对摘要值进行加密,生成数字签名。

3) 发送方将原始信息和数字签名一起发送给接收方。

4) 接收方使用发送方的公钥对数字签名进行解密,得到摘要值。

5) 接收方使用相同的哈希函数对接收到的原始信息进行摘要,生成另一个摘要值。

6) 接收方比较两个摘要值是否相同,如果相同,则说明信息的真实性和完整性得到了验证。

3. 什么是密钥交换协议?举例说明一个常见的密钥交换协议。

密钥交换协议是一种用于在通信双方安全地交换密钥的协议。

它可以确保密钥在传输过程中不被窃取或篡改,从而保证通信的机密性和完整性。

一个常见的密钥交换协议是Diffie-Hellman密钥交换协议。

它的过程如下:1) 发送方选择一个素数p和一个原根g,并将它们公开。

密码学习题集参考答案

密码学习题集参考答案

1、请分别举例说明什么就是保密性原则?完整性原则?认证原则?不可抵赖原则?访问控制原则?可用性原则?为了实现这六个安全原则,主要采用哪些密码技术?答:(1)保密性原则就是指不经过授权,不能访问或利用信息,只有发送者与接受者能访问信息内容,信息不能被截获;(2)完整性原则就是指信息不经过授权,不能被修改得特性,即信息在传输得过程中不能被偶然或蓄意得修改、删除或者插入,即不能被篡改;(3)认证原则就是指信息需要明确得身份证明,通过认证过程保证正确得消息来源,与信息接收方建立信任关系,缺乏认证机制可能会导致伪造;(4)不可抵赖原则就是指信息得发送者不可否认已发出得信息,(5)访问控制原则就是指定与控制用户能够访问哪些信息,能够有什么样得操作,通常包括角色管理与规则管理;(6)可用性原则就是指就是信息可被授权实体访问并按需求使用得特性,不因中断等攻击停止服务或降低服务标准。

可以通过信息加密、信息隐形、夹带信息等方式来实现信息得保密性,可以通过特定得安全协议、信息摘要、密码校验与等方法实现信息得完整性,通过口令认证、认证令牌、数字证书、消息认证码、公钥算法等方式实现信息得认证,通过数字签名得方法实现信息得完整性与不可抵赖性,通过用户角色认证、防火墙与IDS等方式实现访问控制与可用性原则。

2、一般病毒、蠕虫、特洛伊木马三者之间最主要得差别就是什么?答:病毒可以将自己得代码嵌入到其她合法得程序中,导致计算机系统或网络得破坏;蠕虫一般不篡改程序,只就是不断得复制自己,最终导致计算机资源或网络大量得消耗从而无法使用,蠕虫不进行任何得破坏性操作,只就是耗尽系统,使其停滞;特洛伊木马也像病毒一样具有隐蔽性,但一般不像病毒与蠕虫那样不断复制自己,其主要得目得就是为入侵者获得某些用户得保密信息。

简单得说,病毒破坏您得信息,木马窃取您得信息,而蠕虫则攻击系统与网络服务能力。

3、什么就是密码技术?替换加密法与置换加密法有什么区别?请分别举例说明替换加密法与置换加密法。

密码习题及部分参考答案..

密码习题及部分参考答案..

一、密码学概述部分:1、什么是密码体制的五元组。

五元组(M,C,K,E,D)构成密码体制模型,M代表明文空间;C代表密文空间;K代表密钥空间;E代表加密算法;D 代表解密算法2、简述口令和密码的区别。

密码:按特定法则编成,用以对通信双方的信息进行明、密变换的符号。

换而言之,密码是隐蔽了真实内容的符号序列。

就是把用公开的、标准的信息编码表示的信息通过一种变换手段,将其变为除通信双方以外其他人所不能读懂的信息编码,这种独特的信息编码就是密码。

口令:是与用户名对应的,用来验证是否拥有该用户名对应的权限。

密码是指为了保护某种文本或口令,采用特定的加密算法,产生新的文本或字符串。

区别:从它们的定义上容易看出;当前,无论是计算机用户,还是一个银行的户头,都是用口令保护的,通过口令来验证用户的身份。

在网络上,使用户口令来验证用户的身份成了一种基本的手段。

3、密码学的分类标准:⏹按操作方式可分为:替代、置换、复合操作⏹按使用密钥的数量可分为:对称密钥(单密钥)、公开密钥(双秘钥)⏹按对明文的处理方法可分为:流密码、分组密码4、简述柯克霍夫斯原则(及其特点和意义。

?)即使密码系统中的算法为密码分析者所知,也难以从截获的密文推导出明文或密钥。

也就是说,密码体制的安全性仅应依赖于对密钥的保密,而不应依赖于对算法的保密。

只有在假设攻击者对密码算法有充分的研究,并且拥有足够的计算资源的情况下仍然安全的密码才是安全的密码系统。

一句话:“一切秘密寓于密钥之中”Kerckhoffs原则的意义:⏹知道算法的人可能不再可靠⏹设计者有个人爱好⏹频繁更换密钥是可能的,但无法频繁更换密码算法(设计安全的密码算法困难)5、密码攻击者攻击密码体制的方法有三种分别是:⏹穷举:尝试所有密钥进行破译。

(增大密钥的数量)⏹统计分析:分析密文和明文的统计规律进行破译。

(使明文和密文的统计规律不一样)⏹解密变换:针对加密变换的数学基础,通过数学求解找到解密变换。

密码学参考答案(精品)

密码学参考答案(精品)

三、名词解释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.在公钥体制中,每⼀⽤户U都有⾃⼰的公开钥PK U和秘密钥SK U。

如果任意两个⽤户A,B按以下⽅式通信,A发给B消息(E PK B(m), A),B收到后,⾃动向A返回消息(E PK A(m), B),以使A知道B确实收到报⽂m,(1) 问⽤户C怎样通过攻击⼿段获取报⽂m?答:当A发给B消息(E PK B(m), A)时,A的⾝份“A”并没有认证,⽽B在收到消息后也⽆法对发送者进⾏检验,且⾝份A,B均明⽂传输,因此⽤户C可通过如下⼿段获得报⽂m 当A发给B消息(E PK B(m), A)时,C截取该消息并将⾝份A替换为⾃⼰的⾝份C,将修改后的消息(E PK B(m), C)发给接收者BB提取消息后,根据⾝份“C”将返回消息(E PK c(m), B)C再次劫取B返回的消息(E PK c(m), B),⽤⾃⼰的私钥SK C解密出消息m,并⽤A的公钥对m加密后将消息(E PK A(m), B)发给A。

这样,⽤户C获得了报⽂m,⽽没有影响A,B之间的正常通信,实现了攻击。

(2)若通信格式变为A发给B消息E PK B (E SK A(m), m, A)B向A返回消息E PK A (E SK B(m), m, B)这时的安全性如何?分析这时A,B如何相互认证并传递消息m。

解:根据消息格式,先对消息m进⾏了签名,然后再进⾏加密,传送的消息具有了保密性和认证性,敌⼿⽆法获得报⽂明⽂,安全性提⾼。

A,B之间相互认证传递消息的过程如下:B收到消息E PK B (E SK A(m), m, A)时,先⽤B⾃⼰的私钥解密得到消息(E SK A(m), m, A),然后根据提取的⾝份信息A,⽤A 的公钥对消息m的签名E SK A(m)的正确性进⾏验证,如果验证通过,则说明消息确实来⾃A。

反之A⽤相同的⽅法可验证E PK A (E SK B(m), m, B)确实来⾃B,从⽽实现了相互认证2.Diffie-Hellman密钥交换协议易受中间⼈攻击,即攻击者截获通信双⽅通信的内容后可分别冒充通信双⽅,以获得通信双⽅协商的密钥。

现代密码学-第4章公钥密码体制习题与解答-20091202

现代密码学-第4章公钥密码体制习题与解答-20091202

第4章公钥密码体制习题及参考答案1.对于RSA密码系统,取47=p,59=q,17=e,计算(1) 解密私钥d;(2) 明文115的密文;(3) 密文28的明文。

解:(1) 由题:φ(n) = (p-1)*(q-1) = 2668又e=17 且e*d mod φ(n) = 1所以d = e-1mod φ(n) = 157(2) 密文c = m e mod n = 1751(3) 密文28的明文为m=c d mod n = 13772.在ElGamal 密码系统中,若选取素数p=71,生成元α = 7。

(1) 若B的公钥β=3,A随机选取整数r=2,则明文m=30 的密文是什么?(2) 若A选取的整数r 使得m=30 的密文为C= (59, c2),则整数c2 是什么?解:(1) c1= αr mod p=72mod 71= 49, c2 =m ·βr mod p =30 ·32mod 71= 57,所以密文为(49, 57)。

(2) 首先由c1=59计算出r=3,所以c2=30*33mod71=29。

3.令y2=x3+9x+17是F23上的一个方程,计算该椭圆曲线方程在F23上的所有解。

以P=(16,5)为底的Q =(4, 5)的离散对数是多少?解:,5)(4,18)(5,7)(5,16)(7,3)(7,20)(8,7)(8,16)(10,7)(10,16)(12,6)(12,17)(13,10)(13,13)(14,9)(14,14)(15,10)(15,13)(16,5)(16,18)(17,0)(18,10)(18,13)(19,3)(19,20)(20,3)(20,20), ∞以P =(16, 5)为底,通过公式计算容易知Q =(4, 5)=9P ,所以离散对数为9。

4.已知11F 上的椭圆曲线)11(mod 6:)6,1(3211++=x x y E ,取)7,2(=P 作为)6,1(11E 的一个生成元。

密码习题与答案

密码习题与答案

密码习题与答案密码学是信息安全领域中的一个重要分支,它涉及到加密和解密技术,以确保数据的机密性、完整性和可用性。

本文档将提供一些常见的密码学习题以及相应的答案,以帮助学习者更好地理解密码学的概念和应用。

习题1:对称加密假设Alice想要发送一条消息给Bob,她使用对称加密算法来保证消息的机密性。

她选择了AES加密算法,密钥长度为128位。

Alice的消息是"Hello, Bob!",请问她加密后的消息会是什么?答案1:由于这是一个理论习题,我们不提供具体的加密结果,但可以说明加密过程。

Alice首先需要生成一个128位的随机密钥,然后将消息"Hello, Bob!"转换为二进制数据,并使用AES算法进行加密。

加密后的消息将是一个密文,只有拥有正确密钥的Bob才能解密。

习题2:非对称加密Bob收到Alice的加密消息后,他使用非对称加密中的公钥加密技术来验证消息的真实性。

Bob的公钥是{e, n},其中e=17,n=3233。

请计算Alice的私钥d。

答案2:在非对称加密中,通常使用RSA算法。

公钥和私钥的关系是d * e ≡1 (mod φ(n)),其中φ(n)是n的欧拉函数值。

首先需要计算φ(n),对于n=3233,如果n是两个素数的乘积,那么φ(n) = (p-1)(q-1)。

假设n=3233是两个素数p和q的乘积,那么φ(3233) = (p-1)(q-1)。

由于我们没有具体的p和q,我们无法直接计算出d,但是通常d会是小于φ(n)的一个数,且满足上述同余方程。

习题3:数字签名Alice想要发送一个数字签名给Bob,以证明消息确实是她发送的。

她使用了自己的私钥对消息进行签名。

如果Bob收到消息后,使用Alice 的公钥验证签名,验证过程成功,则说明什么?答案3:如果Bob使用Alice的公钥验证签名成功,这表明消息确实是由Alice 发送的,并且消息在传输过程中没有被篡改。

密码学习题答案

密码学习题答案

密码学习题答案密码学习题答案密码学作为一门研究加密和解密技术的学科,一直以来备受关注。

它不仅在军事、金融、通信等领域有着广泛的应用,还是保护个人隐私和信息安全的重要工具。

为了更好地理解密码学的基本原理和技术,我们可以通过一些学习题来加深对密码学的理解。

下面是一些常见的密码学学习题以及它们的答案。

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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

四、公钥密码(3,4,5,6;10,12;13,18,19,20)
3. 用Fermat定理求3201 mod 11 。

解:对于模运算,有结论(a×b) mod n = [ (a mod n)×(b mod n)] mod n 由Fermat定理,可知310≡1 mod 11,因此有 (310)k ≡1 mod 11
所以3201 mod 11= [(310)20×3] mod 11 = [( (310)20 mod 11)×(3 mod 11)] mod 11 = 3。

4. 用推广的Euclid算法求67 mod 119的逆元。

解:q g u v
~ 119 1 0
~ 67 0 1
1 5
2 1 -1
1 15 -1 2
3 7
4 -7
2 1 -9 16 ( 注:1 = 119×(-9) + 67×16 )
所以67-1mod 119 = 16
5.求gcd(4655, 12075) 。

解:12075 = 2×4655 + 2765
4655 = 1×2765 + 1890
2765 = 1×1890 + 875
1890 = 2×875 + 140
875 = 6×140 + 35
140 = 4×35+0 所以gcd(4655, 12075)=35。

6.求解下列同余方程组
2mod3
1mod5
1mod7
x
x
x





⎪≡
⎩。

解:根据中国剩余定理求解该同余方程组,
记a1=2, a2=1, a3=1, m1=3, m2=5, m3=7, M=m1×m2×m3=105,
M1=M/m1=35, M1-1 mod m1 = 35-1 mod 3 = 2,
M2=M/m2=21, M2-1 mod m2 = 21-1 mod 5 = 1,
M3=M/m3=15, M3-1 mod m3 = 15-1 mod 7 = 1
所以方程组的解为x≡(M1M1-1a1 + M2M2-1a2 + M3M3-1a3) mod M
≡(35×2×2+21×1×1+15×1×1) mod 105
≡176 mod 105≡71 mod 105
10.设通信双方使用RSA加密体制,接收方的公开钥是(e,n)=(5,35),接收到的密文是C=10,求明文M
解: n=35 -> p=5, q=7
ϕ(n)=(p-1)(q-1)=24
d ≡
e -1 mod ϕ(n)≡5-1 mod 24≡5 mod 24 .... (因为 5×5≡1 mod 24) 所以,明文M ≡ C d mod n ≡ 105 mod 35 ≡ 5
12. 设RSA 加密体制的公开钥是(e,n)=(77, 221)。

(1) 用重复平方法加密明文160,得中间结果为:
k 2 4 8 16 32 64 72 76 77 160k mod 221 185 191 16 35 120 35 118 217 23 若敌手得到以上中间结果就很容易分解n ,问敌手如何分解n ?
(2) 求解密密钥d 。

解:(1) 由16016 ≡16064 mod 221,可知 (16064 - 16016) mod 221 = 0
即 16016(16048 – 1) mod 221 = 0,从而有 16048 = 1 mod 221。

由Euler 定理及定理4-7,猜测:
ord n (160) | 48 且 48 | ϕ(n),即存在整数k 满足ϕ(n)=48k
由 ϕ(n) 的定义可知, ϕ(n) 比 n 略小。

而当取k=4时,ϕ(n)=192为<221且与221最接近,因此猜测 ϕ(n)=192。

由ϕ(n)=(p-1)(q-1), n=pq ,可知 p+q = n - ϕ(n) + 1 = 221 - 192 + 1 = 30
所以 p 、q 为一元二次方程 X 2 - 30X + 221 = 0 的两个根,求得为13、17。

或: p-q = sqrt((p+q)2- 4n), 从而p = ((p+q) + (p-q) )/2, q =((p+q) - (p-q) )/2
所以,可得n 的分解为: n = 221 = 13×17
(2) 解密密钥d 为:d ≡e -1 mod ϕ(n) = 77-1 mod 192 = 5 (∵ 77×5 - 192×2 = 1 )
13. 在ElGamal 加密体制中,设素数p=71,本原根g=7,
(1)如果接收方B 的公开钥是y B =3,发送方A 选择的随机整数k=2,求明文M=30所对应的密文。

(2)如果A 选择另一个随机整数k ,使得明文M=30加密后的密文是C=(59, C 2),求C 2。

解: (1) C 1≡g k mod p = 72 mod 71 = 49, C 2≡y B k M mod p = (32×30) mod 71= 57 所以密文为 C=(C 1, C 2)=(49, 57)。

(2)由 7k mod 71 = 59 ,穷举k 可得k=3 。

所以 C 2 = (3k ×30) mod 71 = (33×30) mod 71 = 29。

18. 椭圆曲线E 11(1,6)表示y 2≡x 3
+x+6 mod 11,求其上的所有点。

解:
x
0 1 2 3 4 5 6 7 8 9 10 x 3+x+6 mod 11
6 8 5 3 8 4 8 4 9
7 4 是否为mod 11的
平方剩余 No No yes yes No yes No yes yes No yes
y
4, 7 5, 6 2, 9 2, 9 3, 8 2, 9
所以,E 11(1, 6)上点为 { O, (2, 4), (2, 7), (3, 5), (3, 6), (5, 2), (5, 9), (7,2), (7, 9), (8, 3), (8, 8), (10, 2), (10, 9) }
19. 已知点G=(2, 7) 在椭圆曲线E 11(1,6)上,求2G 和3G 。

解: a=1, b=6, p=11, y 2≡x 3+x+6 mod 11
∵ 2G = G + G , λ=(3×22+1)/(2×7) mod 11=13/14 mod 11 = 2/3 mod 11 = 8 (∵ 3-1 mod 11 = 4)
x3=(82-2-2) mod 11=5, y3= [8(2-5)-7] mod 11=2
∴ 2G = (5, 2)
∵ 3G = 2G + G = (5, 2) + (2, 7),
λ=(7−2)/(2−5) mod 11=5/(-3) mod 11=5/8 mod 11=5*7 mod 11= 2 (∵ 8*7=1 mod 11) x3=(22-5-2) mod 11 = (-3) mod 11 = 8
y3=[2(5-8)-2] mod 11 = (-8) mod 11 = 3
∴ 3G = (8, 3)
20. 利用椭圆曲线实现ElGamal 密码体制,设椭圆曲线是E 11(1,6),生成元G=(2,7),接收方A 的秘密钥n A =7。

(1) 求A 的公开钥P A 。

(2) 发送方B 欲发送消息P m =(10,9),选择随机数k=3,求密文C m 。

(3) 显示接收方A 从密文C m 恢复消息P m 的过程。

解: (1) A 的公开钥 P A = n A G = 7G = (7, 2)
(2) C 1=kG = 3G = (8, 3)
C 2=P m + kP A =(10,9) + 3(7, 2) = (10,9) + (3, 5) = (10, 2)
所以密文 C m ={C 1, C 2} = { (8,3), (10, 2) }
(3) 解密过程为
C 2 - n A C 1= (P m + kP A ) – n A (kG) = (10, 2) – 7(8,3) = (10, 9) = P m。

相关文档
最新文档