rsa加密算法详解

rsa加密算法详解

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加

—本文只对加密解密流程进行介绍,不研究技术层实现。

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

rsa加密算法是目前普遍使用的算法,除非量子计算机得到广泛发展,否则理论上无法被暴力破解。本文只对加密解密流程进行介绍,不研究技术层实现。


提示:以下是本篇文章正文内容,下面案例可供参考

一、rsa加密是什么?

RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制 。
在公开密钥密码体制中,分为公钥和私钥一对钥匙。其中的加密密钥(即公开密钥)PK(public key)是公开信息,而解密密钥(即秘密密钥)SK(secret key)是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。

二、使用步骤

1.生成密钥

加密过程中,首先分为服务端和客户端两种角色,以下成为服务端A和客户端B。
服务端会生成一对密钥,公钥PK和私钥SK,当客户端有数据交互需求时,A会将PK分发给所有客户端B1、B2…Bn。但SK是由A妥善保管的。

2.数据加密

给B分发公钥PK后,A才会给B传数据,A首先生成数据摘要,将摘要用私钥加密生成数字签名,再附到数据底部,整个数据加密后发给客户B。

3.数据解密

客户收到数据后,用公钥解密,完成传输。

CA认证中心

但是仅仅这样是不够的,作为客户端,我无法知道发给我的公钥是真的还是假的,因此需要找个公证处认证一下。这里就要提到CA(certificate authority)的概念,其实CA认证中心可以看作一个服务端A,但他传输的数据都是别人的公钥,他也会生成自己的公钥PK2和私钥SK2,然后将公钥发给所有客户B,当有其他的服务端A想找ca做认证时,ca会将A的公钥PK1和一些相关信息进行加密(用ca的SK),我们把A被ca加密后的公钥叫做 "数字证书 " 。
这样,只需要A发送加密后数据时,将数字证书附上,B收到数据后,就可以通过ca的公钥PK2将数字证书解密,这样B就认为不会有问题了,因为我解密数据的PK1是CA官方认证过的,肯定没有问题。

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值