密码学基础课后题

1名词解释
密码编码学:密码学(cryptography)包括密码编码学和密码分析学两部分。将密码变换的客观规律应用于编制密码用来保守通信秘密的,称为密码编码学。
代替密码:简单代替密码是指将名文字母表M中的每个字母用密文字母表C中相应字母来代替。
对称密钥密码:对称密钥密码是指加密过程和解密过程使用同一密钥来完成,它也被称为秘密密钥密码或单密钥密码。
公开密钥密码:非对称密钥密码是指加密过程和解密过程使用两个不同的密钥来完成,这些算法也叫公开密钥密码或双密钥密码。
乘法逆元:数学领域群G中任意一个元素a,都在G中有唯一的逆元a‘,具有性质a×a’=a’×a=e,其中e为该群的单位元。
离散对数:若a是素数p的一个原根,则相对于任意整数b(b mod p≠0),必然存在唯一的整数i(1<=i<=p-1),使得b≡a^i mod p,i成为b的以a为基数且模p的幂指数,即离散对数。
消息摘要:消息摘要方案是以单向散列计算为核心,将任意长度的消息全文作为单向散列函数的输入,进行散列计算,得到的被压缩到某一固定长度的散列值(即消息摘要)作为认证符。
散列函数:使用散列函数(hash function)的目的是将任意长的消息映射成一个固定长度的散列值(hash值),也成为消息摘要。
数字签名:数字签名的英文名全称是digital signature,在iso 7498-2标准中定义为“附加在数据单元上的一些数据或是对数据单元所做的密码变换,这种数据或变换可以被数据单元的接收者用来确认数据单元来源和数据单元的完整性,并保护数据不会被人(如接收者)伪造。”
无碰撞特性:散列函数h被称为是强无碰撞的,是指在计算上难以找到x相异的x*,满足h(x)=h(x*),x可以不属于M。
2简答题
密码体制五要素是什么?:通常一个完整的密码体制要包含如下五个要素,分别是M、C、K、E和D具体的定义如下:M是可能明文的有限集,称为明文空间。C是可能密文的有限集,称为密文空间。K是一切可能密钥构成的有限集,称为密钥空间。E为加密算法,对于密钥空间的任一加密算法都能有效地计算。D是解密算法,对于密钥空间的任一解密算法都能够有效地计算。
密码学的发展过程是怎样的?:密码学的发展可以分为三个阶段,即古代加密方法、古典密码和近代密码三个阶段。古代加密方法主要基于手工方式实现,因此也称为密码学发展的手工阶段;古典密码的加密方法一般是文字替换,古典密码系统已经初步体现出近代密码系统的雏形,它比古代加密方法复杂很多;近代密码学与计算机技术、电子通讯技术紧密相关。在这一阶段,密码学理论蓬勃发展,出现了大量的密码算法。
什么是单向陷门函数?:如果函数f(x)被称为单项陷门函数,必须满足以下三个条件:(1)给定x,计算y=f(x)是容易的;(2)给定y,计算x使y=f(x)是困难的(所谓计算x=f^(-1)(y)困难是指计算上相当复杂,已无实际意义);(3)存在δ,已知δ时对给定的任何y,若相应的x存在,则计算x使y=f(x)是容易的。
公开密钥密码的作用有哪些?:公开密钥密码除了可以解决信息的机密性和可认证性之外,还在密钥交换、信息的完整性校验以及数字证书方面做出了重大贡献。
散列函数的作用是什么?:使用散列函数(hash function)的目的是将任意长的消息映射成一个固定长度的散列值(hash值),也成为消息摘要。消息摘要可以作为认证符,完成消息认证。
数字签名是如何使用的?:发送方使用散列函数对消息报文进行散列计算,生成散列值(消息报文摘要),并用自己的私钥对这个散列值进行加密,加密的散列值即为数字签名。然后,这个加密的散列值将作为消息报文的附件和消息报文一起发送给接收方。接收方首先用与发送方一样的散列函数计算原始消息报文的散列值,接着再用发送方的公钥来对报文附加的数字签名进行解密,得到发送方计算的散列值,如果两个散列值相同,接收方就可确认消息报文的发送方,并且消息报文是完整的。
3计算题
俄语共有32个字母,设计一个乘数密码来加密俄语信息,并计算一下潜在的加密密钥有多少个,并举例。:M=C=Z(32),明文空间和密文空间同为俄文字母表空间,包含32个元素;q=32,模为32;K={k∈整数集,0<k<32,gcd(k,32)=1},密钥为大于0且小于32,与32互素的正整数;Ek(m)=km mod q,加密算法;D^(-1) ©=k ^(-1)c mod q,解密算法,其中k ^(-1)为k在模q下的乘法逆元。对于乘数密码,当且仅当k与32互素时,加密变换才是一一映射的,因此,k的选择有15种:3,5,7,9,11,13,15,17,19,21,23,25,27,29,31.k取1时没有意义。
alice和bob使用diffie_hellman协议共享密码,得知使用的素数q=13,原根a=2.如果Alice传送给bob ya=12,则Alice的随机数xa是多少?如果bob传给Alice yb=6,则共享密钥k是多少?:12=2^x(mod 13) xa=2 ^y (mod 13) 12 ^y=xa ^x 三式联立求得x为6,xa为12,y为6。6=2 ^x(mod 13) y=2 ^z(mod 13) k=6 ^z=y ^5三式联立求得k为7776。
如果攻击者截获了Alice发给bob的消息c为10,并得知加密密码是rsa(公钥:e=5,n=35),那么明文m是什么?:根据10=m^5(mod 35)可知明文m为5。
4辨析题
有人说“使用aes密码加密数据绝对安全”你认为正确与否,为什么?:aes算法的基本要求是比三重des快,而且至少和三重des一样安全,分组长度128位,密钥长度为128位/192位/256位。并不存在绝对安全的算法,安全都是相对的。
有人说“所有的散列函数都存在产生碰撞的问题,很不安全",你认为正确与否,为什么?散列函数是可以通过设计散列值的安全长度来做到强无碰撞特性的。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值