搜故事,从300万个故事到海量知识百科的华丽转变!

从凯撒密码到公钥加密的兴起 数学中同余运算是如何发挥作用的?

时间:2019-03-18

你所想知道密码背后的数学同余运算, 你所想知道密码背后的数学同余运算 Part II密码学的起源想象一下,Alice 和 Bob 两个人要远距离的分享了一个重要的秘密

提示:本文共有 2280 个字,阅读大概需要 5 分钟。

本文作者 [遇见数学] 核心成员: 蘑菇长颈鹿

同余运算(见下面链接)在经典的密码问题中也发挥着至关重要的作用,在下面文章中我们将会把密码学与同余运算两者结合起来,探索同余运算是怎样运用到密码学中的。

你所想知道密码背后的数学——同余运算, 你所想知道密码背后的数学——同余运算 Part II

密码学的起源

想象一下,Alice 和 Bob 两个人要远距离的分享了一个重要的秘密。然而,一个叫 Eve 的窃听者也想要这些信息,并且有能力截获他们的消息。所以,Alice 决定用某种密码写的信来交流。首先,Alice 用一个只有她和 Bob 知道密码的锁将消息锁在一个盒子里。这就是所谓的“加密”(encryption)。

爱丽丝(Alice)和鲍伯(Bob)在密码学中是最基本的两位代用人物,其次是伊夫(Eve)。头一个英文字母越接近 z,该角色的使用率相对上也越低。

然后,将被锁的信息发送给鲍勃。当 Bob 收到盒子时,他使用他们预先共享的钥匙打开盒子。这叫做“解密”(decryption)。

当我们放弃物理锁而使用“密码”时,密码学就要登场了。我们可以将密码看作虚拟锁。密码使 Alice 和 Bob 能够对他们的信息进行整理和解码,这样,如果 Eve 截获它们,它们就会显得毫无意义。

一般来说,如果我们可以将整个加密系统看作一个模型

凯撒密码

第一个众所周知的密码是一个移位密码,大约在公元前 58 年被凯撒大帝使用。它现在被称为凯撒密码。凯撒把他的军事命令中的每一个字母都做了调整,以便在敌人拦截的时候让它们显得毫无意义。

想象 Alice 和 Bob 决定使用凯撒密码进行通信。首先,他们需要在转换使用之前达成一致,比如转换为 3。因此,为了加密她的消息,Alice 需要对原始消息中的每个字母进行移位 3 次。 A 变成了 D,B 变成了 E,C 变成了 F,等等。

▲ 当偏移量是 3 的时候,所有的字母 A 将被替换成 D,B 变成 E,以此类推。(图自维基)

这条加密的消息然后公开发送给 Bob。然后 Bob 简单地从每个字母中减去 3 的移位,以读取原始消息。这个基本密码在凯撒之后的几百年里被军事领导人使用。

这种移位密码的工作方式是使用模运算对消息进行加密和解密。移位密码的密钥 K 是从 0 到 25 的整数。

对于消息中的每一个字母:

例如:我们同意我们的朋友使用密钥K=19 的移位密码作为我们的消息。我们加密信息“SECRET”,因此,在应用密钥 K=19 的移位密码后,我们的消息文本“SECRET”为我们提供了密码文本“KWUJWL”。 我们把信息“KWUJWL”发送给我们的朋友。

对于密文中的每一个字母:

我们的朋友现在使用我们商定的密钥 K=19 来解码消息。如下: 因此,在用密钥 K=19 解密了移位密码之后,我们的朋友将密码文本“KWUJWL”解密为消息文本“SECRET”。

然而,一把锁的坚固程度取决于它最薄弱的地方。开锁器可能会寻找机械缺陷。如果做不到这一点,则提取信息以缩小正确的组合范围。锁的破解和密码破解的过程非常相似。

800 年后,一位名叫阿尔·肯迪(Al-Kindi)的阿拉伯数学家出版了《凯撒密码的弱点》。他利用语言中一个重要属性的线索破解了凯撒密码。如果你从任何一本书中扫描文本并计算每个字母的频率,你会发现一个相当一致的模式。例如,下面条形图所表示就是用典型的英语书写的文字样本中各字母出现频率。

这条线索是密码破译者最有价值的工具之一。为了破解这个密码,他们计算出加密文本中每个字母的频率,并检查频率最高的字母移动了多远。例如,如果 是加密消息中最受欢迎的字母,而不是 ,那么移位可能是 。

因此,只需要逆转其偏移量就可以进行解密。这样即便是在仅知已加密文字的情况下就可以通过频率分析,或者穷举法就可以攻破信息,这对凯撒密码的安全性是一个打击。

公共密钥

第二次世界大战后,随着欧洲大部分地区的废墟,苏联和美国之间的紧张关系加剧,互联网在全球范围内的蓬勃发展,一个新的问题出现了。当时,加密需要双方首先共享一个称为密钥的秘密随机数。那么,两个素未谋面的人怎么可能在共享密钥的问题上达成一致,而又不让一直在偷听的 Eve 获得一份副本呢?

1976 年,惠特菲尔德·迪菲(Whitfield Diffie)和马丁·赫尔曼(Martin Hellman)发明了一种神奇的方法。

首先,让我们来看看如何使用颜色来完成这个方法。Alice 和 Bob 怎么能在一个秘密的颜色上达成一致而不被 Eve 发现呢?

这个方法基于两个事实:

我们很容易把两种颜色混合在一起,并形成第三种颜色;对于混合后的颜色,要想找到完全相同的原始颜色是很困难的。即密码要满足朝一个方向容易,朝反方向难,也就是所谓的单向函数(One-way function)。

现在,我们的方案如下:

首先,他们公开同意一种起始颜色,比如黄色。作为偷听者 Eve 也能成功得到此消息,如下图所示。

接下来,Alice 和 Bob 都随机选择了私有颜色(红蓝两色),将它们混合到公共黄色中,以掩盖它们的私有颜色并发送给对方,这个过程如下面图形所示。

而后,Alice 和 Bob 将他们的私有颜色添加到另一个人的混合色中,得到一个共享的秘密颜色,下右图为混合后颜色。

注意到偷听者伊芙无论如何都无法确定这个确切的颜色,因为她需要一个他们的私人颜色来做这件事。

这就是关键所在。现在,为了在数学上实现,我们就需要一个在单方向上容易计算,而在反方向上计算很困难的过程,这就是下面一节的内容。

看到此处说明本文对你还是有帮助的,关于“从凯撒密码到公钥加密的兴起 数学中同余运算是如何发挥作用的?”留言是大家的经验之谈相信也会对你有益,推荐继续阅读下面的相关内容,与本文相关度极高!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
密码学起源——由「凯撒加密」到「一次一密」

密码学起源——由「凯撒加密」到「一次一密」

位移,单词,字母,密文,信息,凯撒,密码,数字,明文,方式,凯撒密码,指纹,区块链,文字,长度,频率,密码学,加密方法,频率分布,个位,安全性,差别,项目,一次一密,好的,假设,军事,命令,同伴,敌人

2012-08-27 #小故事

犯罪大师侦探的密码上密码是什么?硬盘凯撒密码加密答案公布

犯罪大师侦探的密码上密码是什么?硬盘凯撒密码加密答案公布

2011-02-27 #故事阅读

古典密码解读之凯撒密码 密码的秘密你知道多少?

古典密码解读之凯撒密码 密码的秘密你知道多少?

字母表,密码,字母,明文,密文,密码学,移动,设计,密钥空间,替换为,偏移量,密钥,作者,信息,兵符,创意园,原文,强度,情节,方法,数字,才能,策略,只需要,恺撒密码,遍历,从明文,原文中,恺撒,明文中

2013-06-13 #小故事

使用Python实现凯撒加密算法

使用Python实现凯撒加密算法

凯撒密码,字母表,字符,字母,凯撒,索引,密钥,明文,位置,加密技术,密码学,加密算法,凯撒大帝,代码,古罗马,算法,轮盘,转盘,长度,依次类推,密文,信息,军事情报,网络,外圈,密码,技术,所示,敌人,方法

2010-12-20 #小故事

无需加冕的罗马之皇 加伊乌斯·朱利叶斯·凯撒和他的恺撒密码

无需加冕的罗马之皇 加伊乌斯·朱利叶斯·凯撒和他的恺撒密码

恺撒,明文,字母,偏移量,密文,字母表,罗马,太公,凯撒,恺撒密码,单词,执政官,庞培,任期,六韬,克拉苏,可以通过,方式,频率,分析,频率分析,军事,内容,密码,职位,行省,奥莱利,科塔,代表,伪书

2018-03-13 #故事大全

慢步python 从凯撒密码开始 创造一个“密语”程序

慢步python 从凯撒密码开始 创造一个“密语”程序

程序,密语,代码,字符,函数,文件,执行指令,内容,命令行,方式,文本,目录,纸条,一个字,一句话,遍历,变量,字符串,后移,和解,再执行,找不到,中文,位置,干货,目的,循环体,文章,文件夹,时间

2014-09-03 #故事大全

“凯撒密码”——在谍报领域耳熟能详的词条 就是这个伟人的发明

“凯撒密码”——在谍报领域耳熟能详的词条 就是这个伟人的发明

凯撒,雷米,情报,敌人,军队,人物,敌军,时候,点点,谍报人员,部队,救援,史可,史哲,向凯,尤利乌,盖乌斯,斯凯,高晓,使者,信息,之谜,事实证明,乌托邦,人为,作用,人类,先知,克里特,兵力

2016-03-23 #长篇故事

数学国故事

数学国故事

数学,研究,信息,井盖,作用,哲学家,对数,国故,工具,数量,数学家,概念,看法,结构,空间,范围,视频,变化,一门学科,从某种角度,人类历史,不可替代,形式科学,现代科学技术,社会生活,发挥着

2012-05-22 #故事会