前言:为了大家更好的学习,我尽量采用图文和代码的形式为大家详细而又简单的讲解,与你相遇倍感荣幸,因为成长历程需要你我一起见证,欢迎大家一起讨论

RSA 简单介绍:

RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作,由图下三人

RSA 依赖原理:

对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠,有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降,但至少现在还没有出现,到目前为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息理论上是不能被解破的。

RSA依赖的4大数学基础原理

1.互质关系

概念:两个正整数P,Q,除了1以外没有其他公因子,我们就称这两个数是互质关系(coprime),
例如10和7,它们之间出来1外没有其他公因子,所以他们是互质关系,可以看出,非质数之间也存在互质关系;

2.欧拉函数:

概念:欧拉函数用φ(n)来表示,其结果代表着n有多少个与其互质的数,
例如:    φ(10)=4;     解释:{ 1, 3  7 ,9}   数字个数为4 则φ(10)=4;

当n小数我们能清楚知道φ(n)的值,那么当n比较大的时候,欧拉函数有5种情况可以计算大n质的欧拉函数,在这里我只讲与RSA算法相关的情况,RSA使用的情况是两个不等质数的乘积,它对应算法中的一种情况,

 例如 :φ(63)=φ(7*9)=φ(7)*φ(9)=6*6=36。

3.欧拉定理

如果两个正整数a和n互质,则n的欧拉函数 φ(n) 可以满足下面的等式成立:

a^(φ)≡1(mod n)

 含义:a的φ(n)次方被n除的余数为1。或者说,a的φ(n)次方减去1,可以被n整除

4.模反元素

概念:如果两个正整数a和n互质,那么一定可以找到整数b,使得 ab-1 被n整除,

公式:ab=1( mod n) ;b就叫做a的“模反元素”

例子:3和11互质,那么3的模反元素就是4,因为 (3 × 4)-1 可以被11整除显然,模反元素不止一个, 4加减11的整数倍都是3的模反元素{…,-18,-7,4,15,26,…},即如果b是a的模反元素,则 b+kn 都是a的模反元素

懂了前面四个数学原理;那么就已经具备实现RSA加密算法的基础,我会在下一章节来进行实现;

另外:博文持续不断更新中,绝对的干货,欢迎大家相互讨论交流

RSA非对称加密算法介绍及其简单数学原理相关推荐

  1. python能解密java的_实现Java加密,Python解密的RSA非对称加密算法功能

    摘要 因为最近业务需要使用到openssl的rsa非对称加密算法,研究了下它的使用方式,但是特殊在于前端分IOS和android两端,所以前端部门要求使用java给他们做一个加密工具包,但是因为服务端 ...

  2. java python rsa加密_实现Java加密,Python解密的RSA非对称加密算法功能

    摘要 因为最近业务需要使用到openssl的rsa非对称加密算法,研究了下它的使用方式,但是特殊在于前端分IOS和android两端,所以前端部门要求使用java给他们做一个加密工具包,但是因为服务端 ...

  3. Java 实现 RSA 非对称加密算法-加解密和签名验签

    1. 非对称加密算法简介 非对称加密算法又称现代加密算法,是计算机通信安全的基石,保证了加密数据不会被破解.与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密(pr ...

  4. RSA 非对称加密算法详细介绍

    背景 RSA 算法大家肯定都听说过了,它是一种常见的非对称加密算法,常用来对一些在网络上传输的敏感信息进行加密. 但具体流程不知道大家清楚不?本文将概述 RSA 算法的流程,并用一个简单示例进行阐述, ...

  5. RSA - 非对称加密算法简要介绍与JAVA实现

    [1]RSA简介 RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.1987年 ...

  6. RSA非对称加密算法之公钥和私钥详细介绍

    转载来自https://www.zhihu.com/question/25912483/answer/31653639 RSA的加密算法 RSA的加密算法.我们从公钥加密算法和签名算法的定义出发,用比 ...

  7. 【信息安全】RSA非对称加密算法原理(详解和C++代码实现)

    1.RSA非对称加密 (1)选择两个素数p和q ,计算n=p*q和欧拉函数φ(n)=(p-1)(q-1),选择整数e,使gcd(φ(n), e)=1(即φ(n)和e是互素),1<e<φ(n ...

  8. RSA 非对称加密算法简述

    RSA概述 首先看这个加密算法的命名.很有意思,它其实是三个人的名字.早在1977年由麻省理工学院的三位数学家Rivest.Shamir 和 Adleman一起提出了这个加密算法,并且用他们三个人姓氏 ...

  9. .NET Core加解密实战系列之——RSA非对称加密算法

    简介 加解密现状,编写此项目的背景: 需要考虑系统环境兼容性问题(Linux.Windows) 语言互通问题(如C#.Java) 网上资料版本不一.不全面 .NET官方库密码算法提供不全面,很难针对其 ...

  10. 秘密的爱:初窥RSA非对称加密算法

    hello,everybody! 来一个迟到的七夕祝福! 场景: 假设李雷和韩梅梅生活在1984一样的一个极权世界,七夕到了,李雷想向韩梅梅表达爱意.但是他又不能以明文给韩梅梅传递这个信息.要不big ...

最新文章

  1. You can Solve a Geometry Problem too(线段相交问题)
  2. Vue.js 组件 处理边界情况
  3. 敏捷实践的价值观和方法论
  4. python求圆柱体的体积_Python 常见优化技巧,让你的程序溜溜的跑起来!
  5. VSCode调试Python时终端输出中文乱码解决方法1
  6. git 删除已经 add 的文件
  7. html前端验证代码,前端js+html实现简单验证码
  8. 基于微信小程序校园商铺系统获取(微信小程序毕业设计)
  9. 今天吃什么随机网页_灵魂拷问:今天在西昌你想吃什么?
  10. Elasticsearch——Keyword字段类型
  11. Tungsten Fabric中文社区介绍
  12. TFT LCD液晶屏显示原理
  13. 淘宝七天自动确认收货,可以怎么实现?
  14. 去除 华军 恶心的广告验证码
  15. 维基百科反对法国将被遗忘权全球化
  16. 盘点:视频监控行业的潜在商机
  17. WPF中Mvvm模式的理解
  18. Python 实现office单个文件或整个文件夹(word,ppt,excel)转换成PDF文件,并获取PDF文件页数
  19. java开心消消乐代码_Java小项目之:教你做开心消消乐!
  20. AAAI 2022 | 量化交易相关论文(附论文链接)

热门文章

  1. 驱动精灵w8ndows xp sp2,惠普HP LaserJet 1020打印机驱动官方正式版下载,适用于winxp,winvista,win7,win8,win10-驱动精灵...
  2. 数据清洗 Chapter01 | 数据清洗概况
  3. python列索引行的数据公式_python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)...
  4. 飞信2008协议抓包(1)
  5. 苹果显示器(Apple Cinema Display)亮度调节方法
  6. html插入swf自动播放,html嵌入播放器,flv视频播放器 Flvplayer.swf 可自动播放参数说明...
  7. Google Open Images Dataset V4 图片数据集详解2-分类快速下载
  8. 服务器raid的原理以及怎么恢复数据
  9. 拯救者Y7000在ubuntu下的1660Ti驱动安装
  10. cpu测试稳定性软件,测试CPU稳定性工具Prime95