美文网首页
密码技术(五、二)之公钥密码

密码技术(五、二)之公钥密码

作者: Invincibled | 来源:发表于2019-03-30 16:09 被阅读0次

    公钥密码

    什么是公钥密码

     公钥密码(public-key cryptography)中,密钥分为加密密钥和解密密钥两种。发送者用加密密钥对消息进行加密,接收者用解密密钥对密文进行解密。
    仔细思考一下,我们可以发下:

    • 发送者只需要加密密钥
    • 接收者只需要解密密钥
    • 解密密钥不可以被窃听者获取
    • 加密密钥被窃听者获取也没问题
      也就是解密密钥从一开始就是由接收者自己保管的,因此只要将加密密钥发给发送者就可以解决密钥配送的问题了。
       公钥密码汇总,加密密钥一般都是公开的。正是由于加密密钥可以任意公开,因此该密钥被称为公钥(public key)
       相对地,解密密钥是绝对不能公开的,这个密钥只能由你自己来使用,因此称为私钥(private key)
       公钥和私钥是一一对应的,一对公钥和私钥统称为密钥对(key pair)。公钥和私钥不能分别单独生成的。

    公钥密码通信流程

     我们假设Alice 要给Bob发送一条消息,而窃听者Eve依然能够窃听到他们之间的通信内容。
    在公钥密码通信中,通信过程是由接收者Bob来启动的。

    1. Bob生成一个包含公钥和私钥的密钥对,私钥由Bob自行妥善保管。
    2. Bob将自己的公钥发送给Alice,Bob的公钥被窃听者Eve截获了也没关系。将公钥 发送给Alice,表示Bob请Alice用这个公钥对消息进行加密并发送给他。
    3. Alice用Bob的公钥对消息进行加密。加密后的消息只有用Bob的私钥才能解密。虽然Alice拥有Bob的公钥,但用Bob的公钥是无法对密文进行解密的。
    4. Alice将密文发送给Bob。密文被窃听者截获也没关系。Eve可能拥有Bob的公钥,但是用公钥是无法进行解密的。
    5. Bob用自己的私钥对密文进行解密。


      使用公钥密码,Alice向Bob发送消息.png

    公钥密码无法解决的问题

     公钥密码解决了配送问题,但这并不意味着它就能解决所有问题,因为我们需要判断所得到公钥是否正确合法,这个问题别称为公钥认证 问题。这个问题,我们会后续讨论
     公钥密码还有一个问题是,它的处理速度只有对称密码的几百分之一。


    该系列的主要内容来自《图解密码技术第三版》
    我只是知识的搬运工
    文章中的插图来源于原著

    相关文章

      网友评论

          本文标题:密码技术(五、二)之公钥密码

          本文链接:https://www.haomeiwen.com/subject/nzbhbqtx.html