- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
现代密码学期末考试题
试题四(10分)设DES密码中的初始密钥是K (,),记DES加密算法中16轮加密过程中所使用的子密钥分别为。请你计算出第一个子密钥的数学表达式。
答:先对初始密钥K (,)进行一个密钥置换PC-1(见下PC-1表1),将初始密钥的8个奇偶校验位剔除掉,而留下真正的56比特初始密钥()。接着分别对及进行左一位循环,得到与 ,连成56比特数据。再依密钥置换PC-2(如下PC-2表2)做重排,便可得到子密钥。
表1:密钥置换PC-1 表2 密钥置换PC-2
PC-1 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 PC-2 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 试题五(10分)设p和q是两个大于2的素数,并且n pq。记是比正整数m小,但与m互素的正整数个数。再设e和d是两个正整数,分别满足gcd e, 1 ,ed1 mod 。设函数E m 和D(c)分别定义为E(m)m mod n 和D c c mod n 。请问(1)等于多少? (2)请证明对于任何正整数m,都成立恒等式D(E(m)) m。 答:(1) p-1 q-1 。 (2)其实,只需要证明RSA的解密正确性就行了。当(m,n) 1时,则由欧拉定理可知m。
当(m,n) 1时,由于n pq, 故(m,n)必含p,q之一。不妨设(m,n) p,则m cp,(1c q),由欧拉定理知 m。
因此,对于任何k,总有m, m,即m。于是存在h h是某个整数 满足m+hq 1。由假定m cp。故m m+hcpq m+hcn。这就证明了m m mod n 。
因此对于n及任何m(m n),恒有m。所以,D E(m) D c c m m m mod n 。命题得证。 试题六(10分):(1)请利用著名的RSA公钥密码算法设计一个数字签名算法(称为RSA签名算法)。(2)由于RSA签名算法每次只能对一个固定长度(比如N比特)的消息进行签名,为了对任意长度的消息进行签名,有人建议了这样一种处理方法:首先将长消息切割成固定长度N比特的数据块,然后用RSA签名算法对每个数据块进行签名,最后将这些签名块拼接起来就得到了长消息的签名。请问这种切割处理方法所获得的签名算法安全吗?为什么? 答:(1)RSA签名算法的系统参数可设为n pq,且p和q是两个大素数,则 M A Z,定义К (n,d,p,q,e) 这里e和d 满足ed1 modΦ n Φ 是欧拉函数 。公开密钥 n,d;私有密钥 p,q,e; 签名算法为Sig x x mod n;签名验证算法为 Ver x,y TRUExy modn . x,y ZZ。更直观地说,用RSA解密算法作为签名,用RSA的加密作为验证,于是,只有合法用户自己才能签名,而任何人都可以验证签名的真实性。其实,基于任何一个加、解密算法顺序可交换的密码算法都可用于设计一个数字签名算法,只需要以解密做签名,以加密做验证就行了。 (2)切割和拼接处理方法所获得的签名算法不安全。因为,假如m和n是两个N比特的消息,那么,黑客可以通过已知的m和n的签名S m S n ,至少获得另一个消息nm的合法签名S n S m 。
试题七(10分):(1)请详细叙述Diffie-Hellman密钥预分配协议;(2)如果去掉Diffie-Hellman密钥预分配协议中的证书(即不存在可信中心),请你给出一种有效的中间人攻击方法,即攻击者截获通信双方通信的内容后可分别冒充通信双方,以获得通信双方协商的密钥。 答:(1)为完整描述Diffie-Hellman密钥预分配协议,用ID(U)表示网络中用户U的某些识别信息。每个用户U有一个秘密指数和一个相应的公钥。
可信中心有一个签名方案,该签名方案的公开验证算法记为VerTA,秘密签名算法记为SigTA。当一个用户U入网时,可信中心需给他颁发一个证书:C U ID U ,bU,SigTA ID U ,bU 。可信中心对证书的签名允许网络中的任何人能验证它所包含的信息。U和V计算共同的密钥的协议,即,Diffie-Hellman密钥预分配协议如下:
公开一
原创力文档


文档评论(0)