加密传输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机构报备 持有者姓名, 有效期, 要发布的公钥 , 扩 ...
随机推荐
- 很好很实用的.net、网站系统后台模板
本模板是程序园给大家提供的应用系统开发后台模板,主要使用div+css布局实现,菜单使用了ddaccordion.js菜单控件. 转载请标明:http://www.kwstu.com/ArticleV ...
- Centos升级gcc4.4.7升级gcc4.8手记
本博客来自:http://www.mudbest.com/centos%E5%8D%87%E7%BA%A7gcc4-4-7%E5%8D%87%E7%BA%A7gcc4-8%E6%89%8B%E8%AE ...
- 关于oracle卸载没有卸载完全的问题
1.关闭oracle所有的服务.可以在windows的服务管理器中关闭: 2.打开注册表:regedit 打开路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlS ...
- iOS开发--系统通讯录的访问与添加联系人
公司项目有访问通讯录的需求,所以开始了探索之路.从开始的一无所知,到知识的渐渐清晰.这一切要感谢广大无私分享的 “coder”,注:我是尊称的语气! 苹果提供了访问系统通讯录的框架,以便开发者对系统通 ...
- Visual Studio快速封装字段方法
在面向对象的编程中我们常常要将各个字段封装为属性,但是当字段多的时候往往这个重复的操作会大大降低我们的开发效率,那么如何才能快速的封装字段呢?下面就给大家2个解决方法: 1.使用封装字段方法: 选中字 ...
- java总结
JUC概况 以下是Java JUC包的主体结构: ? Atomic : AtomicInteger ? Locks : Lock, Condition, ReadWriteLock ? Collect ...
- C++命名准则
总则:命名用英语,单词简单,明了.意义明确.过长的单词可以使用省略.一般是去掉元音字母形成省略.如果有通用的缩写,应该采用通用的缩写. 1.函数命名 1.1:全局函数:采用限定词+动词(+名词的原则) ...
- 克拉夫斯曼高端定制 刘霞---【YBC中国国际青年创业计划】
克拉夫斯曼高端定制 刘霞---[YBC中国国际青年创业计划] 克拉夫斯曼高端定制 刘霞
- GNU/Linux Distribution Timeline v12.10
GNU/Linux Distribution Timeline v12.10 原图下载 GNULinux Distribution Timeline 12.10.png GNU/Linux Distr ...
- 【Stackoverflow好问题】Java += 操作符实质
问题 直到今天,我都一直以为: i += j 等同于 i = i + j; 但如果有: int i = 5; long j = 8; 这时 i = i + j不能编译.但i += j却能够编译.这说明 ...