非对称加密回顾
2013-12-27 18:50
197 查看
隔了很久,又搞混淆非对称加密的过程了,今天回顾了一下,记录下来。
1.首先客户端和服务器采用同一套加密,解密算法。 如RSA。。等
2.客户端和服务器分别持有一个密钥对。 一个密钥对里包含两个密钥:公钥和私钥。 (一个密钥对里使用一个密钥加密的,只能使用你一个密钥解密。 如:客户端的密钥对里,用客户端产生的公钥加的密只能使用客户端产生的私钥解密,用客户端产生的私钥加的密只能用客户端的公钥解密。 服务器同理。 其中公钥加密常用于保证信息不被篡改,读取。 私钥加密常用于认证身份)。
3.传输过程:
a.客户端用自己的密钥加密数据,确保是自己身份。
b.客户端向服务器请求到服务器的公钥,用该公钥和加密算法加密a步骤已经得到加密的数据,相当于第二层加密。
c.服务器接收到数据,用自己的密钥进行b中第二层数据的解密。(由于第二层是服务器的公钥加密的,只有服务器的私钥才能解开,传输过程中取保是没有被修改过的)。
d.服务器向客户端询问客户端私钥,用该私钥解密第一层加密数据。(保证该数据是客户端发出的,不是别的程序用服务器公钥加密的伪造数据).
至此,整个数据加密,解密过程就完成了。
1.首先客户端和服务器采用同一套加密,解密算法。 如RSA。。等
2.客户端和服务器分别持有一个密钥对。 一个密钥对里包含两个密钥:公钥和私钥。 (一个密钥对里使用一个密钥加密的,只能使用你一个密钥解密。 如:客户端的密钥对里,用客户端产生的公钥加的密只能使用客户端产生的私钥解密,用客户端产生的私钥加的密只能用客户端的公钥解密。 服务器同理。 其中公钥加密常用于保证信息不被篡改,读取。 私钥加密常用于认证身份)。
3.传输过程:
a.客户端用自己的密钥加密数据,确保是自己身份。
b.客户端向服务器请求到服务器的公钥,用该公钥和加密算法加密a步骤已经得到加密的数据,相当于第二层加密。
c.服务器接收到数据,用自己的密钥进行b中第二层数据的解密。(由于第二层是服务器的公钥加密的,只有服务器的私钥才能解开,传输过程中取保是没有被修改过的)。
d.服务器向客户端询问客户端私钥,用该私钥解密第一层加密数据。(保证该数据是客户端发出的,不是别的程序用服务器公钥加密的伪造数据).
至此,整个数据加密,解密过程就完成了。
相关文章推荐
- linux的几个发行网站
- JNI中doc命令示例
- hdu1850 Being a Good Boy in Spring Festival 博弈 nim-sum定理
- 2013年11月25日星期一(DEMO5-3计算参数化直线和平面交点)
- Chapter 18 The Mathematical Library
- tpl文件,php的模板文件?同html格式相同。不过有$var变量使用。
- 深入浅出Java并发包—锁(Lock)VS同步(synchronized)
- extmail Can't chdir to /var/exmail/xxx.com/mail1/Maildir/, No such file or directory
- git am patch 失败的处理方法
- jquery集合遍历
- AIX HACMP配置总结
- 测试 QT 不同线程间signal-slot机制的值传递
- CS面试准备
- $ProxyXX cannot be cast to 类型
- 鱼缸的启示:Scale-out和Scale-up架构
- 更改navigationController push和pop界面切换动画
- 两个android程序间的相互调用(apk互调)
- JNI中使用cl命令生成DLL文件
- IOS开发常用数学函数
- SQL无法连接到 (local)。在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连