困死了,这里对非对称加密体系开个头,具体的实验明天写

非对称加密体系

为了解决对称加密中密钥的传输的问题,一些天才的数学家就提出了非对称式的加密体系,也称为公钥加密体系。

加密和解密的密钥是不同的。一把称为公钥,一把称为私钥。

比如,甲、乙、丙三个人要给丁发送信息,但是他们都不想让另外的两个人知道信息的内容。

首先丁要散布自己的公钥给甲、乙、丙,让地球人都知道他的公钥,若甲要给丁发送信息,那么甲就用丁的公钥加密数据,由于在这种加密体系中公钥只能加密,私钥只能解密,所以乙丙等任何人都不能解密,只有拥有私钥的丁能解密。这样就实现了不涉及密钥传输的安全传输。

非对称加密相关实验

(1)产生钥匙对

非对称加密涉及两把密钥,一把公钥,一把私钥。在进行数据传输之前,数据接收方首先要产生这个钥匙对。一般都是用RSA算法,并且这时的钥匙不再像对称加密时的一句口令那么简单了。而是一个很多字节的文件。

上面指令先产生私钥,这个私钥1024个bit。然后根据私钥再产生对应的公钥,这样一对钥匙就产生了。

然后数据接收方就把自己的公钥到处宣告,让地球人都知道,这样谁想给他发信息就可以用公钥加密,然后把密文传给他,他就能用私钥解密。

但是接收方的私钥不能让任何人只要,也就是说这个私钥文件不能落入别人之手,否则就会泄密。当然完全可以用前面讲的对称加密给他设一层口令,只有能回答口令的人才能使用私钥解密,这样即使私钥被其它人偷走了也没关系。(这个口令不传输,自己在脑子里记住就ok了,就像银行卡密码)

上面的公钥是直接根据私钥文件输出到屏幕上的,可以重定向的一个文件中:在后面加 > filename

(2)数据发送方用散布的公钥加密

这里的inkey后面的file就是公钥文件。

(3)数据接收方用自己的私钥解密密文

这里的inkey后面的file指的是私钥文件。

但是私钥的加密的速度很慢,比传统加密体系的速度慢三个数量级,所以只能加密少量的数据。如果你想给远在他乡的朋友传送1G的岛国电影种子,传统加密涉及到密钥的传输,不安全(别说打电话告诉他密钥,你就那么相信中国移动等运营商,不怕他盗取你的种子,哈哈~~);非对称式加密速度慢点很。为了解决这个问题,我们综合对称加密和非对称加密,这个在下节讲解。

加密传输SSL协议3_非对称加密的更多相关文章

  1. 加密传输SSL协议2_传统加密

    原本到了睡觉的时间,但是做完了SSL的笔记还有GCC和Oracle等的好多的笔记,所以刻苦一点. The Priciple of Encryption/Decryption --conventiona ...

  2. 加密传输SSL协议5_Hash Function

    怎么对一个大的文件进行签名,因为文件比较大,非对称签名很慢.那么想,我能把这个大的文件通过一种函数变换,变成一个和源文件唯一对应的的小的文件吗?答案是可以的. Hash Function 这里任何的文 ...

  3. 加密传输SSL协议6_验证公钥

    如上图所示,我怎么能确定我手里的公钥就是我心中的接收方的公钥呢?怎么防止被钓鱼呢? 解决的办法就是引入一个第三方,一个权威机构,一个我们都相信的机构. 验证公钥,Digital Certificate ...

  4. 加密传输SSL协议7_SSL协议概述

    SSL(Secure Sockets Layer) SSL的功能,可以在通信的双方中建立一个加密的通信通道 同时还可以确认通信的双方是不是就是其声称的人,防止被钓鱼. SSL在网络协议栈中的位置:可以 ...

  5. 加密传输SSL协议4_综合方案

    隔了那么多天终于有时间继续把这个专题做完了,这次一定连续写完这方面的笔记. 上篇博文说明了非对称加密和对称加密各自的优缺点,那么就很自然的衍生出了一种综合的方案. 两种方案的结合--扬长避短 首先发送 ...

  6. 加密传输SSL协议8_Apache服务器的安装

    学习了那么多的理论的知识,下面通过在Apache服务器中安装和使用SSL协议,实现安全传输,但是首先要安装好Apache服务器. Apache服务器的安装 Linux下所有的软件的原码的安装都是三部曲 ...

  7. 加密传输SSL协议1_OpenSSL的安装

    终于在自己不断的奋斗之后,来到科大的一波考试过去了,但是为了不使自己过于放松,回顾一下之前的东西,做一下笔记.所以新开一个专题笔记: Using Apache with SSL 引入:首先我们在平时的 ...

  8. ssl原理,非对称加密握手,对称加密传输

    SSL的基本思想是用非对称加密来建立链接(握手阶段),用对称加密来传输数据(传输阶段).这样既保证了密钥分发的安全,也保证了通信的效率. SSL握手,单方服务器认证(一般的浏览器上网) SSL握手,双 ...

  9. 学习笔记: MD5/DES/RSA三类加密,SSL协议解析

    1. 不对称可逆加密的 的2种用法 (1)保证信息不被篡改 (2) 保证信息只能被我看到 2. CA证书的基本原理 流程如下:  百度公司 向CA机构报备 持有者姓名, 有效期, 要发布的公钥 , 扩 ...

随机推荐

  1. 最简单也最难——怎样获取到Android控件的高度

    问题 怎样获取一个控件的长和高.相信非常多朋友第一眼看见这个问题都会认为非常easy,直接在onCreate里面调用getWidth.getMeasuredWidth不就能够获得了吗,可是.事实上是并 ...

  2. asp.net文件操作类

    /** 文件操作类 **/ #region 引用命名空间 using System; using System.Collections.Generic; using System.Text; usin ...

  3. SQL Server 2012 Enterprise Edition安装过程详解(包含每一步设置的含义)

    一.启动安装程序,点击“安装”选项卡,选择“全新SQL Server独立安装或向现有安装添加功能”.(首次安装数据库系统或向现有数据库系统添加功能,均选择此选项) 二.随后,安装程序进行“安装程序支持 ...

  4. iOS 类管理

    CocoaPods安装和使用教程 Code4App 原创文章.转载请注明出处:http://code4app.com/article/cocoapods-install-usage 目录 CocoaP ...

  5. c#中的数据类型简介(数组)

    c#中的数据类型简介(数组) 数组定义 可以将数组看成相同数据类型的一组或多组数据,包括一维数组,多维数组和交错数组. 数值数组元素的默认值设置为零,而引用元素的默认值设置为 null. 交错数组是指 ...

  6. 用OpenCV实现Otsu算法

    算法的介绍 otsu法(最大类间方差法,有时也称之为大津算法)使用的是聚类的思想,把图像的灰度数按灰度级分成2个部分,使得两个部分之间的灰度值差异最大,每个部分之间的灰度差异最小,通过方差的计算来寻找 ...

  7. Android 分享微信好友 朋友圈

    第三方应用,可以调用微信分享,把链接,文字,各种media,分享到微信好友或者微信朋友圈,步骤: package com.edaixi.utils; import android.content.Co ...

  8. WCF 启用multipleSiteBindingsEnabled 情况下报终结点地址错误

    报错信息如下: Server Error in '/MyWcfService' Application. When 'system.serviceModel/serviceHostingEnviron ...

  9. 【Chromium中文文档】线程

    线程 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//General_Architecture/Threading. ...

  10. 使用正则表达式限制TextBox输入

    /// <summary> /// 使用正则表达式限制输入 /// </summary> public class TextBoxRegex : TextBox { // 正则 ...