1.公钥与私钥
公钥与私钥是成对出现的,它们相互解密
公钥加密 私钥解密
私钥数字签名,公钥验证
一个公钥对于一个私钥
密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥
如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密
如果用其中一个密钥可以解密数据,则该数据必然是对应的那个密钥进行的加密
举个例子
比如有两个用户A和B, A想把一段明文通过双钥加密的技术发送给B, B有一对公钥和私钥,那么加密的过程如下:
B将他的公钥传送给A
A用B的公钥加密她的信息,然后传送给B
B用他的私钥解密A的信息
上面的过程用下图可以表示为:
这也就是网络的三次握手协议
2.RSA算法(公钥加密算法)
RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥
3.数字签名与数字证书
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证
数字证书是由权威机构--CA证书授权(Certificate Authority)中心发行的,能提供在Internet上进行身份验证的一种权威性电子文档,人们可以在互联网交往中用它来证明自己的身份和识别对方的身份
做个简单的比喻:
数字签名- 好比现实中你的签字
数字证书- 好比现实中你的身份证
4.对称加密与非对称加密
对称加密采用了对称密码的编码技术,它的特点是文件加密与解密使用相同的密钥
常见的加密算法有: DES AES
非对称加密算法需要两个密钥:公开密钥和私有密钥
公开密钥和私有密钥是一对, 如果用公开密钥对数据进行加密,只有对应的私有密钥才能解密、
常见的非对称算法有: RSA DSA(数字签名)