加密传输SSL协议3_非对称加密
困死了,这里对非对称加密体系开个头,具体的实验明天写
非对称加密体系
为了解决对称加密中密钥的传输的问题,一些天才的数学家就提出了非对称式的加密体系,也称为公钥加密体系。
加密和解密的密钥是不同的。一把称为公钥,一把称为私钥。

比如,甲、乙、丙三个人要给丁发送信息,但是他们都不想让另外的两个人知道信息的内容。
首先丁要散布自己的公钥给甲、乙、丙,让地球人都知道他的公钥,若甲要给丁发送信息,那么甲就用丁的公钥加密数据,由于在这种加密体系中公钥只能加密,私钥只能解密,所以乙丙等任何人都不能解密,只有拥有私钥的丁能解密。这样就实现了不涉及密钥传输的安全传输。
非对称加密相关实验
(1)产生钥匙对
非对称加密涉及两把密钥,一把公钥,一把私钥。在进行数据传输之前,数据接收方首先要产生这个钥匙对。一般都是用RSA算法,并且这时的钥匙不再像对称加密时的一句口令那么简单了。而是一个很多字节的文件。

上面指令先产生私钥,这个私钥1024个bit。然后根据私钥再产生对应的公钥,这样一对钥匙就产生了。
然后数据接收方就把自己的公钥到处宣告,让地球人都知道,这样谁想给他发信息就可以用公钥加密,然后把密文传给他,他就能用私钥解密。
但是接收方的私钥不能让任何人只要,也就是说这个私钥文件不能落入别人之手,否则就会泄密。当然完全可以用前面讲的对称加密给他设一层口令,只有能回答口令的人才能使用私钥解密,这样即使私钥被其它人偷走了也没关系。(这个口令不传输,自己在脑子里记住就ok了,就像银行卡密码)
上面的公钥是直接根据私钥文件输出到屏幕上的,可以重定向的一个文件中:在后面加 > filename
(2)数据发送方用散布的公钥加密

这里的inkey后面的file就是公钥文件。
(3)数据接收方用自己的私钥解密密文

这里的inkey后面的file指的是私钥文件。
但是私钥的加密的速度很慢,比传统加密体系的速度慢三个数量级,所以只能加密少量的数据。如果你想给远在他乡的朋友传送1G的岛国电影种子,传统加密涉及到密钥的传输,不安全(别说打电话告诉他密钥,你就那么相信中国移动等运营商,不怕他盗取你的种子,哈哈~~);非对称式加密速度慢点很。为了解决这个问题,我们综合对称加密和非对称加密,这个在下节讲解。
加密传输SSL协议3_非对称加密的更多相关文章
- 加密传输SSL协议2_传统加密
原本到了睡觉的时间,但是做完了SSL的笔记还有GCC和Oracle等的好多的笔记,所以刻苦一点. The Priciple of Encryption/Decryption --conventiona ...
- 加密传输SSL协议5_Hash Function
怎么对一个大的文件进行签名,因为文件比较大,非对称签名很慢.那么想,我能把这个大的文件通过一种函数变换,变成一个和源文件唯一对应的的小的文件吗?答案是可以的. Hash Function 这里任何的文 ...
- 加密传输SSL协议6_验证公钥
如上图所示,我怎么能确定我手里的公钥就是我心中的接收方的公钥呢?怎么防止被钓鱼呢? 解决的办法就是引入一个第三方,一个权威机构,一个我们都相信的机构. 验证公钥,Digital Certificate ...
- 加密传输SSL协议7_SSL协议概述
SSL(Secure Sockets Layer) SSL的功能,可以在通信的双方中建立一个加密的通信通道 同时还可以确认通信的双方是不是就是其声称的人,防止被钓鱼. SSL在网络协议栈中的位置:可以 ...
- 加密传输SSL协议4_综合方案
隔了那么多天终于有时间继续把这个专题做完了,这次一定连续写完这方面的笔记. 上篇博文说明了非对称加密和对称加密各自的优缺点,那么就很自然的衍生出了一种综合的方案. 两种方案的结合--扬长避短 首先发送 ...
- 加密传输SSL协议8_Apache服务器的安装
学习了那么多的理论的知识,下面通过在Apache服务器中安装和使用SSL协议,实现安全传输,但是首先要安装好Apache服务器. Apache服务器的安装 Linux下所有的软件的原码的安装都是三部曲 ...
- 加密传输SSL协议1_OpenSSL的安装
终于在自己不断的奋斗之后,来到科大的一波考试过去了,但是为了不使自己过于放松,回顾一下之前的东西,做一下笔记.所以新开一个专题笔记: Using Apache with SSL 引入:首先我们在平时的 ...
- ssl原理,非对称加密握手,对称加密传输
SSL的基本思想是用非对称加密来建立链接(握手阶段),用对称加密来传输数据(传输阶段).这样既保证了密钥分发的安全,也保证了通信的效率. SSL握手,单方服务器认证(一般的浏览器上网) SSL握手,双 ...
- 学习笔记: MD5/DES/RSA三类加密,SSL协议解析
1. 不对称可逆加密的 的2种用法 (1)保证信息不被篡改 (2) 保证信息只能被我看到 2. CA证书的基本原理 流程如下: 百度公司 向CA机构报备 持有者姓名, 有效期, 要发布的公钥 , 扩 ...
随机推荐
- URL传参中文乱码encodeURI、UrlDecode
传递参数 encodeURI("url.aspx?str"+"汉字")-----------(是 URi 不是URL) 后台接收参数 Server.Url ...
- c# 校验文本框的正则
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 #region ...
- 前端自动化学习笔记(一)——Yeoman,bower,Grunt的安装
最近看视频学习了前端自动化的一些知识,确实让我大开眼界.感觉前端越来越神器了.同时跟着视频自己也尝试运用了一些工具去构建前端项目,但是中间遇见了很多坑,磕磕绊绊的才实现了一点功能,所以打算记录一下学习 ...
- C#核编之字符串类型介绍与操作
一.关于字符串操作的方法 System.String类提供了很多工具方法,包括返回字符数据长度,查找当前字符串中的子字符串和转换大小写等方法. 在String类中常用的比较字符串的方法主要有Compa ...
- 导入已有的vmdk文件,发现网络无法连通
把以前的节点都删除了,重新载入镜像.发现每一个都ping不同,ifconfig发现eth0端口都没有打开.. 解决: 进入: vim /etc/sysconfig/network-scripts/if ...
- C++ strcpy实现
char * strcpy(char * strDest,const char * strSrc) { if ((NULL==strDest) || (NULL==strSrc)) throw &q ...
- python正则表达式基础篇
1.正则表达式基础 1.1简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大 ...
- 关于在页面上执行sql语句
在页面上执行sql语句,首先在页面上顶一个文本域,让用户输入需要执行的sql语句. html代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML ...
- JavaScript总结之鼠标划过弹出div单击出现对话框
为了满足他们的永无止境的要求,我可谓是任劳任怨啊,累断了双手,看瞎了双眼.这个是来写鼠标划过一个按钮,然后弹出一个小提示框解释,另外根据radio是否选中,判断点击后如何执行,然后执行之后再有一个确认 ...
- Android 关于操作UI线程
在非UI线程里访问 Android UI toolkit—这个在一个worker线程修改了 View .这会导致不可预期的结果,而且还难以调试. 为了修复这个问题,Android提供了几个方法从非UI ...