青岛科技大学密码学A卷试题及答案.docx
《青岛科技大学密码学A卷试题及答案.docx》由会员分享,可在线阅读,更多相关《青岛科技大学密码学A卷试题及答案.docx(4页珍藏版)》请在冰点文库上搜索。
青岛科技大学密码学A卷试题及答案
青岛科技大学密码学A卷试题及答案
2010/2011 学年 第二学期 网络安全与加密技术 课程考试试题 拟题学院 :
信息科学技术学院 刘国柱拟题人:
吴鹏适用专业:
计算机10A、B班 校对人:
一、选择题 1、密码学包括哪两个相互对立的分支?
A.对称加密和非对称加密 B.密码编码学和密码分析学C.序列密码和分组密码 D.DES和RSA2、加密技术不能提供以下哪种安全服务?
A.鉴别 B.机密性B.完整性 C.可用性 3、在密码学中,需要被变换的原消息称为什么?
A.密文 B.算法C.密码 D.明文4、在密码学中,对RSA的描述正确的是。
A.RSA是秘密密钥算法和对称密钥算法 B.RSA是非对称密钥算法和公钥算法C.RSA是秘密密钥算法和非对称密钥算法D.RSA是公钥算法和对称密钥算法5、DES的密钥长度是多少bit?
A.64 B.56C.512 D.86、RSA使用不方便的最大问题是?
A.产生密钥需要强大的计算能力 B.算法中需要大数C.算法中需要素数 D.被攻击过很多次7、ECB的含义是?
A.密文链接模式 B.密文反馈模式C.输出反馈模式 D.电码本模式8、SHA-1产生的散列值是多少位?
A.56 B.64C.128 D.1609、下列为非对称加密算法的例子为。
A.IDEA B.DES C.3DES D.EllipticCurve10、通常使用下列哪种方法实现抗抵赖功能?
A.加密 B.时间戳 C.签名 D.数字指纹二、设p和q是两个大于2的素数,并且n=pq。
记φ(n)是比正整数n小,但与n互素的正整数的个数。
再设e和d是两个正整数,分别满足gcd=1,ed≡1。
设函数E和D分别定义为E(m)=me和D(c)=cd。
请问:
计算φ(n)的公式是什么?
请证明对于任何正整数m,都成立恒等式D=m 23 三、考虑在Z23上的一个椭圆曲线y=x+11x+18。
请你验证P=和Q=确实是该椭圆曲线上的两个点;请计算出P+Q=?
和2P=?
注意:
对Zp上的椭圆曲线E上的两个点P=和Q=都∈E。
若x1=x2且y1=-y2, 2 那么P+Q=O;否则P+Q=,这里的x3=λ-x1-x2,y3=λ-y1 ?
y2?
y1?
x?
x?
?
?
?
21?
3x1+a?
?
2y1如果P?
Q如果P=Q 对于所有的P∈E,定义P+O=O+P=P。
四、给定两个素数p和q,n=pq,请利用著名的RSA公钥算法说明签名和验证签名的过程,称为RSA数字签名算法。
五、请用公式表示出Diffie-Hellman密钥分配的过程,并要具体指明哪个变量需要保密,哪个变量需要公布。
六、画出DES算法中复杂函数F的运算原理图。
843527542 七、给定不可约多项式M=x+x+x+x+1,两个多项式f=x+x+1,g=x+x+x+x+x请计算f*gmod)。
八、设明文为M=WEWILLMEETATMORNING,用映射关系j=i+kmod26进行对明文加密,假设k=13,请给出对明文进行两次加密的结果,并说明第二次加密的结果和明文之间的关系。
九、求11的所有本原根。
208 十、用费玛和欧拉定理求6mod11。
2010/2011学年第二学期网络安全与加密技术试题标准拟题学院:
信息科学技术学院 适用专业:
计算10A、B班 拟 题 人:
刘国柱 书写标准答案人:
刘国柱 一、选择题 4、B;5、D6、D4、B5、B6、A7、D8、D9、D10、C二、设p和q是两个大于2的素数,并且n=pq。
记φ(m)是比正整数m小,但与m互素的正整数的个数。
再设e和d是两个正整数,分别满足gcd=1,ed≡1。
设函数E和D分别定义为E(m)=me和D(c)=cd。
请问:
计算φ(n)的公式是什么?
请证明对于任何正整数m,都成立恒等式D=m答:
φ(n)= 只需证明RSA的解密正确性就可以了。
φ(n) 当gcd=1时,则欧拉定理可知m≡1 当gcd>1时,于n=pq,故gcd必含p,q之一,不妨设gcd φ(q) =p,则m=cp,欧拉定理知m≡1 k(q-1)k(q-1)kφ(n) 因此,对于任何k,总有m≡1,m≡1≡1,即mk ≡1 φ(n) 满足mk=hq+1。
假设m=cp。
φ(n)+1φ(n)+1 故m=mk–hqcp=mk–hcn φ(n)+1 所以:
m=mk φ(n)+1 因此:
对于n及任何的m,恒有mk≡m φ(n)+1 所以:
D=D≡cd=med=ml=m。
命题得证。
23 三、考虑在Z23上的一个椭圆曲线y=x+11x+18。
请你验证P=和Q=确实是该椭圆曲线上的两个点;请计算出P+Q=?
和2P=?
注意:
如果学生在答题过程中有个别计算错误,那么扣分情况根据学生是否掌握了如下椭圆曲线的运算规则而做出。
对Zp上的椭圆曲线E上的两个点P=∈E。
若x1=x2且y1=-y2, 2 那么P+Q=O;否则P+Q=,这里的x3=λ-x1-x2,y3=λ-y1 ?
y2?
y1?
x?
x?
21?
?
?
2?
3x1+a?
?
2y1如果P?
Q如果P=Q 对于所有的P∈E,定义P+O=O+P=P。
23 答:
直接验证P=和Q=满足方程式y=x+11x+18,因此,P和Q都是该椭圆曲线上的点。
(共4分,验证每个点2分)直接计算后得到P+Q=(17,9)和2P=四、给定两个素数p和q,n=pq,请利用著名的RSA公钥算法说明签名和验证签名的过程,称为RSA数字签名算法。
答:
RSA签名算法系统参数可以设定为n=pq,且p和q是两个大素数,得到欧拉函数φ(n),选定e,通过ed≡1确定e的逆元d,将n,d作为公钥;p,q,e作为私钥;签名算法为Sig=xemodn; 签名验证算法为Ver=TRUE等价于x≡yd。
五、请用表示出Diffie-Hellman密钥分配的过程。
答:
Diffie-Hellman密钥分配协议假定在两个用户A和用户B之间进行,协议步骤如下:
1)公开一个素数p和一个本原根α 2)用户A和用户B各选定自己的秘密值XA和XB XA 3)计算A用户的公开值YA=αmodp XB 4)计算B用户的公开值YB=αmodp 5)则用户A和用户B可以计算出公共密钥:
XAXBXB B用户从A用户取得公开值YA,则公开密钥为:
KAB=αmodp=YAmodp XAXBXA A用户从B用户取得公开值YB,则公开密钥为:
KAB=αmodp=YBmodp六、画出F的函数原理图 843527542 七、给定不可约多项式M=x+x+x+x+1,两个多项式f=x+x+1,g=x+x+x+x+x请计算f*gmod)。
答:
M(x)=100011011(二进制表示) f(x)=00100101g(x)=10110110 根据运算规律x*g?
x?
?
?
?
b6b5b4b3b2b1b00b7?
0 ?
b6b5b4b3b2b1b00?
00011011b7?
1得到:
x*g(x)=01101100⊕00011011=011101112 X*g(x)=111011103 X*g(x)=11011100⊕00011011=110001114 X*g(x)=10001110⊕00011011=100101015 X*g(x)=00101010⊕00011011=00110001 f(x)*g(x)mod(M(x))=10110110⊕11101110⊕00110001=01101001 653 所以:
f(x)*g(x)mod(M(x))=x+x+x+1 说明:
如果直接用多项式的乘除法,也可以得分。
八、设明文为M=WEWILLMEETATMORNING,用映射关系j=i+kmod26进行对明文加密,假设k=13,请给出对明文进行两次加密的结果,并说明第二次加密的结果和明文之间的关系。
答:
明文字母表和密文字目标之间的对应关系为:
abcdefghijklmnopqrstuvwxyznopqrstuvwxyzabcdefghijklm所以第一次加密的密文为:
JRJVYYZRRGNGZBEAVAT第二次加密密文为:
WEWILLMEETATMORNING 第二次加密所得密文与明文相同。
九、求11的所有本原根。
答:
对于2 0 因为:
2mod11=1 1 2mod11=2 2 2mod11=4 3 2mod11=8 4 2mod11=5 5 2mod11=10 6 2mod11=9 7 2mod11=7 8 2mod11=3 9 2mod11=6 10 2mod11=1 又因为2的序为10,所以2为mod(11)的本原根。
根据:
当g为模p的本原根且a与p-1互素时,即gcd(a,p-1)=1, a 则gmodp亦必为模p之本原元素。
因为:
3,7,9与p-1=11-1=10互素。
379 所以:
2mod11=8,2mod11=7,2mod11=6也是mod(11)的本原根。
即:
11的本原根为:
2,8,7,6。
208 十、用费玛和欧拉定理求6mod11。
答:
根据费玛和欧拉定理得:
610mod11=1 所以:
6200mod11=1 即:
6208mod11=68mod11=4