公钥与私钥 数字签名
2016-03-03 00:00
253 查看
摘要: 1.公钥与私钥
2.RSA算法
3..数字签名与数字证书
4.对称加密与非对称加密
公钥加密 私钥解密
私钥数字签名,公钥验证
一个公钥对于一个私钥
密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥
如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密
如果用其中一个密钥可以解密数据,则该数据必然是对应的那个密钥进行的加密
举个例子
比如有两个用户A和B, A想把一段明文通过双钥加密的技术发送给B, B有一对公钥和私钥,那么加密的过程如下:
B将他的公钥传送给A
A用B的公钥加密她的信息,然后传送给B
B用他的私钥解密A的信息
上面的过程用下图可以表示为:
这也就是网络的三次握手协议
数字证书是由权威机构--CA证书授权(Certificate Authority)中心发行的,能提供在Internet上进行身份验证的一种权威性电子文档,人们可以在互联网交往中用它来证明自己的身份和识别对方的身份
做个简单的比喻:
数字签名- 好比现实中你的签字
数字证书- 好比现实中你的身份证
常见的加密算法有: DES AES
非对称加密算法需要两个密钥:公开密钥和私有密钥
公开密钥和私有密钥是一对, 如果用公开密钥对数据进行加密,只有对应的私有密钥才能解密、
常见的非对称算法有: RSA DSA(数字签名)
2.RSA算法
3..数字签名与数字证书
4.对称加密与非对称加密
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(数字签名)
相关文章推荐
- PHP MySQL应用中使用XOR运算加密算法分享
- Javascript实现的SHA-256加密算法完整实例
- php加密算法之实现可逆加密算法和解密分享
- JavaScript SHA512&SHA256加密算法详解
- php对称加密算法示例
- PHP中对各种加密算法、Hash算法的速度测试对比代码
- java不可逆加密算法之md5加密算法使用示例
- 分享Java常用几种加密算法(四种)
- python使用rsa加密算法模块模拟新浪微博登录
- Web前端慢加密
- 数字证书
- IBM的MARS加密算法实现
- sms4的简单实现(C语言版)
- android 加密
- C++使用AES+Base64算法对文本进行加密
- BASE64、MD5、SHA、HMAC几种加密算法
- Java Base64、AES、SHA1、MD5加密算法
- 我写的一个加密算法(未验证-后续)
- 单向加密算法
- 812加密算法——欢迎大家指正