科普 | 现代密码学加密原理

栏目: 编程工具 · 发布时间: 5年前

内容简介:密码学是在区块链技术中承担着非常重要的角色,但其实,在互联网中,也大量的使用着密码学的技术,本文将介绍现代密码学中的早期加密方法,这将有助于我们理解区块链中的复杂算法。第二次大战之后,从军方演化而来的互联网慢慢的进入了寻常百姓家,我们能够将一切事物都电子化处理,交易也不例外,于是电子银行也出现了,所有交易都可以通过网络进行。随着互联网用户越来越多,新的问题产生了,加密需要双方共享一个秘密的随机数,也就是秘钥,但从未谋面的两个人,如何就此共享密钥达成一致,而又不让第三方监听这知道呢?这将是现代密码学的目标。1

密码学是在区块链技术中承担着非常重要的角色,但其实,在互联网中,也大量的使用着密码学的技术,本文将介绍现代密码学中的早期加密方法,这将有助于我们理解区块链中的复杂算法。

第二次大战之后,从军方演化而来的互联网慢慢的进入了寻常百姓家,我们能够将一切事物都电子化处理,交易也不例外,于是电子银行也出现了,所有交易都可以通过网络进行。随着互联网用户越来越多,新的问题产生了,加密需要双方共享一个秘密的随机数,也就是秘钥,但从未谋面的两个人,如何就此共享密钥达成一致,而又不让第三方监听这知道呢?这将是现代密码学的目标。

1976年,维特菲尔德和马丁赫尔曼找到了一种巧妙的解决方法,让我们用颜色为比喻来讲解该技巧是如何实现的:

首先,明确我们的目标,发送者和接受者就秘密颜色达成一致,而不让窃听者知道,于是需要采用一种技巧,该技巧基于两点:

一、混合两种颜色得到第三种颜色很容易;

二、得到这种混合色后,想在此基础上知道原来的颜色就很难了, 这就是锁的原理。

朝一个方向容易,朝反方向难,这被称作是单向函数。解决方案是这样的,首先,他们公开对某种颜色达成一致,假设是黄色,然后发送者和接收者随机选取私有颜色,混到公共的黄色中,从而掩饰掉他们的私有颜色,并且将混合颜色发给接收者,接收者知道自己的私有颜色,并将它的混合颜色发给发送者,

然后就是技巧的关键了,发送者和接收者将各自私有颜色加入到另一个人的混合色中,然后得到一种共享秘密颜色,此时,窃听者无法确定这种颜色,她必须有一种私有颜色才能确定,技巧就是这样,对密码学的世界中, 我们需要一个数值的运算过程,这个过程向单一方向很容易,反方向会很难。

离散函数问题

我们需要一种朝一方向易,反方向难的数值过程,于是密码学家找到了模算数,也就是取余的函数,(比如46除12的余数是10)。

假设我们考虑用质数做模型,比如17,我们找到17的一个原根,这里是3,它具有如下重要性质,取不同幂次时,结果会在时钟上均匀分布,3是一个生成元,取3的X次方,结果会等可能地出现在0和17中间任何整数上。

但相反的过程就难了,比如给定12,要求这是3的多少次方,这被称为离散对数问题,这样我们就有了单向函数,一个方向计算很容易,但反方向就很难了,已知12,我们只能采用试错法,求出匹配的质数。

这有多难呢?如果数字很小,这还很容易,但模数是长达数百位的质数,那么,想解密是不切实际的,即便借助世界上最强大的计算机,要遍历所有可能的情况,也需要上千年的时间,单向函数的强度取决于反向过程所需要的时间。

迪菲赫尔曼密钥交换

解决方案是这样的,首先,发送者和接收者公开质模数和生成元,这里的例子中也就是17和3,然后发送者选择一个私有的随机数,比如15,计算315 mod 17(结果为6),然后公开将此结果发送给接收者,之后接收者选择自己的私有随机数,比如13,计算313mod 17(结果为12),然后公开将此结果发送给对方。

关键在于,将接收者的公开结果,取她的私有数字次方,以获得共享密钥,这里是10,接收者将发送者的公开结果,取她的私有数字次方,结果得到相同的共享密钥,可能大家还不好理解,但他们实际上进行了相同的运算。

考虑发送者,她从接收者接收到的是12,来自313 mod 17,所以她的计算实际上是3∧13∧15 mod 17,而接收者,他从发送者那里接收6,来自315mod17,所以他的计算实际上是3∧15∧13mod17,两种计算结果是相同的,只是指数的顺序不同,调换指数顺序,结果不会改变,他们的结果都是,3取两人私有数字次幂,没有这些私有数字,15或13,第三方将无法求出结果。

第三方会被困在离散对数问题之中,数字足够大时,实践中,她在合理时限内,几乎不可能破解,这就解决了交换密钥的问题,这可以同伪随机数生成器结合使用,为从未谋面的人提供通信加密。

现在区块链常用的算法,如sha256,都是继承单向函数的设计思维,一个方向计算容易,反过来几乎不能破解,来保证安全。

(作者:猎豹区块链安全,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)


以上所述就是小编给大家介绍的《科普 | 现代密码学加密原理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法引论

算法引论

[美]Udi Manber / 黄林鹏、谢瑾奎、陆首博、等 / 电子工业出版社 / 2005-9-1 / 35.00元

本书是国际算法大师乌迪·曼博(Udi Manber)博士撰写的一本享有盛誉的著作。全书共分12章:第1章到第4章为介绍性内容,涉及数学归纳法、算法分析、数据结构等内容;第5章提出了与归纳证明进行类比的算法设计思想;第6章到第9章分别给出了4个领域的算法,如序列和集合的算法、图算法、几何算法、代数和数值算法;第10章涉及归约,也是第11章的序幕,而后者涉及NP完全问题;第12章则介绍了并行算法;最后......一起来看看 《算法引论》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具