密码学基础知识1

本文介绍了对称密钥加密的局限性以及Diffie-Hellman密钥交换协议,用于在没有预先共享密钥的情况下进行安全通信。此外,还讨论了公钥加密技术,如RSA和ElGamal加密,以及混合加密的概念,以提高加密效率。
摘要由CSDN通过智能技术生成

2020-7-06
本周主要完成了Pollard的p-1方法Pollard的Rho方法对称密钥加密的局限性及解决方法Diffie-Hellman密钥交换协议公钥加密基础混合加密RSA加密ElGamal加密二次剩余二次非剩余的相关内容。
对称密钥加密在密钥分配、存储和保密问题以及在开放系统中的不适用性问题,无法真正做到安全的分配密钥。一个局部的解决方法是密钥分配中心,通信方都信任一个第三方,由第三方分发两方通信的会话密钥以及各个通信方的一个私钥。为了能够在没有隐蔽信道的情况下进行秘密通信,Diffie和Hellman提出了公钥加密方案。通信方事先没有交互,但是却希望进行安全的通信。
Diffie-Hellman密钥交换协议,它是一种建立密钥的方法。这个协议面对的攻击对象:被动类型的窃听敌手。只要窃听敌手无法区分kA,kB与长度为n的随机密钥,那么这个密钥交换协议是安全的。作者使用一个实验对这个协议进行了形式化的安全描述。然后提出了对应的构造方法,这个构造方法的安全性基于离散对数问题是困难的这一假设。Alice想要和Bob通信,Alice执行一个概率多项式时间算法获得(G,q,g),均匀随机的选择一个x,使得h1=gx,然后将(G,q,g,h1)发送给Bob,Bob均匀随机的选择一个y,使得h2=gy,然后将h2发送给Alice,并且得出kB=h1y,同理,Alice收到h2后得出kA=h2x。即便窃听敌手可以窃取到(G,q,g,h1,h2),也无法在多项式时间内得出x和y的值(基于离散对数问题是困难的这一假设)。但是Diffie-Hellman密钥交换协议并不能抵抗中间人攻击。
为了使通信方能够在没有事先共享任何秘密信息的情况下进行通信,出现了
公钥加密技术
。如果单单使用公钥加密技术,它比对称密钥加密技术要慢至少2~3个数量级。这个缺陷可以在混合使用这两种加密技术的情况下得到改善。
简单来说,公钥加密就是:发送方使用接收方公布的公钥加密消息,将得到的密文发送给接收方,接收方使用只有他自己知道的对应私钥进行解密,得到明文。面对公钥加密,也有三种敌手攻击类型:窃听攻击CPA攻击CCA攻击。针对窃听攻击,由于公钥是公开的,敌手可以获取到这个公钥,那么这个情况就跟对称密钥加密中的加密预言机的功能很相似,敌手可以自由的使用公钥获得指定明文的密文,所以如果一个公钥加密方案在窃听者存在情况下具有不可区分加密,那么该方案也是CPA安全的。
目前为止,假设敌手是被动的窃听敌手,它只能偷听到接收者和发送者的通信,但不主动干扰通信。首先假设发送发已经拥有一个接收方的合法公钥。
关于混合加密:就是使用公钥加密方案中的公钥pk加密一个密钥,得到c1,使用对称密钥加密方案中的密钥k加密明文得到c2,则密文为一个序列<c1,c2>。解密的时候先使用私钥sk对c1进行解密获得密钥k,然后用k解密c2获得明文。在效率方面,如果是加密非常长的消息,混合加密是比对称加密更好的。如果用a表示用公钥加密技术加密密钥k的代价,用b表示用对称密钥加密技术加密单明文的代价,那么使用混合加密技术加密t比特明文的单个比特的代价就是(a+b*t)/t=a/t+b,只要t足够大,这个结构就约等于b,也就是对称密钥加密技术加密明文所花费的代价。
关于RSA加密:目前这里的RSA加密是一个没有签名的RSA加密。对于“教科书式RSA”,只要明文m是均匀随机选取的,则没有一个PPT敌手,在给予公钥和密文的情况下可以完全恢复出明文m。这个保证比较的弱,因为m能够均匀随机选取的可能性比较小。实际应用中RSA经常与填充技术一起使用。RSA加密是确定的,给定一个密钥,特定明文会映射到特定的密文。填充技术如果比较弱,那么较小的明文和e是比较容易受到攻击的。OAEP是一种可以对抗选择密文攻击的加密方案,它要用到后面的随机预言模型。
ElGamal加密方案基于DDH问题的困难性。每次加密都需要一个随机数和一个明文,所以对于同一个明文,生成的密文是不同的。同时,由于密文由两部分组成,它生成的密文是明文的两倍。
Pollard的p-1方法只能应用在求整数N的一个素因子p,且p-1能被“小”因子整除的情况下,除此之外该方法无法正常应用。
Pollard的Rho方法效率高一些,基于“生日悖论”进行设计。就是说,将N的两个因子p和q从一大堆数里找出来的概率很小,但是如果挑选满足p-q等于某个常数的话,概率就会大很多。因此,如果挑选gcd(p-q,N),概率就会更加的大。但是这个算法很容易进入死循环,所以这里作者介绍的是采用Floyd的周期检测策略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值