• 非对称加密中公钥、私钥的理解


    个人理解:

    A想从B那里拿到消息,B想给A发送消息,这个过程需要加密,

    这个时候A提供一个空箱子和一把打开的锁给B,A有这个锁的钥匙

    B把消息放进箱子里,用A给的锁把箱子锁上,连同箱子和锁都给A

    这个过程: 锁就是公钥,钥匙就是私钥,箱子里装的就是报文

    公钥:所有人都可以得到的密钥。比如说:A的公钥,A、B、C都可以得到并使用。同理:B的公钥,A、B、C都可以得到并使用。C的公钥,A、B、C都可以得到并使用。
    私钥:只用自己才能用的密钥。比如说:A的私钥只有A自己才能得到并使用,B和C不可能得到,除非A自己泄露给B和C。同理:B的私钥只有B自己才能得到并使用,A和C不可能得到。C的私钥只有C自己才能得到并使用,A和B不可能得到

    A–>B
    A发送报文给B
    A需要用B的公钥加密报文,因为只有B才拥有自己的私钥,所以只有B才能用自己的私钥解密报文,查看报文内容。
    在A发送报文的同时,A要在报文末尾加上自己的数字签名以证明这篇报文是我A写的。因于数字签名只是用来查看到底是谁写的这封报文,所以不需要很高的保密性,所以A只需要用自己的私钥加密自己的数字签名,这样就具有不可抵赖性了(A就不能辩解这封报文不是他写的了)。而所有人包括B都可以用A的公钥来解密这封报文里面的数字签名,这样就能够明白这封报文是A写的。

    总的来说,公钥加密需要传送的报文,报文只想给特定的人看到,所以只有拥有对应的私钥的特定的那个人才能解密这个报文,
    所以只有对应私钥持有人才能看到报文的内容。
    而随报文一起传递的还有数字签名,数字签名是用来验证这封报文是谁写的,使其具有不可抵赖性,所以数字签名需要用发送报文人的私钥加密,而所有人都可以用他的公钥来解密这个数字签名,证明这封报文是这个人写的,这个人不能抵赖他没发过这篇报文。
    ————————————————
    版权声明:本文为CSDN博主「余殇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/yuzijm/article/details/99626739

  • 相关阅读:
    eth0 no such device(reload)
    wince驱动开发入门
    如何在Linux中添加新的系统调用
    嵌入式Linux启动优化手记2 U…
    关于uboot的一些优化
    Yaffs2根文件系统制作
    kernel下制作动态logo
    linux dev/dsp 声卡学习笔记
    【JDK8】Java8 优雅的异步调用API CompletableFuture
    每周总结:2019年12月第5周
  • 原文地址:https://www.cnblogs.com/lqmblog/p/14709543.html
Copyright © 2020-2023  润新知