zoukankan      html  css  js  c++  java
  • 密钥对加密原理

    密钥对(私钥,公钥)
    A: private_keyA(私钥) ---> public_keyA=hashX(private_keyA)(通过某种不可逆算法生成公钥public_keyA)
    B: private_keyB(私钥) ---> public_keyB=hashX(private_keyB)(通过某种不可逆算法生成公钥public_keyB)

    网络传输加密:
    公钥用来加密,私钥用来解密

    A,B都有彼此的公钥

    A向B发送消息msgA:
    A --> msgA --> lock(public_keyB, msgA)(用B的公钥加密) --> msg*** --> transit --> msg*** --> unlock(private_keyB, msg***)(用B的私钥解密) -- > msgA --> B

    B向A发送消息msgB:
    B --> msgB --> lock(public_keyA, msgB)(用A的公钥加密) --> msg*** --> transit --> msg*** --> unlock(private_keyA, msg***)(用A的私钥解密) -- > msgB --> A


    个人签名认证(验证消息来源合法性):
    私钥用来加密,公钥用来解密

    A --> msgA --> lock(private_keyA, msgA)(用A的私钥加密) --> msg*** --> transit --> msg*** --> unlock(public_keyA, msg***)(用A的公钥解密) -- > msgA --> SomeBody(如解密成功,则能确认消息来源为A)

  • 相关阅读:
    响应式网页设计初探
    karma 启动提示PhantomJS not found on PATH
    Vuex 拾遗
    cStringIO 实现指定大小的字符串缓存
    javascript 计算文件MD5 浏览器 javascript读取文件内容
    springmvc值传递
    SpringMVC
    spring事务
    spring整合JDBC
    spring-test与junit
  • 原文地址:https://www.cnblogs.com/endenvor/p/9714870.html
Copyright © 2011-2022 走看看