读《数学之美》
  • 读《数学之美》
  • 第 0 章 序言 前言
  • 第 1 章 文字和语言 vs 数字和信息
  • 第 2 章 自然语言规则——从规则到统计
  • 第 3 章 统计语言模型
  • 第 4 章 谈谈中文分词
  • 第 5 章 隐含马尔可夫模型
  • 第 6 章 信息的度量和作用
  • 第 7 章 贾里尼克和现代语言处理
  • 第8章 简单之美——布尔代数和搜索引擎的应用
  • 第 9 章 图论和网络爬虫
  • 第 10 章 PageRank——Google民主表决式网页排名技术
  • 第 11 章 如何确定网页和查询的相关性
  • 第 12 章 地图和本地搜索的最基本技术
  • 第 13 章 Google ak-47 的设计者
  • 第 14 章 余弦定理和新闻分类
  • 第 15 章 矩阵运算和文本处理中的两个分类问题
  • 第 16 章 信息指纹及其应用
  • 第 17 章 谈谈密码学的数学原理
  • 第 18 章 闪光的不一定是金子——谈谈搜索引擎
  • 第 19 章 谈谈数学模型的重要性
  • 第 20 章 谈谈最大熵模型
  • 第 21 章 拼音输入法的数学原理
  • 第 22 章 自然语言处理的教父马库斯和他的优秀弟子们
  • 第 23 章 布隆过滤器
  • 第 24 章 马尔科夫链的扩展——贝叶斯网络
  • 第 25 章 条件随机场和句法分析
  • 第 26 章 维特比和他的维特比算法
  • 第 27 章 再谈文本自动分类问题——期望最大化EM
  • 第 28 章 逻辑回归和搜索广告
  • 第 29 章 各个击破算法和Google云计算的基础
Powered by GitBook
On this page
  • 设计一个密码系统
  • 小结

第 17 章 谈谈密码学的数学原理

Previous第 16 章 信息指纹及其应用Next第 18 章 闪光的不一定是金子——谈谈搜索引擎

Last updated 6 years ago

加密的过程可以看做是一个函数的运算,解密的过程是反函数运算。明码是自变量,密码是函数值。好的加密函数不应该通过几个自变量和函数值就能推导出函数。

一般来讲,当密码之间分布均匀并且统计独立时,提供的信息最少。均匀使得敌人无从统计,而统计独立能够保证敌人即使看到一段密码和明码后,不能破译另一段密码。

设计一个密码系统

  1. 找两个很大的素数(质数)P和Q,越大越好,然后计算他们的乘积:,。

  2. 找一个和互素的整数,找一个整数,使得(为两个表达式作除法运算后的余数)。是公钥,谁都可以用来加密,是私钥用于解密,一定要自己保存好。乘积是公开的。

  3. 用公式对加密,得到密码。根据费尔马小定理,得到:,所以要解密,必须知道。

公开密钥的好处有:

  • 简单,只涉及一些乘法。

  • 可靠,公开密钥方法保证产生的密文是统计独立而分布均匀的。更重要的是、可以公开给任何人加密使用,但只有掌握密钥的人才能解密。

  • 灵活,可以产生很多和的组合给不同的加密者。

该种方法破解难度较大,破解的最好办法是对大数进行因式分解,即通过反过来找、,得到、。而找到、目前只有用计算机把所有的数字试一遍的笨办法,耗时很长。这也是为什么、都需要非常大的原因。

小结

密文之间需要相互无关,同时密文还是看似完全随机的序列。信息论诞生后,公开密钥是目前最常用的加密方法。

D
E\times D\ \text{mod }M=1
M
M=(P-1)(Q-1)
D
N=PQ
 \text{mod }
E
E
X^E\ \text{mod }N=Y
D
X
E
E
D
N
N
Y^D\ \text{mod }N=X
P
N
D
P
P
N
N
M
Q
Q
Q