美文网首页
加密总结

加密总结

作者: 看谷秀 | 来源:发表于2022-01-17 16:21 被阅读0次

搞清楚这个算法之前先认识几个量

EDN

公钥(E,N):公开

私钥(D,N)

秘钥对(E,D,N)

什么是RSA算法

常见的秘钥加密算法分为对称加密算法和非对称加密算法。对称加密算法是指加密和解密使用同一个秘钥。非对称加密算法是指加密和解密使用不同的两个秘钥,公钥和私钥。

RSA是一种非对称加密算法。

RSA加密

密文=明文^E mod N

就是明文的E次方取余除以N求余数的过程。(E,N)这一对是加密秘钥,也就是公钥,只要知道公钥,任何人都可以对明文进行加密。当然E和N是经过严格的计算得出,计算方法在下面。

RSA解密

明文=密文^D mod N

解密的步骤和加密一样。(D,N)就是私钥,知道私钥就可以将密文解密。

生成秘钥对即公钥和私钥

随机找两个质数PQ,数越大越安全

假设P = 7,Q = 17 计算乘积 n = P*Q = 119,119的二进制:1110111,即该加密算法为7位,位数越高,安全系数越高。

计算n的欧拉函数 φ(n)

φ(n) 表示在小于等于 n 的正整数之中,与 n 构成互质关系的数的个数。例如:在 1 到 8 之中,与 8 形成互质关系的是1、3、5、7,所以 φ(n) = 4。
如果 n = P * Q,P 与 Q 均为质数,则 φ(n) = φ(P * Q)= φ(P - 1)φ(Q - 1) = (P - 1)(Q - 1) 。
本例中 φ(n) = 7 * 17= 119,这里记为 m, m = φ(n) = 96

随机选一个数e,要求在1到m之间,并且与M互为质数

选择e = 5

有一个整数 d,可以使得 e*d 除以 m 的余数为 1。

计算公式:(e * d ) % m = 1

5 * 77 % 96 = 1

由此可知:d = 77

由上述计算可知:E = 5 ;D = 77;N = 119

结合开头的概念:

公钥【5,119】 私钥【77,119】秘钥对【5,77,119】

取一个明文m = 19 (m<n)。注意要加解密的文不能超过n。

加密:
c = m^E mod n = 66 mod 119

解密:

c = m^D mod n = 16 mod 119
————————————————
原文链接:https://blog.csdn.net/hujinlong6930/article/details/102490442

相关文章

  • iOS端加密

    转载: 史上最全iOS端数据加密类 iOS加密实用总结

  • 加密总结

    搞清楚这个算法之前先认识几个量 EDN 公钥(E,N):公开 私钥(D,N) 秘钥对(E,D,N) 什么是RSA算...

  • python RSA加密解密

    RSA加密(pip install pycryptodome) 总结: Pycrypto提供了比较完善的加密算法。...

  • 常用加密算法探寻

    原文地址在开发过程中,常常用到各种加密方法和算法,本文总结了几种常用加密方法的原理。 对称加密 原理: 加密和解密...

  • 区块链100讲:盘点那些常用的加密算法原理

    在开发过程中,常常用到各种加密方法和算法,本文总结了几种常用加密方法的原理。 1 对称加密 原理:加密和解密数据使...

  • 关于加密的一些个人总结

    加密一直是软件技术中比较重要的内容。个人从事iOS开发四年中的对加密的一些个人总结。仅仅是总结。 加密可以分为对称...

  • 加解密与编解码

    对称加密与非对称加密 先放总结(https://www.cnblogs.com/jfzhu/p/4020928.h...

  • encyption&decyption

    0, 常用加密算法的Java实现(一) ——单向加密算法MD5和SHA 常用加密算法的Java实现总结(二) ...

  • 密码学

    开发中总会遇到许多关于密码加密的问题,现在简单总结一下 1、RSA加密 计算机刚开始的加密方式是对称加密,也就是加...

  • SSL协议之数据加密过程详解

    总结: 本文详细讲述了SSL协议中的数据加密的过程,数字证书、对称加密、非对称加密和SSL握手过程等概念。 SSL...

网友评论

      本文标题:加密总结

      本文链接:https://www.haomeiwen.com/subject/nybchrtx.html