zoukankan      html  css  js  c++  java
  • 加密传输SSL协议3_非对称加密

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

    非对称加密体系

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

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

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

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

    非对称加密相关实验

    (1)产生钥匙对

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

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

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

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

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

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

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

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

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

     

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

  • 相关阅读:
    向上造型
    Service与Activity通信
    adb报错:no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html]
    13-AB Test学习
    1-端到端机器学习项目
    12-数据分析框架
    2-电影推荐案例学习
    11-pyecharts使用Tab不完全代码示例
    22-基于Python构建GRPC服务
    akka练习
  • 原文地址:https://www.cnblogs.com/stemon/p/3442567.html
Copyright © 2011-2022 走看看