公钥,密钥原理学习(数学之美)
最近在阅读《数学之美》,在看到信息指纹那一部分的时候被书中提到的公、密钥原理吸引住了。因为平时工作经常用Linux服务器,所以难免会用到SSH和SFTP,对于这两个工具一直只知道其底层数据传输使用的加密技术就是这种非对称加密方式,其大概的工程流程如下:
1. client与sever互联,client发送消息给sever,双方都产生一对用于加密和解密的公钥和私钥。
2. client将自己的公钥告诉sever,私钥保密;同样sever将自己的公钥告诉client,私钥保密。
3. client给sever发送消息的时候,会用sever的公钥加密信息。
4. client将消息发送给sever。
5. sever收到消息后用自己的私钥解密client的消息,因此只有sever拥有自己的私钥所以其他收到消息的人都无法解密该消息。
或许到这我们可以了解其运作方式,但是其如何加密和解密的过程却不是很了解,这里就其工作原理通过示例简单介绍一下。
先说一下这种设计的意图,它主要是为了防止“敌人”拿到加密前,后的信息和密码本之后就可以彻底的破解通信中所有信息或者下一次通话的信息。下面是其加密和解密的步骤:
Step1:
所有的字符串都是可以转成相应的ASCII码,单词Caesar就等于X=06707101115097114(每三位代表一个字母),这是明码。
Step2:
找两个很大的素数(质数)P和Q,越大越好(质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。2017年12月26日,互联网梅森素数大搜索(GIMPS)项目宣布发现第 50 个梅森素数和已知最大的素数:2^77,232,917-1,共有 23,249,425 位)。
计算它们的乘积:
N=P*Q
M=(P-1)*(Q-1)
Step 3:
a) 找到一个和M互素的整数E,就是说M和E除了1以外没有公约数。
b) 找到一个整数D,使得E*D除以M余1,即E*D mod M = 1
这里的E就是公钥,谁都可以用它来加密,D是私钥用于解密,只有自己才有。乘积N是公开的,“敌人”知道也没有关系。
Step 4:
这里对明文X加密,得到加密后的信息Y。Y=(X^E) mod N
Step 5:
在接收到Y后,使用公式 X=(Y^D) mod N
Step 6:
将X更具ASCII码转换成字符。
这里的优势:
1. 运算简单,只有乘除。
2. 可靠,无论给“敌人”多少条明文和对应的密文,也无法根据已知的明文和密文的对应来破译下一份消息。公钥E和N是可以空开给所有人的。破解的最好办法对大数N进行因式分解,即通过N反过来找到P和Q。目前只要保证50年内计算机破不了就可以满意了。前几年的RSA-158密码就是被因式分解的。
3. 灵活,可以产生不同的公私钥组合给不同的使用者。
公钥,密钥原理学习(数学之美)相关推荐
- 免费教材丨第56期:《深度学习导论及案例分析》、《谷歌黑板报-数学之美》
小编说 离春节更近了! 本期教材 本期为大家发放的教材为:<深度学习导论及案例分析>.<谷歌黑板报-数学之美>两本书,大家可以根据自己的需要阅读哦! < ...
- 数学之美—细数 傅里叶变换 原理
目录 一.傅里叶级数(Fourier Series.FS)的实数域表示 二.傅里叶级数(Fourier Series.FS)的复数域表示 三.傅里叶变换(FT)的引出 四.DTFT.DFT.FFT的引 ...
- secp256r1 c语言程序,区块链中的数学-secp256k1点压缩和公钥恢复原理
本节主要讲了secp256k1的参数,点表示形式和由签名试图恢复公钥的原理 ## 写在前面 上一节讲了[Schnorr离散对数签名及素数阶群构造(Schnorr群)](https://learnblo ...
- 数学之美读书感悟03
文章目录 第25章 条件随机场,文法分析及其他 第26章 维特比和他的维特比算法 第27章 上帝的算法-期望最大化算法 第28章 逻辑回归和搜索广告 第29章 各个击破算法和Google云计算的基础 ...
- 《数学之美》读书笔记(2)
上篇写了<数学之美>的第一到十一章,这篇把后面几章写完.后面的内容比较广泛而且很多都是很熟悉的内容.让我感觉眼前一亮的是用SVD做新闻分类.SVD的物理意义以前都没有仔细的想过. 第12章 ...
- [zt]数学之美番外篇:平凡而又神奇的贝叶斯方法
数学之美番外篇:平凡而又神奇的贝叶斯方法 Tags: 数学, 机器学习与人工智能, 计算机科学 save it69 saved tags: 贝叶斯 math bayesian algorithm 数学 ...
- 转:数学之美番外篇:平凡而又神奇的贝叶斯方法 收藏
为什么80%的码农都做不了架构师?>>> 转自:http://blog.csdn.net/pongba/archive/2008/09/21/2958094.aspx 数学之美 ...
- 《数学之美》读书笔记和知识点总结(一)
早在前几个月我在台湾的时候,就听说<数学之美>是一本非常不错的书,也正好是我喜欢的类型,一直想买.回到北京之后的第一件事就是把我这半年积攒的书单全部兑现,其中包括<数学之美>和 ...
- 数学之美-隐含马尔可夫模型-笔记
<数学之美>吴军 著 第二版 --读书笔记 原理 通信模型: Created with Raphaël 2.1.2信息.上下文信息.上下文传递的信息传递的信息接收的信息接收的信息(s1,s ...
最新文章
- Flink最锋利的武器:Flink SQL入门和实战 | 附完整实现代码
- 高产来自“长期主义”:智源学者朱军谈ICLR 2020 全球发文第二的经验法则
- mysql text 不可指定默认值
- python如何删除文件夹下文件和文件夹?
- windows更新不支持的硬件_Win10五月大更新细节,解决高CPU占用,不支持AMD
- 25 abstract 抽象
- 4.jenkins 添加一台 Linux 服务器
- PSi-Population Stability Index (PSI)模型分稳定性评估指标
- JMeter基础 —脚本录制工具Badboy介绍
- Linux复制文件内容到另一个文件
- chrome浏览器打开网页排版错乱
- 腾讯地图 地图组件 缩放级别
- xeon e5-2400 系列处理器能做四路服务器吗?,至强处理器E5-2400系列双路云服务器推出...
- 2017携程java后台开发工程师暑期实习生招聘面试经验分享
- SpringCloud:统一网关Gateway
- 【php】php中call_user_func函数的用法
- 机器学习7 - 算法进阶2
- 【AI科幻】地球陨落·准备
- ASP.NET 模拟测试001-100题
- java中当前时间查询_SQL 查询当前时间
热门文章
- 4K+AI将加速催生5G时代颠覆性应用
- 2023上海师范大学计算机考研信息汇总
- 在*ttf文件中添加字体图标
- 网桥的端口上直连的计算机,无线网桥怎么跟很电脑连接调试呢
- 软件工程——读书笔记(八/九/十)
- 递归优化php,PHP 递归效率分析
- 骁龙865手机大盘点,年终换机其实很简单!
- 双11物流或超10亿件 快递员招聘月薪高达1.2万
- 操作系统概论【一】 - - 操作系统概述
- CommandNotFoundError: Your shell has not been properly configured to use ‘conda deactivate‘. To init