一填空题1.密码学发展的四个阶段:、、、。2.DES的分组长度是比特,密钥长度是比特,密文长度是64比特。3.数字签名方案是指由、、、、组成的五元组。4.信息安全的核心是;密码学研究的主要问题是5.加密算法模式有四种,分别是:,,5.DES的分组长度是比特,密钥长度是比特,密文长度是比特。6.AES的密钥长度可以是、、;AES圈变换的由四个不同的变换组成,它们分别是、、、。7.柯可霍夫原则指出密码系统的安全性不能取决于,而应取决于。8.柯可霍夫原则指出密码系统的安全性不能取决于,而应取决于。9.根据加密内容的不同,密钥可以分为、、10.对称密码体制可以分为和两类。11.哈希函数MD5和SHA-1的输出长度分别是和比特。12.密码学由和组成。13.分组密码的加解密算法中最关键部分是非线性运算部分,那么,DES加密算法的非线性预算部分是指非线性代换,AES加密算法的非线性运算部分是指。14.DES与AES有许多相同之处,也有一些不同之处,请指出两处不同:AES密钥长度可变DES不可变,DES面向比特运算AES面向字节运算。15.MD5的主循环有(4)轮。16.SHA1接收任何长度的输入消息,并产生长度为(160)bit的Hash值。17.分组加密算法(如AES)与散列函数算法(如SHA)的实现过称最大不同是(可逆)。18.Hash函数就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出称为。19.Hash函数的单向性是指对任意给它的散列值h找到满足H(x)=h的x在计算上是不可行的。20.公钥密码体制的思想是基于陷门单向函数,公钥用于该函数的正向(加密)计算,私钥用于该函数的反向(解密)计算。21.1976年,W.Diffie和M.Hellman在密码学新方向一文中提出了公钥密码的思想,从而开创了线代密码学的新领域。22.公钥密码体制的出现,解决了对称密码体制很难解决的一些问题,主要体现一下三个方面:密钥分发问题、密钥管理问题和数字签名问题。23.RSA的数论基础是数论的欧拉定理,在现有的计算能力条件下,RSA被认为是安全的最小密钥长度是1024位。24.公钥密码算法一般是建立在对一个特定的数学难题求解上,那么RSA算法是基于大整数因子分解困难性、ElGamal算法是基于有限域乘法群上离散对数的困难性。25.为保证安全性,在设计分组密码时,密码变换必须足够复杂,尽量使用混淆与扩散原则。这样使攻击者除了用穷举攻击以外,找不到其他简洁的数学破译方法二计算题2)设有明文或消息…,求其密文或签名S,再对密文解密或验证签名。2.请给出Deffie-Hellman密钥交换协议的一个实例或描述Deffie-Hellman密钥交换协议3.ECC例如:设在有限域上的椭圆曲线的表达式。1)证明,是上的点;2)计算以及、。4.Elgamal数字签名三问答题1.RSA加密,签名例如:设在RSA方案中,选取,,公钥。1)计算公钥对应的私钥;3.对DES和AES进行比较,说明两者的特点和优缺点。参考答案DES:分组密码,Feist结构,明文密文64位,有效密钥56位。有弱密钥,有互补对1.请给出密码学的基本模型。明文2()kmDc密文1()kcEm明文m密钥2k密钥1k解密算法加密算法公开信道密码分析图1-8密码学基本模型对称加密时:公钥加密时:不等于2.公钥密码体制的安全基础是某些复杂的含有陷门的数学难题。根据公钥密码体系的安全性基础来分类,现在被认为安全、实用、有效的公钥密码体系有三类。请说明这三类问题的具体含义。参考答案:(1)基于大数分解(大整数素因子分解)问题的公钥密码体制.其中包括著名的RSA体制和Rabin体制.(2)基于有限乘法群上离散对数问题的公钥密码体制.其中主要包括EIGamal类加密体制和签名方案,Diffie-Hellman密钥交换方案等.)(3)基于椭圆曲线加法群上的离散对数问题的公钥密码体制.其中包括椭圆曲线型的Diffie-Hellman密钥交换方案,椭圆曲线型的ECKEP密钥交换方案;椭圆曲线型的数字签名算法等称性。适合硬件实现,软件实现麻烦。安全。算法是对合的。AES:分组密码,SP结构,明文密文128位,密钥长度可变≥128位。无弱密钥,无互补对称性。适合软件和硬件实现。安全。算法不是对合的。4)不可伪造性:任何其他人不能伪造签名者的签名。或者说,任何其他人不能找到一个多项式时间的算法来产生签名者的签名;5.请简述对称密码算法和公钥密码算法的区别。参考答案主要体现在密钥形式,密钥管理和应用等三方面1)对称密码体制中,通信双方共享一个秘密密钥,此密钥既能用于加密也能解密。公钥密码体制中每个用户有两个不同的密钥:一个是必须保密的解密密钥,另一个是可以公开的加密密钥。(3分)2)对称密码体制要求通信双方用的密钥应通过秘密信道私下约定,互联网上若有n个用户,则需要个密钥,也就需要条安全信道,保存和管理如此庞大的密钥,本身便不太安全.;另外,每个用户必须储存个密钥,甚至对一个相当小的网络,也可能变得相当昂贵;而且如果一个秘密密钥泄露了,则攻击者能够用此秘密密钥解密所有用此秘密密钥加密的消息(至少两个用户被攻破)。公钥密码体制中公钥可以公开,每个用户只需保存自己的私钥。(3分)3)对称密码体制只能提供机密性服务,难以实现认证,无法提供不可否认性服务。公钥密码体制不仅可以用于加密,还可以协商密钥,数字签名,因此,公钥密码技术的主要价值:密钥分发;大范围应用中数据的保密性和完整性;实体鉴别;不可抵赖性。(3分)4.请简述数字签名的含义及其基本特征。参考答案数字签名(digitalsignature)是一种给电子形式存储的消息签名的方法。正因为如此,签名之后的消息能够通过计算机网络传输。数字签名是手写签名的数字化形式,与所签信息绑定在一起。具体地讲,数字签名就是一串二进制数。它应具有下列基本特性:1)签名可信性:其他人可利用相关的公开消息验证签名的有效性;2)不可抵赖性:签名者事后不能否认自己的签名;3)不可复制性:即不可对某一数字内容或消息(message)的签名进行复制;数字签名文件本身可以复制,因此,签名文件本身应该包含诸如日期、时间在内的信息以防止签名被复制.公钥密码体制的易实现认证,但加密速度虽然不如对称密码体制快,尤其在加密数据量较大时.因此,实际工程中常采用的解决办法是将公钥密码体制和对称密码体制结合,即公钥密码体制用来分配密钥,对称密码体制用于加密消息。(1分)(C)C截获密文,用自己的解密钥解密获得数据。6.在公钥密码的密钥管理中,公开的加密钥和保密的解密钥的秘密性、真实性和完整性都需要确保吗?为什么?参考答案①公开的加密钥Ke:秘密性不需确保,真实性和完整性都需要确保。因为公钥是公开的,所以不需要保密。但是如果其被篡改或出现错误,则不能正确进行加密操作。如果其被坏人置换,则基于公钥的各种安全性将受到破坏,坏人将可冒充别人而获得非法利益。②保密的解密钥Kd:秘密性、真实性和完整性都需要确保。因为解密钥是保密的,如果其秘密性不能确保,则数据的秘密性和真实性将不能确保。如果其真实性和完整性受到破坏,则数据的秘密性和真实性将不能确保。③举例(A)攻击者C用自己的公钥置换PKDB中A的公钥:(B)设B要向A发送保密数据,则要用A的公钥加密,但此时已被换为C的公钥,因此实际上是用C的公钥加密。存在性伪造(existentialforgery):攻击者至少能够为一则消息产生有效签名。8.简述密码体制的原则:(1)密码体制既易于实现又便于使用,主要是指加密算法解密算法都可高效的实现(2)密码体制的安全性依赖于密钥的安全性,密码算法是公开的;(3)密码算法没有安全弱点,也就是说,密码分析者除了穷举搜索攻击外再也找不到更好的攻击方法;(4)密钥空间要足够大,使得试图通过穷举搜索密钥的攻击方式在计算机上不可行。9.简述保密系统的攻击方法。唯密文攻击,密码分析者除了拥有截获的密文外,没有其他可以利用的信息;已知明文攻击,密码分析者不仅掌握了相当数量的密文,还有一些已知的明—密文对可供利用;选择明文攻击,密码分析者不仅可以获得一定数量的明—密文对,还可以选择任何明文并在使用同一未知密钥的情况下能达到相应的密文;选择密文攻击,密码分析者能选择不同的被加码的密文,并还可以得到对应的明文,密码分析者的主要任务是推出密钥及其他密文对应的明文;选择文本攻击,是选择明文攻击和选择密文攻击的组合10.RSA的算法描述:7.数字签名的一般结构形式及其安全性要求。答案提示:安全模型=攻击模型+攻击目的攻击模型(攻击者的攻击能力,可获得的信息):惟密钥攻击(key-onlyattack):攻击者只知道公钥,及验证算法ver;已知消息攻击(knownmessageattack):攻击者拥有一系列以前由Alice签名的消息,,…选择消息攻击(chosenmessageattack):攻击者请求Alice对一个消息列表(攻击者自己选取的列表)签名,得到这些消息的签名攻击者可能的目的(方案的抵抗力):完全破译(totalbreak):攻击者获得Alice的私钥,从而它能产生任何消息Alice的签名。选择性伪造(selectiveforgery):攻击者能以不可忽略的概率对个人选择的消息产生一个有效地签名。对于给定的一则消息,他能以某种概率决定该消息的签名。Alice以前未对该消息签过名。①密钥生成(1)选择两个随机的大素数p和q,并计算n=pq和φ(n)=(p-1)(q-1)。(2)选择一个随机数e,1eφ(n),满足gcd(e,φ(n))=1,并计算d=e^-1mod(φ(n))。(3)公钥为(e,n),私钥为d。②加密对明文mn,其对应的密文为c=m^emodn。③解密对密文c,其对应的明文是m=c^dmodn。11.安全散列函数需要哪些特性?参考答案:安全散列函数需要满足如下性质H可用于任意长度大小的数据块H可产生定长的输出对任意给定的x,计算H(x)容易对任意给定的h,找到x,满足H(x)=h很难(单向性)对任意给定的x,找到y,满足H(x)=H(y)很难(弱碰撞性)找到任何满足H(x)=H(y)的分组对(x,y)很难(强碰撞性)12.简述AES算法加密过程,也可画图说明。答:AES算法的加密过程是在一个44的字节矩阵上动作,这个矩阵又称为“体”或者“状态”,其初值就是一个明文区块(矩阵中一个元素单位大小就是明文区块中的一个字节(8比特))。加密时,明文块与子密钥首先进行一次轮密钥加,然后各轮AES加密循环(除最后一轮外)均包含4个步骤:字节代替:通过一个非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。行移位:将矩阵中的每个横列进行循环式移位。列混合:为了充分混合矩阵中各个起先的操作,这个步骤使用线性转换来混合每行内的四个字节。轮密钥加:矩阵中的每一个字节都与该次循环的子密钥做XOR逻辑运算;每个子密钥由密钥生成方案产生。13.密钥管理的原则:①区分密钥管理的策略和机制。②全程安全原则。③最小权利原则。④责任分离原则。⑤密钥分级原则。⑥密钥更新原则。⑦密钥应有足够的长度。⑧密码体制不同,密钥管理也不相同。14.密钥的产生方式:①初级密钥可以在密钥加密密钥的控制下通过安全算法动态地产生。②密钥加密密钥可以采用伪随机数生成器、安全算法或电子学噪声源产生。③对于主密钥,虽然一般它的密钥量很小,但作为整个密码系统的核心,需要严格保证它的随机性,避免可预测性。因此,主密钥通常采用掷硬币、骰子或使用物理噪声发生器的方法来产生。明文块轮密钥加子密钥字节代替行移位列混合轮密钥加子密钥是否最后一轮密文块轮密钥加行移位字节代替否是