应用密码学期末总复习

1 信息安全的基本概念:
主动攻击和被动攻击的行为和预防措施,

主动攻击:主动攻击是指攻击者对连接中通过的pdu进行各种处理,这些攻击使得某些数据流被篡改甚至产生一个虚假的数据流。其目的就是试图改变系统资源或者影响系统的正常工作。

主动攻击防范措施:可使用加密技术和鉴别技术相结合加以检测和发现,并从主动攻击引起的任何破坏或时延中予以恢复。同时这种检测也具有一定的威慑作用。

被动攻击:攻击者只是观察通过一个连接的协议数据单元pdu,以便了解与交换相关的信息,并不修改数据或危害系统,但对通信双方会造成信息泄 露的危害。其目的是获取传输中的信息,被动攻击只威胁数据的机密性。

被动攻击防范措施:对付被动攻击的重点是防止,可以采用各种数据加密技术来阻止被动攻击。

对信息安全起决定性影响的要素有哪些。
1.网络自身的安全缺陷,即网络协议或者业务不安全。
2.网络的开放性:如:业务基于公开的协议;远程访问使得各种攻击无需到现场就能得手。
3.人的因素:3.1.人的无意失误。3.2.黑客攻击。3.3.管理不善。

密码学包含密码编码学和密码分析学,密码编码的主要方法有置换,替代和代数,

密码分析的方法:惟密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,分别代表不同的攻击难度。

唯密文攻击:唯密文攻击是假定密码分析者拥有密码算法及明文统计特性,并截获一个或多个用同一密钥加密的密文,通过对这些密文进行分析求出明文或密钥。 在实施唯密文攻击时,只有充分掌握和利用明文信息如文字、图像、语音、计算机程序等的内在规律,才有可能根据截获的密文成功破译密码。唯密文攻击已知条件最少。经不起唯密文攻击的密码被认为是 不安全的。你可以理解为:已知密文的穷举攻击,也仅知道密文

已知明文攻击:已知明文攻击指攻击者掌握了某段明文x和对应密文y。 希尔密码依赖唯密文攻击较难破解,而通过已知明文攻击则容易攻破。你可以理解为:已知部分明文及其对应的密文,进行分析破解

选择明文攻击:选择明文攻击指的是一种攻击模式。攻击者拥有加密机的访问权限,可构造任意明文所对应的密文。在选择明文攻击时,密码分析者对明文有选择或控制的能力,可选择他认为有利于攻击的任何明文及其对应的密文,是一种比已知明文攻击更强的攻击方式。如果一个密码系统能够抵抗选择明文攻击,那么必然能够抵抗唯密文攻击和已知明文攻击。你可以理解为:知道明文就知道密文

选择密文攻击:攻击者掌握对解密机的访问权限,可以选择密文进行解密。密码分析者对密文有选择或控制的能力,可选择他认为有利于攻击的任何密文及其对应的明文,是一种比已知明文攻击更强的攻击方式。如果一个密码系统能够抵抗选择密文攻击,那么必然能够抵抗唯密文攻击和已知明文攻击。选择密文攻击主要用于分析公钥密码体制,如针对RSA公钥密码体制的选择密文攻击。你可以理解为:知道密文就会知道明文

信息安全五个目标,每种安全目标的含义和所要使用的密码学方法。
   保密性、完整性、可用性、可控性、真实性、不可抵赖性

机密性,完整性,可控性,可用性,不可否认性。
机密性:
机密性是信息不泄露给非授权的用户,实体或过程,或供其利用的特性,是信息安全最基本的需求。
密码学方法:加密和路由控制。
完整性:
完整性是指数据未经授权不能进行改变的特性,即信息在存储或传输过程中不被修改、不被插入或删除的特性。
密码学方法:加密数字签名和数据完整性。
可控性:
可控性是指对信息和信息系统实施安全监控管理,防止非法利用信息或信息系统。
密码学方法:访问控制。
可用性:
可用性是可被授权实体访问并按需求使用的特性。
密码学方法:访问控制和路由控制。
不可否认性:
是防止发送方或接收方抵赖所传输的消息,要求无论是发送方还是接收方都不能抵赖所进行的传输。

2 对称密码学:
NIST标准DES算法和AES算法的密钥大小,分组大小和各种工作模式;

NIST标准DES算法:
入口参数有三个,key,Data,Mode,其中key为DES工作密钥大小为七个字节,也就是56位,Data占八个字节,也就是64位,是要被加密的或解密的数据,Mode为工作方式,即加密或解密两种。
NIST标准AES算法:
AES算法的密钥长度最小为128位,也可以设定任意32位的倍数。其分组长度为128位,算法易于各种硬件和软件实现。
单向散列函数的基本性质:
1.散列值的长度不随着消息的长度改变而改变。
2.能够快速计算出散列值。
3.消息不同,其所对应的散列值也不同。

单向散列函数的基本性质有哪些以及生日攻击的原理。

生日攻击的原理:
就是利用散列函数发生碰撞的可能性,进行n次尝试,直到找到一对发生碰撞的输入。
生日悖论抽象成散列函数:
以教室里每个人作为散列函数的输入,每个人对应的生日作为函数的输出,那么就有H(x)=y;已经知道y有三百六十五种取值,因为一年有三百六十五天,发现只要当x>23时,y碰撞的几率就达到了百分之五十以上。

Hash函数分为带密钥的Hash函数(whirlpool)和不带密钥的Hash函数(MD,SHA)。可以使用带密钥的Hash函数实现认证功能。

3 数论的基本原理:
欧拉函数
对于正整数n,其欧拉函数就是小于他的正整数中与他互质的数的个数。

fermat定理
如果p是一个质数,而整数a不是p的倍数,则有a^(p-1)(mod p)=1(mod p)

欧拉定理
设任意a,m属于正整数,且a与m互质,则有a^H(m)(mod m)
=1(mod m),其中H(m)称为对模m缩系的元素个数。

欧几里得定理和扩展欧几里得定理计算乘法逆元的方法。常用的数学难题:,大整数分解难题, 离散对数难题,CDH问题和DDH问题等。

群的基本概念:
群是由一个非空集合G组成,在集合G中定义了一个二元运算符“·”,并满足封闭性,结合律,单位元,逆元,交换律。

4 公钥密码学
DH密钥交换

DH密钥交换流程:
1.Alice向Bob发送两个质数P和G,P必须非常大,而G的大小无要求。
2.Alice生成一个随机数A,其中A必须是1~P-2之间的整数,这个数字不需要告诉Bob,也不能让攻击者窃听。
3.Bob也随机生成一个数B,范围也在1~P-2之间的整数,这个数字也不需要告诉Alice,也不能让攻击者窃听。
4.Alice将G的A次幂mod P这个数发送给Bob。
5.Bob将G的B次幂mod P这个数发送给Alice。
6.Alice通过Bob发送的数计算A次幂mod P,这个数就是共享密钥。
7.同理,Bob通过Alice发送的这个数计算B次幂mod P,获得相同的密钥。

RSA算法
1.任意选取两个大素数p和q,要求n=pq,H(n)=(p-1)(q-1).
2.任取一个大整数e,使得gcd(e,H(n))=1,整数e用做加密密钥。
3.确定解密密钥d,使得(de)mod H(n)=1,即de=kH(n)+1,k>=1。
4.公开整数n和e,秘密保存d。
5.将明文加密成密文c。c=E(m)=m^e mod n.
6.将密文解密成明文m。m=D©=c^d mod n.

ELgamal算法的基本流程和操作。
首先选择一个素数p和两个随机数g、x(g、x<p),计算y mod p = g^x mod p,已知y,求解x是非常困难的事情(离散对数求解难题),则其公钥为y,g和p,私钥是x,g和p可由一组用户共享。

公钥密码体制和对称密码体制的优点和确定有哪些?
公钥密码体制:
安全强度高,密钥分配简单,数字签名容易实现。但加解密速度慢。
对称密码体制:
安全强度高且加解密速度快,但密钥管理和分配很难实现,不适用于在网络中单独使用。

5 数字签名算法的原理,什么是公钥PKI,它有什么作用?它的应用有哪些。
数字签名算法的原理:
数字签名算法是依靠公钥加密技术来实现的。在公钥加密技术里,每一个使用者有一对密钥。公钥可以自由发布,私钥则私密保存,此外就是要让通过公钥推出私钥的做法不可行。
公钥PKI:
它是一种遵循既定标准的密钥管理平台,利用公共密钥理论和技术建立设施提供服务。
作用:
为用户建立一个安全的网络环境,使用户在多种环境下都可以更容易地实现加密和数字签名技术。从而保证网上数据的机密性,完整性和有效性。
应用:
访问控制。

6 密钥层次管理的方法:主密钥,密钥加密密钥和会话密钥?什么是会话密钥?抵抗重放攻击的方法有哪些?CA的工作原理。
什么是会话密钥:
会话密钥是加密信息的临时方法。当用户打开通信会话时声称该特定的密钥,该密钥用于该期间的所有通信,通信结束后密钥会被丢弃。
抵抗重放攻击的方式有哪些:
1.加随机数。2.加时间戳。3.加流水号。
CA的工作原理:
服务器生成的公钥交给CA,CA用自己的私钥加密。客户端在解密服务器发送过来的信息后,无法确定是否是真实的消息,此时需要第 三方来帮忙验证,即CA。

7 协议相关。IPSEC,SSL/TLS, SET协议的目标和工作原理。
答案:信息加密所隐藏的是消息的内容,攻击者虽然知道其存在,但难以提取其中的信息;
而信息隐藏则是将需要保密的信息“乔装打扮”后藏匿在信息空间中的一个大且复杂的子集中,目的是使攻击者难以搜寻其所在,它所隐藏的是信息的存在形式。

问题:简述信息隐藏技术和加密技术的区别。

答案:信息加密所隐藏的是消息的内容,攻击者虽然知道其存在,但难以提取其中的信息;
而信息隐藏则是将需要保密的信息“乔装打扮”后藏匿在信息空间中的一个大且复杂的子集中,目的是使攻击者难以搜寻其所在,它所隐藏的是信息的存在形式。

问题:简述数字签名的过程和应用。

答案:1、发送报文
发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私人密钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方。
2、接收报文
接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再用发送方的公用密钥来对报文附加的数字签名进行解密。
1.网站认证使用数字签名
2.保证数据完整性
3.比特币

问题:什么是单点登录技术,目前实现单点登录的方式有哪些?

答案:SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。
以Cookie作为凭证媒介
通过JSONP实现
通过页面重定向的方式
使用独立登录系统

问题:什么是公钥基础设施PKI?它有什么作用?

答案:PKI是一种遵循既定标准的密钥管理平台,是利用公共密钥理论和技术建立基础设施提供安全服务 。作用:为用户建立起一个安全的网络运行环境,使用户可以在多种应用环境下方便地使用加密和数字签名技术,从而保证网上数据的机密性、完整性和有效性。

问题:什么是数字证书?它是如何生成的?

答案:数字证书,是由证书认证机构签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及一些扩展信息的数字文件。数字证书颁发过程如下:用户产生了自己的密钥对,并将公共密钥及部分个人身份信息(称作P10请求)传送给一家认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内附了用户和他的密钥等信息,同时还附有对认证中心公共密钥加以确认的数字证书

问题:对称密钥体制与公钥密码体制的各有什么特点?

答案:对称密钥体制的特点:加解密速度快且安全强度高但密钥难管理和传送,不适于在网络中单独使用;公钥密码体制的特点:保密强度高、密钥分配及管理简便、数字签名易实现。

问题:简述数字信封的加密和解密过程。

答案:数字信封的加密过程是:发送方使用对称密钥对内容进行加密,使用接收方的公钥对前面的对称密钥进行加密,将前面两者发送给接收方。
数字信封的解密过程是:接收方接收到加密的对称密钥和加密的内容后,使用自己的私钥解密对称密钥,然后使用对称密钥对内容进行解密。

问题:什么是重放攻击?重放攻击的类型有哪些?

答案:入侵者从网络上截取主机A发送给主机B的报文,并把由A加密的报文发送给B,使主机B误以为入侵者就是主机A,然后主机B向伪装成A的入侵者发送应当发送给A的报文。
第一种是直接重放,即重放给原来的验证端,直接重放的发送方和接收方均不变。
第二种是反向重放,将原本发给接收方的消息反向重放给发送方。
第三种是第三方重放,将消息重放给域内的其他验证端。

问题:请分别用对称密码体制和公钥密码体制实现消息认证,其中,采用公钥加密体制实现消息认证时,要同时满足机密性要求。

答案:发送方A和接收方B事先共享一个密钥k,A用密钥k对消息M加密后通过公开信道传送给B,B接收到密文消息后,通过是否能用密钥k将其恢复成合法明文来判断消息是否来自A,信息是否完整。
采用公钥密码体制进行消息认证,发送方A用自己的私钥进行加密运算(数字签名)之后,再用接收方B的公钥进行加密,从而实现机密性,这种方法能提供机密性、数字签名和鉴别。

问题:小强想出了一种数字签名的新方案,他用一个随机的对称密钥加密要签名的明文得到密文,再用自己的私钥加密该对称密钥(签名),然后把密文和加密后的对称密钥一起发送给接收方,接收方如果能解密得到明文,就表明验证签名成功。请问用该方案签名存在哪种缺陷? 如何实现带有保密性要求的数字签名?

答案:该方案存在的缺陷为签名无法和消息绑定在一起,对方可以用对称密钥加密另一个明文,声称是小强签名的。
发送方首先对消息用Hash函数求消息摘要(散列值),然后发送方用其私钥加密该散列值,这个被发送方私钥加密的散列值就是数字签名,将其附在文件后,然后将明文和数字签名的组合体用一个对称密钥k加密,再用接收方的公钥对k加密,最后将加密后的组合体一起发送给接收方就可以让其验证签名了。

问题:公钥密码体制的加密变换和解密变换应满足哪些条件?小明想出了一种公钥加密的新方案,他用自己的公钥加密信息,然后将自己的私钥传给接收方,供接收方解密用,请问这种方案存在什么缺陷吗?应该怎么调整?

答案:公钥密码体制的加密变换和解密变换应满足的条件:(1)对任意明文进行加密变换是很容易的,并且若知道解密密钥,那么对密文的解密也是很容易的;(2)信息的发送方对任意明文进行加密变换后,接收方进行解密变换就可以得到明文;(3)若不知道解密密钥,那么即使知道加密密钥,具体的加密与解密算法以及密文,确定明文在计算上也是不可行的。
私钥在传输途中可能被攻击者窃取。这相当于把公钥密码体制当做对称密码体制在用,因此无法解决密钥分配过程中被窃取的问题。
正确的应该是小明用自己的私钥加密信息,他的公钥是公开的,接收方接收到信息后,直接用他的公钥去解密信息。

问题:由于数字证书可以用来分发公钥,因此可以利用证书中的公钥及其对应的私钥进行加密和签名,请描述使用数字证书同时进行签名和加密的步骤。

答案: ①发送方准备好要传送给接收方的信息(明文);
② 发送方对该信息进行Hash运算,得到一个消息摘要;
③ 发送方用自己证书对应的私钥对消息摘要进行加密得到自身的数字签名,并将其附在信息后;
④ 发送方获取接收方的数字证书,并验证该证书有效后,用接收方证书中的公钥加密信息和签名的混合体;
⑤ 接收方收到加密的数据后,用自己证书对应的私钥解密密文,得到信息和数字签名的混合体;
⑥ 接收方获取发送方的数字证书,并验证该证书有效后,就用发送方证书中的公钥解密数字签名,得到一个消息摘要,再对明文信息求消息摘要 。

  • 8
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值