关于RSA公钥私钥加密签名的那些概念

Posted A-祥子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于RSA公钥私钥加密签名的那些概念相关的知识,希望对你有一定的参考价值。

前言

作为一名程序员,经常会听到加密解密之类的词。而非对称加密技术,应用的非常广泛。本文不写加密技术的原理,只是希望以一个简单的类比,让大家了解非对称加密中常见词的概念,以及它的作用。

介绍

在RSA算法中,有两种加密解密的方式:

  1. 公钥加密,私钥解密(加密算法)
  2. 私钥加密,公钥解密(签名认证算法)
  3. 数字签名是用RSA密钥加密后的一段信息摘要
    这两种不同的方式,有不一样的作用。

我们可以做如下的类比:

  1. 公钥 -> 保险箱
  2. 私钥 -> 保险箱的密码

这里需要注意的是,一个密码可以打开所有用这个密码的保险箱!!!
私钥只有自己知道,而公钥则是公开的。

公钥加密私钥解密

这个过程,就是我们把东西放到保险箱里面,只有拥有密码的人,才能打开保险箱,知道里面到底是什么东西。
信息传递是从公钥这边传给私钥。因为别人没有私钥,就无法解密具体的信息是什么。

私钥加密公钥解密

这种加密方式主要用于身份认证,用于确定你是不是这个保险箱的主人。
比较常见的就是,我们在Github中的添加SSH公钥这一行为。
我们把公钥告诉Github,然后通过私钥去访问,发现可以打开这个保险箱,所以就能确定我具有这个Github仓库的访问权限。
信息传递是从私钥这边传给公钥。

 

补充:

  在HTTPS中,web server端通过RSA给请求端发送公钥,考虑到SRA比较费时,请求端用SRA加密一个普通秘钥给web server,后面的数据信息交流都用普通秘钥解密,由非对称加密转成对称加密,同时保证安全性。

以上是关于关于RSA公钥私钥加密签名的那些概念的主要内容,如果未能解决你的问题,请参考以下文章

公钥、私钥、哈希、加密算法基础概念

RSA非对称加密,私钥用于签名公钥用于验签;公钥用于加密私钥用于解密

浅谈IM软件业务知识——非对称加密,RSA算法,数字签名,公钥,私钥

RSA公私钥和签名、验签过程

java RSA实现私钥签名公钥验签私钥加密数据公钥解密数据

怎么在ios进行rsa公钥加密,java做rsa私钥解密