当前位置:首页 > 经验 >

RSA加密算法(rsa加密算法实例代码)

来源:原点资讯(m.360kss.com)时间:2022-10-30 02:02:51作者:YD166手机阅读>>

说到加密,目前比较常见的有对称加密和非对称加密,那什么是对称加密和非对称加密呢,如图

RSA加密算法,rsa加密算法实例代码(1)

对称加密

假如 一个人A想把信息m发给B 他不能直接把m给B,不然会被窃听到,所以A经过一个算法,比如 e,得到C,

然后A把这个C发送给B,B收到C之后,通过 -e 的方式就得到了信息m

(例如: A想把数字 2 传给B, A通过 1的方式把 3 传给了B, B收到 3 之后,通过-1的方式就得到了 2 )

RSA加密算法,rsa加密算法实例代码(2)

m 是明文,就是我们要传递的信息

e 是密钥,就是加密的算法,是需要保密的

C 是密文,就是加密之后的信息

这个C可以是公开的,但由于不知道你的密钥,所以就没有办法知道要传递的m

简单来说就是通过e加密,也通过e去解密

非对称加密

还是这个例子,一个人A想把信息m发给B,B生成了两个有关系的e 和 d ,e称为公钥,d称为私钥,B可以通过公开的方式把e发给A

A通过e里面的某一个算法 例如 e 对m进行加密得到C,A也可以通过公开的方式把C发送给B,不对称的就不对称到这,B收到之后通过不是通过-e的方式,而是-d的方式,得到了信息m

也就是说 通过e加密,然后用d去解密

RSA加密算法,rsa加密算法实例代码(3)

RSA

其中一个最经典的非对称就是RSA加密算法,那这个RSA是基于什么原理,公钥e和私钥d有一个怎么样的关系呢

首先 B先找出两个质数 p和q

计算 n = p * q

φ(n) = (p-1) * (q-1) 这个函数又叫欧拉函数

公钥e 1 < e < φ(n) 在这个范围取出一个整数,并且 e 和 φ(n) 互质

私钥d (e * d ) / φ(n) = x ······ 1 (x是几无所谓,余数必须是1,比如 φ(n)是20 e是3 那么d就是7)

加密 m^e / n =x ······ c (这几个x都代表任意数的商,在这里面没有直接意义,可以忽略不看,这三个x也都不相等)

解密 c^d / n =x ······ m (可以从数学上证明,经过这一系列的计算,得到结果的余数一定是m)

安全性

首先我们先知道 A 和 B都知道哪些东西,B会把公钥e 和一个大数n 传给A,而B自己会留下一个私钥的d和一个相同的大数n,而A会把密文c传给B

RSA加密算法,rsa加密算法实例代码(4)

由于n,e,c是知道的 是可以公开的,但是不知道私钥d,是很难破解出要传递的信息m的

那能不能通过公钥e去破解私钥d呢?

如果用e破解d,那么你首先知道φ(n)等于多少,想求出φ(n)的话,就必须知道 p 和 q

由n = p * q 我们也知道n,也知道p和q是质数,要求出p和q,这个过程是质因数分解

一个小数的质因数分解很简单(比如 21 = 3 * 7),但是一个大数的质因数分解却很难,更何况1024位的大数n呢(目前还没有人类能做出来)

RSA加密算法,rsa加密算法实例代码(5)

由于这个原因,所以人们才认为RSA算法是比较保密的

那有没有什么方式可以快速的计算大数的质因数分解呢?

如果用我们普通的计算机去计算这个大数的质因数分解的话,大概需要10年的时间,才能算出来,当然如果用量子计算机的,可能一个星期就算出来了。

希望我的理解对您有所帮助!

栏目热文

rsa加密的流程(rsa加密算法主要步骤)

rsa加密的流程(rsa加密算法主要步骤)

目前常用的加密/解密算法主要有两类:对称加密算法和非对称加密算法。两者的主要区别在于加密和解密的密钥是否一致,一致的就是...

2022-10-30 02:09:13查看全文 >>

rsa加密和解密教程(rsa加密解密结果分析)

rsa加密和解密教程(rsa加密解密结果分析)

RSA加密验签是对安全性要求比较高的机构间通信常用的方式,密钥足够长的情况下,当前的计算能力还不足以解密(不过量子计算机...

2022-10-30 02:06:55查看全文 >>

rsa的加密和解密原理(rsa算法的加密和解密步骤)

rsa的加密和解密原理(rsa算法的加密和解密步骤)

数据信息安全对我们每个人都有很重要的意义,特别是一些敏感信息,可能一些类似于收货地址、手机号还没引起大家的注意。但是最直...

2022-10-30 02:19:20查看全文 >>

rsa加密使用方法(rsa非对称加密流程)

rsa加密使用方法(rsa非对称加密流程)

本文教你如何用Python与Java对文件进行不对称加密,并且Python与java共用一套密钥,可以相互加解密对方的...

2022-10-30 01:54:10查看全文 >>

rsa加密原理总结(rsa加密解密用法)

rsa加密原理总结(rsa加密解密用法)

密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破...

2022-10-30 02:20:01查看全文 >>

rsa加密算法安全吗(rsa加密算法详解)

rsa加密算法安全吗(rsa加密算法详解)

RSA算法由来RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shami...

2022-10-30 02:12:12查看全文 >>

rsa加密工具(rsa加密工具中文版)

rsa加密工具(rsa加密工具中文版)

因为RSA加密的代码都是比较通用的,所以没有特意去整合,这里参照着两位大神的代码重新写了一遍,做了一些简单的修改,符合本...

2022-10-30 02:14:58查看全文 >>

暗管穿线最快最好的方法(暗管穿线最好的方法)

暗管穿线最快最好的方法(暗管穿线最好的方法)

水电装修时经常遇到穿线管被水泥、沙子堵住或者线管被压扁导致穿电线的时候过不了。浪费时间又浪费力气,工作效率降低不说,成本...

2022-10-30 01:48:58查看全文 >>

暗线管穿线技巧穿到一半过不去(暗线管太弯穿线器穿不过怎么办)

暗线管穿线技巧穿到一半过不去(暗线管太弯穿线器穿不过怎么办)

水电安装最基本的穿线知识1、强上弱下:在我们决定电线走地的话,那布线的时候一定要遵循强电走上,而弱电走下!还要遵循横平竖...

2022-10-30 02:00:00查看全文 >>

暗管穿线最快方法图片(暗管二次穿线怎么穿)

暗管穿线最快方法图片(暗管二次穿线怎么穿)

一、弹线定位 根据设计一图纸要求,在砖墙、大模板混凝土墙、滑模板混凝土墙、木模板混凝土墙、组合模板混凝土墙等处,确定盒...

2022-10-30 02:24:00查看全文 >>

文档排行