zoukankan      html  css  js  c++  java
  • 公钥和私钥

    公钥和私钥的概念和作用。

    在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。

    公钥私钥的原则:

    1.公开的密钥叫公钥,只有自己知道的叫私钥
    2.用公钥加密的数据只有对应的私钥可以解密
    3.用私钥加密的数据只有对应的公钥可以解密
    4.如果可以用公钥解密,则必然是对应的私钥加的密
    5.如果可以用私钥解密,则必然是对应的公钥加的密
    6.公钥和私钥是相对的,两者本身并没有规定哪一个必须是公钥或私钥。

    实现数据的安全传输:

    要实现数据的安全传输,当然就要对数据进行加密了。
    如果使用对称加密算法,加解密使用同一个密钥,除了自己保存外,对方也要知道这个密钥,才能对数据进行解密。如果你把密钥也一起传过去,就存在密码泄漏的可能。所以我们使用非对称算法,过程如下:
    首先 接收方 生成一对密钥,即私钥和公钥;
    然后,接收方 将公钥发送给 发送方;
    发送方用收到的公钥对数据加密,再发送给接收方;
    接收方收到数据后,使用自己的私钥解密。
    由于在非对称算法中,公钥加密的数据必须用对应的私钥才能解密,而私钥又只有接收方自己知道,这样就保证了数据传输的安全性。

    总结:
    1.每个用户都有一对私钥和公钥。
    2.私钥用来进行解密和签名,是给自己用的。
    3.公钥由本人公开,用于加密和验证签名,是给别人用的。
    4.当该用户发送文件时,用私钥签名,别人用他给的公钥解密,可以保证该信息是由他发送的。即数字签名。
    5.当该用户接受文件时,别人用他的公钥加密,他用私钥解密,可以保证该信息只能由他看到。即安全传输。

    全文所写仅属于作者自身认知,如有错误,欢迎指出,没有解决到问题,请参考官方文档。
  • 相关阅读:
    HTML页面之间跳转传值
    Ajax之三种数据传输格式
    css选择器
    jQuery Validate
    正则表达式
    JSP的九大内置对象,七大动作指令,四个作用域,三个编译指令
    Zooeeper之paxos算法
    ZooKeeper之选举(fastleaderelection算法)
    ZooKeeper之ZAB协议
    ZooKeeper之三阶段提交(3PC)
  • 原文地址:https://www.cnblogs.com/qiangshenqi/p/8194082.html
Copyright © 2011-2022 走看看