数据加密之加密算法RSA公钥加密系统

本来想写一下SQL注入来着,还是写一下这个可爱的算法吧。

加密算法有多中,md5等多中加密算法,但是RSA算法不知各位有没有听说过,它的由来就不阐述了.。我们都知道,密钥加密系统,甲方选择某种加密方式,对消息进行加密。然后乙方根据这个加密规则进行解密,这种类型的加密解密算法是对称加密算法。对称加密算法,乙方必须要知道密钥才行,这也是一种弊端吧。

那么就有了不对称的算法,这是如何呢?

乙方生成两个密钥,一个公钥,一个私钥,公钥是公开的,别人都可以知道,私钥是保密的,只有有乙方知道。

然后,甲方通过乙方的公钥加密消息,传递给乙方;

最后,乙方通过私钥解密即可。

RSA算法用到一点数论的知识点:

1、素数或者强质数,都是一个意思,就是除了1和它本身以外不再有其他的因数;否则称为合数。

2、欧拉函数和欧拉定理。因为原理部分需要有一堆随机质数的参与,对素数的密度测试,需要用到定理。

3、模指运算。模指数运算就是先做指数运算,取其结果再做模运算。为什么不叫指模运算,我也不知道。

通过公钥加密系统,可以对传输两个通信单位之间的消息进行加密,即使窃听者听到被加密的消息,也不能对其进行破译,公钥加密系统还能让通信的一方,在电子消息的末尾附加一个无法伪造的数字签名,这种签名是纸质文件上手写签名的电子版本。

对于上面的定理,就不对说那么多了,有兴趣的可以在单独做一篇推文,还有rsa的正确性,暂时不证明了。

在RSA公钥加密系统中:

1、随机选取两个大素数,p和q,越大越难破解。p!=q;

2、计算n=p*q;

3、计算f(n)=(p-1)(q-1),同时对p, q严加保密,选取一个与f(n)互质的小奇数e。

4、对于模f(n),计算出e的乘法逆元d的的值。

5、计算d,使得de≡1 mod f(n)。这个公式也可以表达为d ≡e-1 mod f(n) ,≡是数论中表示同余的符号。≡符号的左边必须和符号右边同余,就是两边模运算结果相同。不管f(n)取什么值,符号右边1 mod f(n)的结果都等于1;符号的左边d与e的乘积做模运算后的结果也必须等于1。这就需要计算出d的值,让这个同余等式能够成立。

6、将对P=(e,n)公开,并作为参与者的RSA公钥;(加密过程)

7、使对S=(d,n)公开,并作为参与者的RSA密钥;(解密过程)

为了变换与公钥P=(e,n)相关的消息M,计算P(M)=(M^e)mod n;

为了变换与密钥S=(d,n)相关的密文C,计算S(C)=(C^d)mod n;

等式对加密的签名是通用的。

RSA的原理核心已经写完。。。。。。

附带一段代码,是Python的,有兴趣的可以看下。

已经长传之paste.ubuntu.com,放在文章打不开,大家可以回复关键字“1”

查看。

如有错误,肯请指正。

原文发布于微信公众号 - 数据库SQL(SQLdba)

原文发表时间:2016-01-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AIUAI

Caffe2 - (二十五) Detectron 之 utils 函数(3)

3784
来自专栏吉浦迅科技

DAY2:阅读CUDA C Programming Guide之编程模型

1254
来自专栏灯塔大数据

每周学点大数据 | No.31拓扑排序

No.31期 拓扑排序 Mr. 王:很好,你还记得这个问题。接下来我们来讨论另一种磁盘中的大数据算法策略,叫作时间前向处理方法。在这种策略中,我会讲解求解最...

3507
来自专栏深入浅出区块链技术

非对称加密技术- RSA算法数学原理分析

1137
来自专栏数据魔术师

基础算法 | 关于图论中最小生成树(Minimum Spanning Tree)那些不可告人的秘密

最近双11又快到了 有女朋友的忙着帮女朋友清空购物车 有男朋友的忙着叫男朋友帮清购物车 而小编就比较牛逼了 小编沉迷学习,已经无法自拔。 那么今天小编又给大家带...

3945
来自专栏算法修养

浙江工业大学校赛 画图游戏 BugZhu抽抽抽!!

BugZhu抽抽抽!! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768...

3228
来自专栏测试开发架构之路

分享一本关于稀疏信号处理的书给大家,也是我曾读过的教材[附下载链接]

Sparse Signal Processing 作者/authors M Azghani, F Marvasti 摘要/abstract Convention...

3327
来自专栏ITCloud的专栏

《 大话 Ceph 》 之 CRUSH 那点事儿

《大话 Ceph 》系列文章通过通俗易懂的语言并结合基础实验,用最简单的描述来讲解 Ceph 中的重要概念。让读者对分布式存储系统有一个清晰的理解。

1.7K3
来自专栏小樱的经验随笔

基于连通性状态压缩的动态规划问题

基于连通性状态压缩的动态规划问题 基于状态压缩的动态规划问题是一类以集合信息为状态且状态总数为指数级的特殊的动态规划问题.在状态压缩的基础上,有一类问题的状态中...

2958
来自专栏HansBug's Lab

3891: [Usaco2014 Dec]Piggy Back

3891: [Usaco2014 Dec]Piggy Back Time Limit: 10 Sec  Memory Limit: 128 MB Submit:...

3509

扫码关注云+社区