zoukankan      html  css  js  c++  java
  • 公钥密码

      公钥密码可以解决密钥配送问题。

    什么是公钥密码

      公钥密码(public-key cryptography)中,密钥分为加密密钥解密密钥两种。发送者用加密密钥对消息进行加密,接收者用解密密钥对密文进行解密。要理解公钥密钥,清楚地区分加密密钥和解密密钥是非常重要改的。加密密钥是发送者加密时使用的,而解密密钥则是接收者解密时使用的。

      加密密钥和解密密钥的区别:

      • 发送者只需要加密密钥
      • 接收者只需要解密密钥
      • 解密密钥不可以被窃听者获取
      • 加密密钥被窃听者获取也没关系

      业绩就是说,解密密钥从一开始就是由接收者自己保管的,因此只要将加密密钥发给发送者就可以解决密钥配送问题了,而根本不需要配送解密密钥。

      

      公钥密钥中,加密密钥一般是公开的。正是由于加密密钥可以任意公开,因此该密钥被称为公钥(public key)。公钥可以通过邮件直接发送给接收者,也可以刊登在报纸的广告栏上,做成看板放在街上,或者做成网页公开给世界上任何人,而完全不必担心内窃听者Eve窃取。

      当然,我们也没有必要非要将公钥公开给全世界所有的人,但至少我们需要将公钥发送给需要使用公钥进行加密的通信对象(也就是给自己发送密文的发送者)。

      相对地,解密密钥是绝不能公开的,这个密钥只能由自己来使用 ,因此成为私钥(private key)。私钥不可以被别人知道,也不可以将它发送给别人,甚至也不能发送给自己的通信对象。

      公钥和私钥是一一对应的,一对公钥和私钥统称为密钥对(key pair)。由公钥进行加密的密文,必须使用与该公钥配对的私钥才能够解密。密钥对中的两个密钥之间具有非常密切的关系——数学上的关系——因此公钥和私钥是不能分别单独生成的。

      公钥密码的使用者需要生成一个包含公钥和私钥的密钥对,其中公钥会被发送给别人,而私钥则仅供自己使用。

    公钥的通信流程

      假设Alice要给Bob发送一条消息,Alice是发送者,Bob是接收者,窃听者Eve能够窃听到他们之间的通信内容。

      

      在公钥密钥通信中,通信过程是由接收者Bob来启动的。

      (1) Bob生成一个包含公钥和私钥的密钥对。

        私钥有Bob自行妥善保管。

      (2) Bob将自己的公钥发送给Alice。

        Bob的公钥被窃听者Eve截获也没有关系。

        Bob将公钥发送给Alice,表示Bob请Alice用这个公钥对消息进行加密蹦发送给他。

      (3) Alice用Bob的公钥对消息进行加密。

        加密后的密文只有用Bob的私钥才能够解密。

        虽然Alice拥有Bob的公钥,但用Bob的公钥是无法对密文进行解密的。

      (4) Alice将密文发送给Bob。

        密文被窃听者Eve截取也没关系。Eve可能拥有Bob的公钥,但是用Bob的公钥是无法进行解密的。

      (5) Bob用自己的私钥对密文进行解密。

      请参看图5-2,看一看Alice和Bob直接到底传输了哪些信息。其实他们之间传输的信息只有两个:Bob的公钥以及用Bob公钥加密的密文。由于Bob的私钥没有出现在通信内容中,因此窃听者Eve无法对密文进行解密。

      

       窃听者Eve可能拥有Bob的公钥,但是Bob的公钥只是加密密钥,而不是解密密钥,因此窃听者Eve就无法完成解密操作。

    相关术语

      公钥密钥还有各种不同的称谓,例如非对称密钥(asymmetric cryptography)和公钥密码就表示通一个含义,这一术语是相对于对称密钥而言的。在对称密码中,加密和解密使用相同的密钥,即加密和解密只是用同一密码进行相反的操作而已,因此对称密码中的加密和解密就像照镜子一样,是相互对称的。相对地,非对称密码中,加密和解密使用的是不同的密钥,并不是相互对称的,因此称为非对称密码。

      此外,私钥(private key)这个术语也有很多同义的别名,例如个人密钥私有密钥非公开密钥等,也有人将其称为秘密密钥(secret key)。不过,秘密密钥这个词也可以指对称密码的密钥,因此在使用时需要注意。出于这个原因,也有人将对称密码的密钥称为共享秘密密钥,将公钥密码的私钥称为私有秘密密钥以示区别。

      private key(私钥)是世界上使用最广泛的,也是最不容易引起歧义的名称。

    公钥密码无法解决的问题

      公钥密码解密了密钥配送的问题,但这并不意味着它能够解决所有的问题,因为我们需要判断所得到的共啊哟是否正确合法,这个问题被称公钥认证问题。

      此外,公钥密码还有一个问题就是,它的处理速度只有对称密码的几百分之一。

     

  • 相关阅读:
    Quicksum -SilverN
    uva 140 bandwidth (好题) ——yhx
    uva 129 krypton factors ——yhx
    uva 524 prime ring problem——yhx
    uva 10976 fractions again(水题)——yhx
    uva 11059 maximum product(水题)——yhx
    uva 725 division(水题)——yhx
    uva 11853 paintball(好题)——yhx
    uva 1599 ideal path(好题)——yhx
    uva 1572 self-assembly ——yhx
  • 原文地址:https://www.cnblogs.com/doitjust/p/12758484.html
Copyright © 2011-2022 走看看