关于RSA、公钥、私钥、加密、签名的那些概念
2017-01-20 13:38
330 查看
前言
作为一名程序员,经常会听到加密解密之类的词。而非对称加密技术,应用的非常广泛。本文不写加密技术的原理,只是希望以一个简单的类比,让大家了解非对称加密中常见词的概念,以及它的作用。介绍
在RSA算法中,有两种加密解密的方式:公钥加密,私钥解密(加密算法)
私钥加密,公钥解密(签名认证算法)
数字签名是用RSA密钥加密后的一段信息摘要
这两种不同的方式,有不一样的作用。
我们可以做如下的类比:
公钥 -> 保险箱
私钥 -> 保险箱的密码
这里需要注意的是,一个密码可以打开所有用这个密码的保险箱!!!
私钥只有自己知道,而公钥则是公开的。
公钥加密私钥解密
这个过程,就是我们把东西放到保险箱里面,只有拥有密码的人,才能打开保险箱,知道里面到底是什么东西。信息传递是从公钥这边传给私钥。因为别人没有私钥,就无法解密具体的信息是什么。
私钥加密公钥解密
这种加密方式主要用于身份认证,用于确定你是不是这个保险箱的主人。比较常见的就是,我们在Github中的添加SSH公钥这一行为。
我们把公钥告诉Github,然后通过私钥去访问,发现可以打开这个保险箱,所以就能确定我具有这个Github仓库的访问权限。
信息传递是从私钥这边传给公钥。
补充:
在HTTPS中,web server端通过RSA给请求端发送公钥,考虑到SRA比较费时,请求端用SRA加密一个普通秘钥给web server,后面的数据信息交流都用普通秘钥解密,由非对称加密转成对称加密,同时保证安全性。
相关文章推荐
- 关于RSA、公钥、私钥、加密、签名的那些概念
- python 加密 解密 签名 验证签名 公钥 私钥 非对称加密 RSA
- 关于JAVA中RSA加签解签,私钥加密公钥解密和公钥加密私钥解密代码详解
- 关于JAVA中RSA加签解签,私钥加密公钥解密和公钥加密私钥解密代码步骤
- 公钥,私钥,数字证书,签名,加密,认证,的概念区分(转)
- Golang代码搜集-基于RSA的公钥加密私钥解密-私钥签名公钥验证
- RSA之php私钥签名与android、ios公钥加密
- 网上抄的一篇关于:公钥、私钥、加密等的文章
- RSA加解密使用总结,.net私钥加密公钥解密,WinCE平台RSA加解密
- 关于私钥加密 公钥解密
- JAVA生成RSA非对称型加密的公钥和私钥(利用JAVA API)
- c# RSA 加密解密 java.net公钥私钥转换 要解密的模块大于128字节
- 关于私钥加密、公钥加密、签名在生活中的场景
- 关于RSA加密 后台就给一个公钥
- RSA公钥加密—私钥解密&私钥加密—公钥解密&私钥签名—公钥验证签名
- RSA不对称加密和公钥 私钥
- 银联手机支付(.Net Csharp),3DES加密解密,RSA加密解密,RSA私钥加密公钥解密,.Net RSA 3DES C#
- openssl rsa 私钥加密,公钥解密测试
- RSA加密:Windows Phone 公钥加密,Java私钥解密
- C#使用RSA私钥加密公钥解密的改进,解决特定情况下解密后出现乱码的问题