zoukankan      html  css  js  c++  java
  • https数据传输对称、非对称、数字证书详解

    ①对称加密(一把密钥):
        1、A和B事先传输一把密钥,A给B发消息用密钥加密,B给A发消息用密钥解密
        问题:密钥被黑客截取,得到实际内容
    ②非对称加密(两把密钥):
        1、A和B都有一把私钥和一把公钥    2、一把钥匙的公开的(全世界都知道也没关系),称之为公钥;而另一把钥匙是保密(也就是只有自己才知道),称之为私钥。并且,用公钥加密的数据,只有对应的私钥才能解密;用私钥加密的数据,只有对应的公钥才能解密。
        3、A给B发消息时,用B的公钥加密,B收到消息后,用自己的私钥进行解密    问题:B在给A发送公钥的时候,被黑客截取,黑客给A发送自己的公钥而不是B的,那么A给B发消息时,黑客可以用自己的私钥解密,得到实际内容,再用B的公钥加密发送给B。
    ③数字证书:
        问题②的问题在于,A收到B的公钥,无法确定收到的公钥是B还是黑客的
        所以,需要找到一种策略确定公钥是B的:即数字证书
        1、找到一个公正的机构(CA)
        2、B的公钥和B的个人信息-->通过hash算法生成消息摘要-->通过CA的私钥加密生成数字签名
        3、将数字签名、B的公钥、B的个人信息合并一起,形成数字证书
        验证:
        1、用CA的公钥解析数字签名得消息摘要
        2、B的公钥和B的个人信息-->通过hash算法生成消息摘要
        3、两个消息摘要对比,如果一样,则说明公钥是B的

  • 相关阅读:
    HDOJ2066 一个人的旅行 floyd
    手动添加数据源时DataGridViewComboBoxCell值出问题解决方法
    可伸缩的Form窗体!
    SharpMap项目Web控件学习!
    MVC和MVP的初步理解
    ArcEngine编辑功能(五)
    胡言乱语:实体具有继承关系的空间数据库设计方法?
    WinForm单例窗体的实现
    4. 模板模式和建造者模式
    Oracle笔记(0):在Win2008系统上安装Oracle11g实践
  • 原文地址:https://www.cnblogs.com/zhuziyu/p/9395775.html
Copyright © 2011-2022 走看看