您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > (完整版)密码学复习题
一、选择1.若一个单向函数存在一个附加信息,当不知道该附加信息时从函数值求原像是困难的,但是知道该附加信息时从函数求原像是容易的,则该单向函数是A.陷门单向函数B.门陷单向函数C.完全单向函数D容量单向函数2.标志着公钥密码学诞生的事件是A.C.Shannon发表的保密系统的通信理论B.W.Diffle和M.Hellman发表“密码学的新方向”一文C.C.RSA加密公钥的提出D.维吉利亚密码体制的提出。3.下列密码体制中,被认为无条件安全的是A.一次一密乱码本(one-timepad)B.ElGamalC.RSAD.Cramer-Shop4.下列密码体制中,不属该分组密码的是A.IDEAB.AESC.ElGamalD.DES5.目前通称的AES算法指的是A.Terpent算法B.RCG算法C.Rijndael算法D.Tuofish算法二、填空1.按照一个明文字母是否总是被一个固定的字母代换进行划分,代换密码可分为单表代换密码和多表代换密码。2.经典密码学的2个分支:密码编码学和密码分析学。3.根据攻击者所拥有的信息不同,对数字签名方案的攻击主要有惟密钥攻击,已知消息攻击,选择消息攻击,适应性选择消息攻击四种常见的类型。4.分组密码主要有电子密码本模式(ECB),密码分组链接模式(CBC),密码反馈模式(CFB),输出反馈模式(OFB)。5.根据密码分析者破译时已具备的条件,把对密码系统的常见攻击分为惟密文攻击,已知明文攻击,选择明文攻击,选择密文攻击。三、问答1.Feistel密码结构主要部件是哪些?它在迭代运算中起到什么作用?ANS:Feistel密码是通过代替和置换(S-P网络)交替的方式来构造分组密码,其实就是基于混乱和扩散原理实现加解密运算。S盒变换:它把输入的一个n长的比特串转化为另一个m长的比特串输出。P盒变换:通过把一个比特串中各比特的位置次序重新排列而得到新的比特串的变换。2.数字签名的四个特征?ANS:数字签名具有以下特征:(1)收方能够确认或证实发方的签名,但不能伪造。(2)发方发出签名的消息给收方后,就不能再否认他所签发的消息。(3)收方对已收到的签名消息不能否认。(4)第三者可以确认收发双方之间的消息传送,但不能伪造这一过程。3.分组密码主要优点是什么?其设计原则应考虑哪些问题?ANS:分组密码的优点是:明文信息良好的扩展性,对插入的敏感性,不需要密钥同步,较强的适用性,适合作为加密标准。在分组密码具体设计中,还需重点考虑的有:S盒的设计、P盒的设计、轮函数F的设计、迭代轮数以及密钥扩展算法等。下面给出一个多项式时间的IND-CCA2敌手A,它可以按照如下方法攻破题中加密方案的IND-CCA2安全性:①在SetupPhase,敌手A从挑战者处得到公钥pk。②在Phase1,敌手A无需进行任何解密查询。③在ChallengePhase,敌手输出两个等长的明文m0,m1,然后从挑战者处得到挑战密文*****12(,)(,)rrbCccygm。④在Phase2,敌手A首先通过篡改挑战密文来得到新的密文**12(,2)Ccc(注意到该新密文实质上对应明文2mb的有效密文)。然后,敌手A通过进行解密查询C来得到相应的明文2mb,从而可以进一步得到mb。知道了明文mb,敌手A当然可以获知b的值,从而可以知道敌手A针对题中的加密方案的优势是不可忽略的(即1/2)。从而题中的加密方案不是IND-CCA2安全的。一个数字签名方案通常由密钥生成算法KeyGen(k)、签名算法Sig(sk,m)和验证算法Ver(pk,m,σ)所组成。下面给出了一个数字签名方案的前两个算法,请据此推导出该签名方案的验证算法Ver(pk,m,σ)。(5分)密钥生成算法KeyGen(k):输入安全参数k,该算法首先选取两个大素数p和q,其中p为k比特的大素数,q是p-1的大素因子。然后随机选取一个生成元*pZg,且pgqmod1。接着随机选取*qxZ,计算modxygp。此外,还选取一个哈希函数H:{0,1}*→*qZ。最后输出私钥skx和公钥(,,,,)pkgpqyH。签名算法Sig(sk,m):输入私钥skx和消息*{0,1}m,该算法随机选取qrZ,计算modrRgp,(||)eHmR和modsrxeq。最后输出签名(,)Rs。
本文标题:(完整版)密码学复习题
链接地址:https://www.777doc.com/doc-7121991 .html