zoukankan      html  css  js  c++  java
  • RSA等非对称加密为什么要用公钥加密,而用私钥解密?

    1.RSA是不对称加密算法,它的公钥可能会被多人持有(公钥公钥,公开的密钥),而私钥只有一人拥有,例如支付宝开放平台,私钥只有支付宝公司持有,而公钥则是所有接入它API的公司都能得到。对于公钥加密的信息,只有私钥才能解密,从而实现了数据可以的保密的到达拥有私钥的一方。即使被第三方截取,也无法解密。

    2.因为私钥本身长度更长,对于破解难度更大。

    3.而私钥加密,公钥解密一般被用于数字签名。数字签名是用于防篡改和防止假冒的,因为只有一人拥有私钥。甲方通过私钥对数据进行签名,乙方通过甲方的公钥验证签名,如果成功,说明确实是甲方发来的,并且数据没有被修改。一旦相反,公钥是公开的,大家都能做签名,就没意义了。

    总结:公钥加密|私钥解密用于防止密文被破解、被第三方得到明文;私钥加密|公钥解密用于防止明文被篡改,确保消息的完整性和正确的发送方。那么既然为了防止明文被篡改,我们是不是直接都可以用公钥加密的方式呢,这样整串都是密文了,其实当然也可以,只不过签名的效率要高的多,而非对称加解密很费时间,所有对于不值得加密的非关键性数据,还是用签名合适。

  • 相关阅读:
    分段、分页&&内存碎片、外存碎片
    mysql中的事务处理
    算法的在线演示网站
    为什么要使用树以及使用什么树
    平衡多叉树--B-Tree(B树)
    MVCC--多版本并发控制机制
    mysql中的锁
    平衡二叉树--红黑树(RB-Tree)
    平衡二叉树--AVL树
    自平衡方式--旋转
  • 原文地址:https://www.cnblogs.com/lene-y/p/10368269.html
Copyright © 2011-2022 走看看