A. 对称加密、非对称加密、RSA(总结)
指的就是加、解密使用的同是一串密钥,所以被称做对称加密。对称加密只有一个密钥作为私钥。 常见的对称加密算法:DES,AES等。
指的是加、解密使用不同的密钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。反之,私钥加密的信息,只有公钥才能解密。 举个例子,你向某公司服务器请求公钥,服务器将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人才能对你的消息解密。与对称加密不同的是,公司服务器不需要将私钥通过网络发送出去,因此安全性大大提高。最常用的非对称加密算法:
对称加密相比非对称加密算法来说,加解密的效率要高得多、加密速度快。但是缺陷在于对于密钥的管理和分发上比较困难,不是非常安全,密钥管理负担很重。
安全性更高,公钥是公开的,密钥是自己保存的,不需要将私钥给别人。缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密。
安全肯定是非对称加密安全,但是效率比较慢,对称加密效率高,但是不安全。严谨一点的做法是混合起来使用,将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。实际工作中直接使用非对称加、解密其实也可以,因为我们平时一般请求的报文不会很大,加解密起来速度在可接受范围内,或者可以对敏感字段,比如密码、手机号、身份证号等进行分段加密,效率还可以。
B. 对称加密算法和非对称加密算法
常见的对称加密算法包括瑞士的国际数据加密算法(International Data Encryption
Algorithm,IDEA)和美国的数据加密标准(Date Encryption Standard,DES)。
DES是一种迭代的分组密码,明文和密文都是64位,使用一个56位的密钥以及附加的8位奇偶校验位。攻击DES的主要技术是穷举法,由于DES的密钥长度较短,为了提高安全性,就出现了使用112位密钥对数据进行三次加密的算法(3DES),即用两个56位的密钥K1和K2,发送方用K1加密,K2解密,再使用K1加密;接收方则使用K1解密,K2加密,再使用K1解密,其效果相当于将密钥长度加倍。
IDEA是在DES的基础上发展起来的,类似于3DES。IDEA的明文和密文都是64位,密钥长度为128位。
非对称加密算法也称为公钥加密算法,是指加密密钥和解密密钥完全不同,其中一个为公钥,另一个为私钥,并且不可能从任何一个推导出另一个。它的优点在于可以适应开放性的使用环境,可以实现数字签名与验证。
最常见的非对称加密算法是RSA,该算法的名字以发明者的名字命名:Ron Rivest,AdiShamir 和Leonard Adleman。RSA算法的密钥长度为512位。RSA算法的保密性取决于数学上将一个大数分解为两个素数的问题的难度,根据已有的数学方法,其计算量极大,破解很难。但是加密/解密时要进行大指数模运算,因此加密/解密速度很慢,主要用在数字签名中。
用公钥进行加密,用私钥进行解密
C. 2019-06-10 对称加密 和非对称加密
一、对称加密
AES加密
AES加密是一种高级加密标准,是一种区块加密标准。它是一个对称密码,就是说加密和解密用相同的密钥。WPA/WPA2经常用的加密方式就是AES加密算法。
二、非对称加密
RSA加密算法是一种非对称加密算法,非对称加密算法需要两个密钥:公共密钥和私有密钥。公钥和私钥是配对的,用公钥加密的数据只有配对的私钥才能解密。
RSA对加密数据的长度有限制,一般为密钥的长度值-11,要加密较长的数据,可以采用数据截取的方法,分段加密。
使用场景:
文件或数据在本地使用公钥或私钥加密,加密后的数据传送到服务器,服务器使用同一套密钥中的私钥或者公钥进行解密。
一、Https是什么?
1.HTTPS概念
HTTPS并不是一个单独的协议,而是对工作在一加密连接(SSL/TLS)上的常规HTTP协议。通过在TCP和HTTP之间加入TLS来加密。
2.SSL/TLS协议
SSL协议,是一种安全传输的协议,TLS是SSL v3.0的升级版。
4.HTTPS传输速度
1)通信慢
2)SSL必须进行加密处理,比HTTP消耗更多资源
二、TLS/SSL握手
1.密码学原理
1)对称加密
加密数据用的秘钥和解密数据用的密钥是一样的。
2)不对称加密
私有密钥:一方保管
共有密钥:双方公有
RSA算法。
2.数字证书
1)就是互联网通讯中标志通讯各方身份信息的一串数字,也是一个文件。
2)为什么有数字证书?
3)数字证书的颁发过程?
3.SSL与TLS握手的过程?
使用非对称加密,随机数不能被随便破解
Https双向认证的流程:
a. 客户端向服务端发送SSL版本等信息
b. 服务端给客户端返回SSL版本,同时也返回服务器端的证书
c. 客户端使用服务的返回的信息验证服务器的合法性,
a) 包括:证书是否过期,发型服务器证书的CA是否可靠,返回的公钥能正确解开返回证书中的数字签名,服务器证书上帝域名是否和服务器的实际域名想匹配
b) 验证通过后,将进行通信,否则终止通信
d. 客户端将自己的证书和公钥发送给服务端
e. 验证客户端的证书,通过验证后,会获得客户端的公钥
f. 客户端向服务端发送自己可以支持的对称加密方案给服务端,让服务端进行选择
g. 服务端在客户端提供的加密方案中选择加密程度高的加密方式
h. 将加密方案通过使用之前获取到的公钥进行加密,返回给客户端
i. 客户端收到服务端返回的加密方案后,使用自己的私钥进行解密,获取具体的加密方式,最后,产生加密方式的随机码,用作过程中的密钥,使用之前从客户端证书中获取到的公钥进行加密后,发送嘿服务端
j. 服务端收到客户端发来的消息后,使用私钥对加密信息进行加密,获得对称加密的密钥
k. 对称加密,确保通信安全
总结:https实际上就是在TCP层与http层之间加入了SSL/TLS来为上层的安全保驾护航,主要用到了对称加密,非对称加密,证书等技术进行客户端与服务器的数据加密传输,最终达到保证整个通信的安全性。
D. 对称加密和非对称加密的区别如何理解二者之间的密码算法
对称加密和非对称加密,最重要的的区别就是加密算法的不同:对称加密算法在加密和解密时使用的是同一个秘钥,而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(简称公钥)和私有密钥(简称私钥)。
综上所述,对称加密和非对称加密,区别关键是加密密钥的不同。
E. 对称加密与非对称加密的技术有什么区别
对称加密与非对称加密
对称加密,或专用密钥(也称做常规加密)由通信双方共享一个秘密密钥。
发送方在进行数学运算时使用密钥将明文加密成密文。接受方使用相同的密
钥将密文还原成明文。RSA
RC4算法,数据加密标准(DES),国际数据加密
算法(IDEA)以及Skipjack加密技术都属于对称加密方式。
非对称加密,当发送信息时,
发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,
这样,信息就可以安全无误地到达目的地了,即使被第三方截获,由于没有相应的私钥,
也无法进行解密。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。
公用密钥加密技术允许对信息进行数字签名。数字签名使用发送发送一方的
专用密钥对所发送信息的某一部分进行加密。接受方收到该信息后,使用发
送方的公用密钥解密数字签名,验证发送方身份。在对称加密(或叫单密钥
加密)中,只有一个密钥用来加密和解密信息。尽管单密钥加密是一个简单
的过程,但是双方都必须完全的相信对方,并都持有这个密钥的备份。但要
达到这种信任的级别并不是想象中的那么简单。当双方试图建立信任关系时
可能一个安全破坏已经发生了。首先密钥的传输就是一个重要问题,如果它
被截取,那么这个密钥以及相关的重要信息就没有什么安全可言了。非对称
加密在加密的过程中使用一对密钥,而不像对称加密只使用一个单独的密钥
。一对密钥中一个用于加密,另一个用来解密。重要的概念是在这对密钥中一个密钥用来公用
,另一个作为私有的密钥;用来向外公布的叫做公钥,另一半需要安全保护
的是私钥。非对称加密的一个缺点就是加密的速度非常慢,因为需要强烈的
数学运算程序。如果一个用户需要使用非对称加密,那么即使比较少量的信
息可以也要花上几个小时的时间。
非对称加密的另一个名称叫公钥加密
。尽管私钥和公钥都有与数学相关的,但从公钥中确定私钥的值是非常困难
的并且也是非常耗时的。在互联网上通信,非对称加密的密钥管理是容易的
因为公钥可以任易的传播,私钥必须在用户手中小心保护。
F. 科普知识—对称加密和非对称加密
区块链技术中广泛应用到非对称加密技术,非对称加密技术保证了信息在传输过程中的安全性,非对称加密技术是在对称加密技术上发展来的。本文主要阐述对称加密技术和非对称加密技术的概念和特点,并举例说明。
对称加密就是用相同的密钥对原文进行加密和解密,通信双方共用一个密钥。
基于对称加密算法传输信息“ABC”的步骤。
(1)发送方通过密钥对原文"ABC"进行加密,得到密文"abc",并发送给接收方。密钥为将字母转换为对应的小写字母,大写A转换为小写a,“BC”同理转换为“bc”。
(2)发送方将密钥发送给接收方。
(3)接收方通过密钥对密文进行解密,反推出原文“ABC”。
对称加密算法的缺点:无法确保密钥被安全传递。
密钥就是传说中的“密码本”。密文在传输过程中是可能被第三方截获的,关键就落在“密码本”上,如果密码本也被第三方截获,则传输的密码信息将被第三方破获,所以经常看到电影、电视剧的情节中通过各种手段保护密码本的安全送达。
非对称加密技术很好的解决了对称加密技术密钥无法安全传递的问题。
非对称加密有两个密钥,即公钥(Public Key)和私钥(Private Key),对数据进行加密和解密使用不同的密钥。使用公钥进行加密,使用私钥进行解密。
非对称加密算法中私钥就是一个随机数,基于不同的算法生成不同的随机数,如:SHA256算法生成的是256位的随机数,通常是调用操作系统的随机数生成器来生成私钥,私钥通过一定的加密算法推导出公钥,私钥到公钥的推导过程是单向的,也就是说公钥无法反推导出私钥。
基于非对称加密算法传输信息“hello world”的步骤。
(1)发送方使用接收方的公钥对待发送信息“hello world”加密,此处需注意:信息发送给谁,使用谁的公钥进行加密,公钥是可以公开的,类似于银行卡账户。
(2)发送方将加密后的密文通过网络发送给接收方。
(3)接收方接收到密文后,使用自己的私钥对密文进行解密,从而获得传输信息“hello world”。
采用非对称加密算法即使第三方在网络上截获到密文,但其无法获得接收方的私钥,也就无法对密文进行解密,作为接收方务必保证自己私钥的安全,所以非对称加密技术解决了密钥传输过程的安全性问题。
本文主要阐述对称加密技术和非对称加密技术的概念和特点,并举例说明。对称加密是通信双方共用密钥,无法保证密钥的安全传递;非对称加密使用接收方的公钥对数据加密,接收方使用自己的私钥解密,即使信息被第三方截获,由于没有接收方的私钥,也无法破解密文。