zoukankan      html  css  js  c++  java
  • 浅谈公钥私钥(理论)

      我一直觉得用专业性术语解释专业性知识是一件很严谨但是很难理解的事情,所以写此来理解公钥私钥

    基础理解:

      1. 公钥和私钥必定是成对出现的,即每个公钥有且只有一个私钥,而每一个私钥也有且只有一个公钥
      2. 公钥和私钥并不像平常的钥匙一样,只有解密的功能,它们都同时具有加密和解密的功能,只不过,公钥加密的东西,有且只有相对应的私钥可以解开,而私钥加密的东西,有且只有相对应的公钥可以解开
      3. 一般来说,一对相对应的公钥私钥,公钥会被很多人得到,而私钥一般是只有个人(公司、团体)保存着

    容我举个栗子:

      

       在古时候,有张三,李四两个人,他们是很好的朋友,后来张三打算出去经商,临行前,张三对李四说:“我这有一件宝物,你就叫他公钥,并把公钥的使用方法告诉了李四”。李四就收下了公钥


      多年后张三真的发迹了,就想起李四这个好朋友,张三就打算给李四送些好东西回去,但是呢,古时候无论是交通还是通信都是很不发达的,大部分人都害怕东西被人调包了,不过张三并不怕他的东西被人调包,为什么呢?因为他有私钥啊

      张三把打算给李四的东西,列了一个清单,并且用私钥把清单加了密,这样那清单上的字迹,就成了别人看不懂的东西,然后张三就把加密后的清单连同包裹一起交给镖局了


     第一次运镖:
      镖师看到那张纸上面都是鬼画符,以为是张三拿错了,就把清单给扔了,而且镖师也觉得反正李四不知道张三给的啥,就偷偷藏了些东西,结果李四收东西的时候没看到那张清单,就拒收了,镖师还以为李四知道自己偷偷藏东西了,没敢闹大,就原路返回了,张三一看到没那份清单,就知道怎么回事了
     第二次运镖:
      镖师发觉还是那么点东西,而且那张鬼画符还在,就明白了,可能那是一个信物,然后又偷偷藏了点东西,李四这次看到有清单了,就先把清单拿到屋子里,偷偷用公钥解密,记下来张三送来的东西都是啥,然后去清点包裹,发觉少了点啥,还是拒收,没办法,镖师理亏,就又走了
     第三次运镖:
      镖师没回去,总觉得很邪门,就把东西都拿出来,然后又去了李四家里,李四清点一番,感觉东西齐了,就收下了,并且也写了一封信,写完后用公钥加密了,就让镖师送回去,镖师一看,又是鬼画符,就知道了,一切都是这鬼画符再捣乱,不过没办法,毕竟送东西的,也要把收货人的信物给发货人,否则镖师空口无凭说送到就是送到那岂不是乱了套了?


      张三收到了李四的信,就回房间用私钥解密,知晓了事情经过,不过既然镖局把东西送到了,那也付了钱,至于以后算不算帐,那就是以后的事了

    后续及思考:

      

      虽然上面的那个例子里,李四也用公钥加密了信给张三,但是事实上,这种其实是很不安全的,比如镖师把李四的公钥偷走了,然后伪装李四写信并用公钥加密,这样张三就会被欺骗到,所以大部分情况,都是用私钥来加密,而公钥只是用来验证,对方发送过来的东西,是不是被别人修改了什么的。


      那如果私钥被人盗走了呢?我想这不是我们该思考的问题,而是各大网络公司思考的问题了,那为什么我说公钥会被盗走呢?因为,公钥之所以叫公钥,就是会给很多人的,比如你下载东西,你如果没有公钥你怎么验证你下载的东西有没有被黑客入侵呢?

      


      以上,便是我对公钥私钥的见解,至于具体怎么加密解密,以及如果镖师自己造了一对公钥和私钥,并且把李四的公钥替换的时候该怎么办?这就是另外一个故事了

       

        我一直觉得专业术语解释专业知识虽然严谨,但是很让人难以理解,不过我也知道有时候强行加入自己的理解,反而更容易让人误会,但还是写了这个,如果让您觉得困难,还请多多见谅

  • 相关阅读:
    【leetcode】1442. Count Triplets That Can Form Two Arrays of Equal XOR
    【leetcode】1441. Build an Array With Stack Operations
    【leetcode】1437. Check If All 1's Are at Least Length K Places Away
    cxCheckCombobox
    修改现有字段默认值
    2018.01.02 exprottoexcel
    Statusbar OwnerDraw
    dxComponentPrinter记录
    单据暂存操作思路整理
    设置模式9(装饰者,责任链,桥接,访问者)
  • 原文地址:https://www.cnblogs.com/leyouran/p/11564482.html
Copyright © 2011-2022 走看看