区块链加密算法RSA加密的原理解析.doc
《区块链加密算法RSA加密的原理解析.doc》由会员分享,可在线阅读,更多相关《区块链加密算法RSA加密的原理解析.doc(5页珍藏版)》请在三一文库上搜索。
1、区块链加密算法RSA加密的原理解析加密算法,RSA是绕不开的话题,因为RSA算法是目前最流行的公开密钥算法,既能用于加密,也能用户数字签名。不仅在加密货币领域使用,在传统互联网领域的应用也很广泛。从被提出到现在20多年,经历了各种考验,被普遍认为是目前最优秀的公钥方案之一。比特币所使用的Sha256算法,也是在其基础之上建立的。了解RSA算法,相信你会对区块链有更深的认识。非对称加密直到1970年代,密码学都是基于对称密钥,也就是发送者使用特定密钥加密信息,而接收者使用相同密钥解密,加密也就是一种来自信息的映射,使用特定密钥来加密信息,要解密密文,需要使用相同密钥,将映射逆转过来。假设Alic
2、e想要和Bob通信,他们必须共享相同的密钥,但如果Alice和Bob不能实际见面,建立共享密钥通常不太可能,或者需要额外的通信开销,比如使用迪菲赫尔曼密钥交换。另外,如果Alice希望同很多人通信,比如,她开了一家银行,那么她需要同每个人交换不同密钥,她必须管理好所有这些密钥,发送数以千计的信息。于是,密码学家不禁会想,是否有更简单的方式呢?1970年,英国工程师兼数学家詹姆斯艾丽斯,试图公开密钥加密,这基于一种简单但聪明的概念,加锁和解锁是互逆操作。为了理解这些,我们用颜色为比喻进行说明,Bob是如何发给Alice一个特定的颜色,而不让监听者截获信息的。每种颜色都具有互补色,同互补色叠加会得
3、到白光,这能去掉第一种颜色的作用,这里我们假设,混合颜色是一个单向函数,混合颜色输出第三种颜色很容易,但反向过程就难了,Alice首先生成自己的私有密钥,也就是可以随便选择一个颜色,比如红色,下面,假设Alice有一种神秘的颜色机器,能够找到这种红色的互补色,没有其他人能够知道这个,这得到蓝绿色,他将这发给Bob作为公开密钥,假设Bob想发送一种神秘的黄色给Alice。他将黄色同公开颜色混合然后得到的混合色发给Alice,此时,Alice能够将自己的私有色叠加到Bob的混合色,这将解除公开色的作用,剩下Bob的秘密颜色,而窃听者无法简单破译Bob的黄色,除非他有Alice的红色。我们还需要一种
4、数学方法,让这能用于实践。模幂计算解决方法由另一位数学家找到克利福德科克斯,科克斯需要构建一种特殊的单向函数,也就是陷门单向函数,这种函数从一个方向计算很容易,反过来就难了,除非你有关于陷门的特殊信息,为此,他考虑到了模幂计算。之前讲的菲迪赫尔曼密钥交换,我曾经介绍过,这里在简单说下,具体方法如下:取一个数字的某次方,除以模数,输出余数,这可以被这样用于加密信息,假设Bob有一段信息被化为数字m,他可以将这个数字自乘e次,其中e是公开指数,然后他可以将结果除以随机数N,并输出除法的余数,这会得到数字c,这个计算很容易完成,但已知c e N,很难求出m是什么,因为我们需要某种试错的过程,这就是可
5、以用于m的单向函数。正向执行容易,但是反过来难,这就是,我们是数字锁,钥匙就是陷门,这是某种让加密逆过程很容易的信息,我们需要取c的其他次幂,比如d次幂,解除我们原来对m所进行的运算,得到最初的信息m,两个运算合起来也就是m的e次方。然后整个的d次方,也就是m的e乘以d次方,e表示加密,d表示解密。因此,Alice需要有一种方法构建e和d,导致其他人很难求出d的值。这需要第二个单向函数,用户生成d,为此,他想到了欧几里得。欧几里得的证明2000多年前,欧几里得证明了,每个数只有一种质因数分解,这可以考虑为一个密钥,我们知道,质因数分解是一个非常难的问题,我明确一下这里的“难”是什么意思,我将通
6、过介绍所谓事件复杂度来讲解,我们都进行过乘法运算,每个人都有自己的计算加速方法,如果编程,让计算机计算乘法,它能比任何人类算起来快得多。将这同质因数分解对比,如果有人让你将589质因数分解,你可能会感到问题比较难,无论如何,这都需要采用试错法,直到找到某数能够均分589,经过一系列是错,你会发现其质因数分解是19*31,如果有人让你将437231质因数分解,你可能直接放弃,然后找计算机帮忙,较小的数字这还行得通,但随着数字越来越大,电脑也将开始无法驾驭,随着数字增大,计算步骤增多,需要的时间将大幅增加,大一点的数字计算机可能需要几分钟,再大可能需要数小时,最终,可能需要成千上百年才能分解非常大
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 区块 加密算法 RSA 加密 原理 解析
链接地址:https://www.31doc.com/p-3396716.html