RSA算法_rsa算法原理

RSA算法_rsa算法原理RSA算法 1、非对称加密算法 非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 ——————

RSA算法

1、非对称加密算法

非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。        ——————百度百科

  假设A向B通过非对称加密算法进行信息交换,流程如下:

    ①B生成一定密钥并将公钥公开,A获取B的公钥

    ②A使用该公钥对信息进行加密后再发送给B

    ③B收到A发送过来的加密信息后,再用自己的私钥对信息解密

 

2、RSA算法

RSA算法就是非对称加密算法。RSA算法实现分为4个部分:生成密钥、加密、解密和签名。

(1)生成密钥

  ①生成两个不相等的质数p和q(p和q不应太过相近)。假设p=13,q=19。

  ②计算出p和q的乘积为n。此处n=247。

  ③计算n的欧拉函数φ(n)。φ(247)=216。

RSA算法_rsa算法原理

  ④选择一个整数e,使1<e<φ(n),并且与φ(n)互质。此处e=31。

  ⑤找出一个整数d,使得e×d÷φ(n)……1,余数等于1。可知d为7。

    d=7为e=31关于φ(n)=216的模逆元。

   ⑦得到私钥和公钥

RSA算法_rsa算法原理

(2)加密

  A获取B的公钥后对信息进行加密。

  ①将明文转换为Unicode编码。

RSA算法_rsa算法原理

  ②利用加密公式加密为密文。加密公式如下所示:

RSA算法_rsa算法原理

      m为Unicode编码转换为十进制,e=31,n=247。

RSA算法_rsa算法原理

RSA算法_rsa算法原理

(3)解密

  ①利用解密方程对密文进行解密。解密方程如下所示:

RSA算法_rsa算法原理

    c为Unicode编码转换为十进制,d=7,n=247。

RSA算法_rsa算法原理

RSA算法_rsa算法原理

(4)签名

  假设A给B发送数据,则过程如下:

    ①A先用B的公钥对原始数据进行加密

    ②计算加密数据的哈希值

    ③用A的私钥将这串哈希值加密,这就是数字签名

    ④将签名放在加密的数据后面并发给B

  B接受到A发来的加密数据后,处理过程如下所示:

    ①利用B的私钥将密文解密得到明文

    ②利用A的公钥将数字签名解密,得到哈希值

    ③将哈希值与收到的加密数据的哈希值进行比较,就可以判断信息来自A

 

3、相关的知识

1、欧拉函数

  欧拉函数是小于等于n的正整数中与n互质的数的个数。

  假设p和q互质:

    φ(pq)=φ(p)×φ(q),φ(p)=(p-1),φ(q)=(q-1)

  可得,φ(n)=φ(p)×φ(q)=(p-1)×(q-1)。

 

2、模逆元

  对于互质的整数a和n,存在整数b使得abΞ1(mod n),则称b为a关于n的模逆元。

 

3、同余(Ξ)

  如果a与m的余数和b与m的余数相同,则称整数a与b对模m同余,记作a≡b(mod m)。可知(a-b)÷m=0。

 

4、欧拉定理

  对任意两个互质的正整数a和m,有

RSA算法_rsa算法原理

 

5、哈希函数

  哈希函数指将哈希表中元素的关键键值映射为元素存储位置的函数。

  两个文件相同,则哈希值一定相同。

 

4、RSA算法证明

RSA算法_rsa算法原理

RSA算法_rsa算法原理

 

 

今天的文章RSA算法_rsa算法原理分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/49903.html

(0)
编程小号编程小号
上一篇 2023-09-02 18:11
下一篇 2023-09-02 18:30

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注