RSA算法笔记+理解
明天网络安全考试了,看了一下午,还没理解透,持续更新...
质数: 除了1和它本身以外不再有其他因素的数
互质关系: 两个正整数,除了1以外,没有其他公因子
RSA实现了非对称加密
DES实现了对称加密
**************************************************
RSA密钥生成的步骤
step1: 随机选择两个不相等的质数p和q
step2: 计算p和q的乘积n
step3: 计算n的欧拉函数φ(n)=(p-1)(q-1)
step4: 随机选择一个整数e,条件是1< e < φ(n),且e与φ(n)互质
step5: 计算e对于φ(n)的模反元素d(多组取一) ed ≡ 1 (mod φ(n))
p q //基础随机
公 n 私
φ(n)
公 e //在上一步基础随机上随机
d 私 //d多组取一,在解密过程中效果一样(为什么效果一样,只是我一知半解的猜测)
***************************************************
RSA算法的可靠性
若已知n、e要推出d
->先推出φ(n)
->将n因式分解
->大整数的因式分解基本不能完成,
虽然此处只有除1外的一对因子,现存方法只有暴力破解
成对的生成公钥、私钥,却无法单独由公钥推出私钥
***************************************************
RSA密钥如何加密解密
公钥(n,e) 只能加密小于n的整数m(解密出m的必要条件)
用公钥 (n,e)对m进行加密,算出下式的c,逆向只能暴力破解
m^e ≡ c (mod n)
解密要用私钥(n,d),逆向只能暴力破解
c^d ≡ m (mod n)
m的值最终得唯一值--原始的明文(具体算法比较复杂,过程中c被消去,而多组取一的d无法影响结果,利用了不同层次互质关系)
公钥加密私钥解,私钥加密公钥解,
***************************************************
模拟信息传输过程
公钥(n,e) 只能加密小于n的整数m,那么长信息怎么办
安全
公钥
私钥 -----------------> 公钥
DES加密
Alice <---------------- Bob
被公钥加密的
#DES密钥#
无法保证安全
DES加密
Alice <---------------- Bob
DES密钥
RSA算法笔记+理解的更多相关文章
- 更多细节的理解RSA算法
一.概述 RSA算法是1977年由Ron Rivest.Adi Shamir 和 Leonard Adleman三人组在论文A Method for Obtaining Digital Signatu ...
- RSA算法、SSL协议学习笔记
最近学习计算机网络,涉及到SSL协议,我想起了去年密码学课程讲过的非对称加密RSA算法,结合阮老师的博客,写写学习笔记,这里再回忆一下. RSA算法 RSA算法是一种非对称密码算法,所谓非对称,就是指 ...
- 怎么理解RSA算法
原文地址:http://www.ittenyear.com/414/rsa/ 怎么理解RSA算法 能够把非对称加密算法里的公钥想象成一个带锁的箱子,把私钥想象成一把钥匙 能够把对称加密算法里的密钥想象 ...
- RSA算法理解
RSA加密算法是最常用的非对称加密算法,CFCA在证书服务中离不了它.但是有不少新来的同事对它不太了解,恰好看到一本书中作者用实例对它进行了简化而生动的描述,使得高深的数学理论能够被容易地理解.我们经 ...
- [已解决] 快速理解RSA算法
RSA算法基础详解 http://www.cnblogs.com/hykun/p/RSA.html RSA算法原理(一) http://www.ruanyifeng.com/blog/2013/06/ ...
- [转] 带你彻底理解RSA算法原理
http://blog.csdn.net/dbs1215/article/details/48953589 1. 什么是RSA RSA算法是现今使用最广泛的公钥密码算法,也是号称地球上最安全的加密算法 ...
- 彻底理解RSA算法原理
1. 什么是RSA RSA算法是现今使用最广泛的公钥密码算法,也是号称地球上最安全的加密算法.在了解RSA算法之前,先熟悉下几个术语 根据密钥的使用方法,可以将密码分为对称密码和公钥密码 对称密码:加 ...
- 带你彻底理解RSA算法原理,很简单的
1. 什么是RSA RSA算法是现今使用最广泛的公钥密码算法,也是号称地球上最安全的加密算法. 在了解RSA算法之前,先熟悉下几个术语 根据密钥的使用方法,可以将密码分为 对称密码 和 公钥密码 对称 ...
- C#加密与解密(DES\RSA)学习笔记
本笔记摘抄自:https://www.cnblogs.com/skylaugh/archive/2011/07/12/2103572.html,记录一下学习过程以备后续查用. 数据加密技术是网络中最基 ...
随机推荐
- 使用jenkins配置.net mvc5网站自动构建全过程记录
持续集成是个简单重复劳动,人来操作费时费力,使用自动化构建工具完成是最好不过的了.最终可以实现的一个效果是,svn提交代码,服务器端自动编译并发布. 所使用的版本:windows server 200 ...
- java 编写小工具 尝试 学习(二)
1. 新建一个窗口 ,代码 如下 ,截图 如下 package jFrameDemo; import javax.swing.JFrame; import javax.swing.WindowCon ...
- tomcat启动后报错Bad version number in .class file (unable to load class oracle.jdbc.OracleDriver)
对于tomcat启动后报错: 错误原因:tomcat使用的jdk和eclipce的编译用的jdk版本不同. 解决办法: 1.首先确定tomcat的jdk版本: 2.点开tomcat查看jdk版本. 使 ...
- (二、下) springBoot 、maven 、mysql、 mybatis、 通用Mapper、lombok 简单搭建例子 《附项目源码》
接着上篇文章中 继续前进. 一.在maven 的pom.xm中添加组件依赖, mybatis通用Mapper,及分页插件 1.mybatis通用Mapper <!-- mybatis通用Mapp ...
- 使用js函数格式化xml字符串带缩进
遇到了一个做soap的API的操作,中途需要说明xml的组装模式等, 如上图,组装产生的mxl代码药格式化并展示.由于是在前端做的,所以需要将字符串将xml进行格式化并输出,找到别人写的算法稍加更改并 ...
- vector,set常见方法
vector push_back() 压入元素 size()返回元素个数 swap()交换两个向量的位置 erase()任意位置删除元素 reverse(a.begin(),a.end())翻转 se ...
- Ubuntu16 安装Anaconda3+tensorflow cpu版
打开火狐浏览器,下载anaconda安装包,网址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D 下载完成,到Do ...
- vue实现多级弹窗
webpack + vue 实现 弹窗功能 对于刚入门webpack + vue 不久的新人来说,这技术,确实有些不太友好,相比较于直接操纵dom元素的jQuery,直接操纵数据的 vue 在webp ...
- 分享一个hybrid框架ionic
ionic 是一个 HTML5 应用程序开发框架. 可以使用 HTML.CSS 和 Javascript 构建接近原生体验的移动应用程序.具有速度快,界面现代化.美观等特点.下面一起看一下如何使用 安 ...
- 虚拟机(unbutun16.04)设置静态ip
电脑上装了虚拟机,想用xshell连接,无奈按照默认的网络设置方式每次重启了虚拟机后都要修改ip才能访问,这怎么能忍,经过一番折腾终于搞定这个问题了,解决步骤如下: 大步骤分为两步:其一是主机的设置, ...