月亮链 月亮链
Ctrl+D收藏月亮链
首页 > 酷币 > 正文

区块链:科普 | 密码学极速入门(Part-1)_区块链可以看作是

作者:

时间:1900/1/1 0:00:00

作者:?LeoWhitehead

翻译&校对:?IANLIU?&阿剑

来源:以太坊爱好者

-广受欢迎的加密通讯工具——OpenSSL,其中的部分代码-

关于密码学的内在原理,一直被认为是少数专家或数学家才能涉足的领域,其中的技术细节在大多数人看来就像变魔术一样。考虑到现代密码学的复杂程度,我们可以理解为什么很多人对密码学存在这些误解;但不了解密码学,可能会做出很多弊大于利的决定,比如英国的加密禁令提案,澳大利亚的援助和访问法案等。

在本篇指南中,我们会帮助大家掌握学习密码学所需的入门知识、对不同密码学体系的发展历程进行简介,并对当前三个最流行的密码学领域——流密码、分组密码、公钥密码,进行快速上手指导。

密码

“密码”指的是对消息进行加密或解密的算法,也是密码学的基石。加密算法(E)使用密钥(k)对消息(m)进行加密,并生成密文(c);类似地,解密算法(D)使用密钥(k),对密文(c)进行解密。如下列所示:

-加密算法'E'及解密算法'D'-

上述过程也意味着,一种算法要想被称为“密码”,还必须满足以下的一致性方程特性,确保密文可以被解密。

式子表明着如果你使用密钥?K?对消息进行加密,也能使用密钥?K?对密文进行解密,并得到与原来消息一摸一样的输出。

稳定币crvUSD科普创新清算机制LLAMMA,可在抵押品价格下跌时逐步替换为稳定币:1月17日消息,Curve官方科普其稳定币crvUSD创新的清算机制LLAMMA,解释了LLAMMA通过AMM的特性进行针对债务人更友善的清算方式,让抵押品在价格下跌时逐渐转移成稳定币,让原本要清偿的债务有一定程度的稳定币可以偿还,同时在价格回稳时再逐渐把稳定币换回抵押品,而不是直接的触发清算导致债务人的亏损。

此前报道,2022年11月23日,去中心化交易平台CurveFinance开发者发布Curve即将推出的去中心化Stablecoin“crvUSD”的官方代码和白皮书。[2023/1/17 11:17:13]

其中一种最古老、最简单的密码就是凯撒密码——直接从字母表中选取特定位置,替换掉原消息中的字符。

-凯撒密码出现于公元50年,凯撒大帝使用字母表跳三位的字来替换原来的消息内容,用于军事通讯-

下面的例子就是经过后三位字符替换过后的密文形式:

凯撒密码可以用下列式子表示:

虽然这种做法符合我们对密码的定义,但是它非常不安全。只要攻击者知道密文是以这种方式加密,就能通过尝试另外25种组合进行破译;即使攻击者不知道密文使用了凯撒密码,他们也能够观察到密文中的规律进行破译。

虽然这种做法符合我们对密码的定义,但是它非常不安全。只要攻击者知道密文是以这种方式加密,就能通过尝试另外25种组合进行破译;即使攻击者不知道密文使用了凯撒密码,他们也能够观察到密文中的规律进行破译。

民盟中央建议加速元宇宙科普和立法:3月4日消息,民盟中央已起草了《关于“元宇宙”技术发展的提案》,并将提交全国政协十三届五次会议。在提案中,民盟中央建议,在科普层面需加速知识传播,法律层面则需加快立法步伐。民盟中央拟提交的提案指出,目前,在新兴网络层面,相关政策法规相对缺失。“元宇宙”在未来将会带动形成全新的网络形态,当遇到突发舆情,全虚拟的环境、场景将更难进行源头追踪、问题疏导。因此建议应尽早加快立法研究,尽快形成与技术、市场发展相适应的治理模式和法律基础,全面提升我国社会治理的水平。建议组织相关部门,针对“元宇宙”相关需求、风险进行立法研究,并尽快发布。此前消息,民进中央拟向全国政协十三届五次会议提交《关于积极稳妥推进元宇宙技术和产业发展的提案》。建议推进元宇宙技术产业发展,建立相关监管治理体系。(华夏时报)[2022/3/4 13:37:12]

在进一步介绍更安全的加密算法之前,我们得先聊聊什么是Xor运算。

XOR

Xor运算,又称为“异或门”,是一种布尔变量逻辑判断,能接收1或0作为输入:如果输出1则表示两个输入不同;输出0则表示两个输入相同。下图的真值表列出了经过异或运算后,所有可能的输入输出组合:

异或运算也经常用符号⊕来表示:

0⊕0=0

0⊕1=1

1⊕0=1

1⊕1=0

关于异或逻辑,以下有几点重要的特性:

异或运算结合律:a⊕(b⊕c)=(a⊕b)⊕c

对自身进行异或运算结果为0:a⊕a=0

对0求异或,结果为自身:a⊕0=a

根据上述异或运算的规则,我们知道a⊕b⊕a等同于a⊕a⊕b,也等于0⊕b,运算结果为b。要注意的是,这些异或运算特性只适用在1和0,因此对不同进制的数字进行异或运算之前,需要先将其转换为二进制。例如:

动态 | 新浪财经:官媒针对区块链的报道从科普宣传转向打假监管:据新浪财经今日消息,“1025新政”满月,一个月间,官媒对区块链的态度风向已转。据11月初的一项统计,七家党媒在新政一周内发布了65篇直接相关报道,当时文章中的关键词是数据、产业、安全、创新等,大量文章偏向于科普区块链的概念以及应用介绍,提醒警惕虚拟货币炒作的仅有3篇。近期,官媒的批评焦点则纷纷指向借区块链之名进行的虚拟货币发行和炒作行为。据统计,新华网、人民网收录转载的,以打击虚拟货币或揭露假借区块链行为主题的文章,自10月25日到11月25日午间,共28篇;其中,11月19日至11月25日的一周内就高达15篇。这些文章主要围绕三个观点展开:厘清区块链和虚拟货币的关系,说明二者概念不等;打击伪“区块链”局,或是虚拟货币局揭露;提醒民众,区块链不能成为炒作的噱头,更不是行的招牌,需警惕此类活动,理性投资。[2019/11/26]

87⊕73=1010111b⊕1001001b=0011110b=30

接着,我们可以开始介绍第一种安全密码了。

一次性密码

FrankMiller在1882年提出了一次性密码的概念——加密:将消息和私钥进行异或运算得到密文;解密:将密钥和密文进行异或运算得到原消息,这个过程类似于前面提到的a⊕b⊕a=b。一次性密码的定义如下所示:

该密码的一致性方程也很容易证明:

一次性密码非常容易上手,假设我们要加密一串字段“Message”,首先可以通过ASCII字符集将“Message”转换为二进制数据。

声音 | 上海股交所总经理:区块链想要大规模发展要做好社会科普工作:金色财经报道,上海股交所总经理张云峰表示,区块链当前还处于一个“概念”的阶段,距离成熟应用,影响到百姓的日常生活还有很长的路要走。对于“区块链”和其会带来的社会和经济效果,沈阳应当持审慎的态度。区块链想要大规模发展,一方面要做好这项复杂技术的社会科普工作,加快社会大众对区块链的了解。另一方面,要充分发挥市场的作用,让企业用实实在在的技术创新,赋能实体经济的发展。[2019/11/17]

现在,我们需要一组56位随机二进制数来对明文进行异或运算,该私钥随机程度越高越好!

-从random.org生成的随机数-

我们将明文和私钥的每一位进行异或运算。

运算后的结果就是我们的密文了!要解开密文也很简单,我们只需要将密文和刚才生成的私钥进行异或运算,并转码回ASCII,就能得到原消息。

这种密码简单易用,而且还有个很有意思的特点。一次性密码具有所谓的完全保密性,这意味着从数学角度来说,攻击者不可能从密文推得任何原消息的内容,当然也不可能破译。

既然我们已经有了简单易用,且不可能破译的密码,为什么我们还会想用其他的密码呢?根本原因在于,一次性密码虽然很有效,但是他有一些重大的缺陷。

第一个缺陷是,不论我们想要加密什么样的消息,都需要有和原消息一样长或是更长的私钥用于加解密。而且为了让密文接收者能够解密密文,需要有绝对安全的通信方法把私钥给到接收者;这就形成一个悖论,如果有这种安全通道,那不如直接把原消息发过去得了。

声音 | 浪潮集团云南分公司总经理:云南区块链产业发展需从“科普”到“专精”不断深化:据昆明日报消息,浪潮集团云南分公司总经理郑昕表示,云南区块链产业发展需从“科普”到“专精”不断深化。下一步,浪潮将继续加大云南农业产业高质量发展体系建设力度,重点以普洱茶等云南优势产业为切入点,打造云南“绿色、有机农产品高地”的品牌形象,并在此基础上,开展基于区块链的供应链金融服务,解决中小企业贷款难、贷款贵问题。[2019/11/11]

第二个缺陷可以从“一次性密码”的名称中发现。针对不同消息,同一个私钥每回只能使用一次;如果对多个消息重复使用同一个私钥,其引发的问题可以从数学推导上看出。

假设我们有两条消息m1和m2,分别使用相同的私钥k进行加密。通过异或运算,我们会得到以下密文:

从上图,我们可以从密文C1⊕C2得到m1⊕m2。对于攻击者来说,他们就能基于这种关联性,通过各种统计分析、频率分析、模式匹配,或是使用2006年提出的自然语言处理方法,来获得原消息的内容。我不会深入解释存在这种关联性具体造成的危害,这里只是形象的说明当同一个私钥被使用的次数越多,密码的安全性就越低。

现在我们已经具备XOR加密和一次性密码的基础知识,是时候了解其他更实用的加密方法了。

流密码

一次性密码具有非常好的安全性,这意味着手上只有密文的情况下,攻击者不可能进行破译。但是好的安全性基于长度大于等于原消息的私钥,这使得一次性密码并不实用,因为如果加解密双方有很好的方法来传递消息和私钥,他们直接传递消息就好,没必要进行加密。

为了让一次性密码更加实用,我们引入“流密码”的概念。流密码的核心思想是——以“伪随机”密钥替代一次性密码中的“随机”密钥,伪随机密钥产生自

密码学安全伪随机数生成器。要注意的是,CSPRNG不同于一般的伪随机数生成器,因为CSPRNG产生的数据必须和真实随机数看起来没有区别才行。CSPRNG是一种算法,能产生一长串数字,类似于随机数的性质。因为随机数很难生成,所以CSPRNG要依靠种子来决定初始状态及将来产生的数;CSPRNG从相对较小的起始种子生成海量的随机数。如果起始种子是已知的,则随后产生的所有数都是已知的,也就是说CSPRNG具有确定性;这也导致CSPRNG产生的数,其随机程度完全取决于种子的随机程度。为了让一次性密码更加实用,我们可以根据所需长度,使用伪随机数生成器的输出替换原来的私钥;这样的话只要传递初始种子就可以了。因为CPRNG具有确定性,使用相同种子能得到相同输出。

为了更好理解,我们先看看原来的一次性密码:

使用伪随机数生成器的输出G(K),替换原来的私钥K:

替换后的私钥可以远远短于要加密的消息,使得分配及管理私钥更为方便,进一步改善了一次性密码不实用的问题。但这种做法也带来了新的问题:

将原来完全随机的私钥替换为安全随机数生成器的输出,会导致私钥长度比原消息短,使得我们的密码不再具有完全保密性。因此流密码的安全性取决于我们的伪随机数生成器的不可预测性。如果可以预测CSPRNG的输出,则可以获得明文消息。以下是大家熟知的一些使用弱流密码的密码系统:

802.11bWEP:WEP是一种给WiFi数据做加密的算法,它使用的流密码称为RC4。因为流密码中不能一直使用同个密钥,所以长期使用的密钥包含一个每次都会变动的值“IV”;然而“IV”只有24位,也就是说加密超过5000条消息后,就会有五成的概率出现相同的密钥。

CSS:DVDForum使用内容扰乱系统来管理DVD的数字版权,使得仅有获得授权的应用才能访问DVD内容。CSS使用40位的密钥,而40位的密钥空间较小,可以相对快速地暴力破解。

现在我们也掌握了流密码的知识,可以进一步讨论下一个密码系统——分组密码。

分组密码

分组密码是另一种能用于加解密数据的方法。分组密码包含两种算法:E用于加密,D用于解密,同时也用到了密钥K。

分组密码的核心在于,要加密的明文和输出的密文长度始终相同,为一固定量。该固定量称为“blocksize”,大小取决于所使用的分组密码算法。另外,私钥K的长度被称为密钥大小,也是固定量。常见的两种分组密码分别是3DES及AES——3DES具有64位的消息大小和168位的密钥;AES具有128位的消息大小和128、192或256位的密钥。

因为分组密码把可能的区块映射到其他的每一个区块,所以也被称为“用密钥完成的置换”或是“伪随机置换”。非常重要的一点是,私钥决定了输入的区块和相关密文区块的映射关系,而且是一对一排列的,所以只要知道私钥就能解密密文。

第一个比较重要的分组密码是1970年代IBM开发的数据加密标准,但DES并不安全,很快就被3DES取代;紧接着3DES又被1997年开发的高级加密标准所取代。AES是在国家标准与技术研究所的要求下制定的标准化分组密码。AES是当今使用的最常见的分组密码,重要性大大超过DES和3DES,所以我将着重介绍AES。

在我解释AES到底是怎么运作之前,先提醒一下我会跳过很多技术细节,如果有人对这深入这方面领域有兴趣,可以从这里获得你想要的。

AES及大部分分组密码,都是通过迭代进行运作的,输入的文本消息会使用连续的密钥以迭代的方式进行加密。第一步是获得一个密钥K,密钥一般是128位、192位或256位的,在这里我们只演示128位的AES;然后拿该密钥推导出一系列的RoundKeys来加密我们的消息。

上图例子中,我们输入128位的密钥,并通过Rijndael密钥方法?将密钥扩展成11个16字节的子密钥。接着,AES将原消息放入轮次函数?R(kn?,m)?进行独立加密计算,每次计算把扩展出来的轮次密钥?kn?及消息状态?m?作为输入,总共进行10次。

因为AES只能用在128位的消息上,因此我们把输入的消息?m?表示成4x4矩阵的单字节单元,同时也能把轮次密钥表示成4x4的矩阵,这样就可以对消息及其中间状态进行异或运算了。

首先,输入的消息和第一个轮次密钥进行XOR,再通过字节替代、行位移、列混淆等运算,输出转变后的消息状态作为结果。接着我们使用不同的轮次密钥重复上述这些步骤10次,唯一的不同点在于最后一次的计算不包含列混淆。最终的消息状态和第十一个轮次密钥进行异或计算,得到最后的输出。下面简述了每一轮次的计算中包含的三种步骤:

字节替代:根据替换表,将消息状态矩阵中的每一个字节,替换为相应的字节。

-在AES使用的替换表中,每一个字节单元以16进制表示。如,字节9a会替换为b8-

行位移:定量移动每一行。第一行不移动,第二行左移一位,第三行左移两位,第四行左移三位。

列混淆:对消息状态中每一列进行线性变换。目前为止,我们已经能使用AES来加密数据。然而,你可能很快能发现AES的局限性——没办法在只用一次AES的情况下,对超过128位的消息进行加密。要对超过16字节的消息进行加密,我们需要引入模式加密概念。

标签:区块链AESCSPSPR区块链可以看作是AES价格cspr币最新消息Wispr

酷币热门资讯
区块链:乌镇比原专场活动大咖云集,共话区块链生态与应用_区块链专业考研方向

11月8-9日,引人瞩目的世界区块链大会将在浙江乌镇举办,比原链将在8日下午在乌镇互联网国际会展中心雨读厅举办“KeepMOVing”专场活动.

1900/1/1 0:00:00
区块链:乌镇·ChainNode(链节点)CEO屈兆翔:科普+文化创意,让区块链流行起来_数字资产

11月8日,由巴比特主办的“2019年世界区块链大会·乌镇”正式开幕,大会聚集了百余位全球区块链、数字资产、AI、5G领域的专家学者、技术大咖、意见领袖、热门项目创始人,以“应用无界”为主题.

1900/1/1 0:00:00
比特币:嘉楠耘智第三季度总收入6.7亿人民币,矿机收入占比98.3%_888币是多少钱

据美国证券交易委员会官网显示,继10月28日递交第一次初级招股书之后,矿机生产商嘉楠耘智于11月5日更新了第二份经过修正的初级招股书,并且11月6日还递交了一份债券上市登记.

1900/1/1 0:00:00
KKT:10·23暴跌日Bakkt成交量创新高,网友疑惑为何机构总来做空_hamster

据TheBlock的数据显示,加密货币衍生品交易所Bakkt实物交割的比特币月度期货交易量实现了大幅增长。本周三,成交量达到481万美元,该数字超过前九个交易日的总和.

1900/1/1 0:00:00
BCH:BCH的“定时炸弹”?评论认为“BCH减半”对于其来说是一场灾难_比特币多少钱一个人民币

除了比特币明年减半之外,比特币现金也要减半,而且要比比特币更早来临,目前距离减半到来还有大约161天.

1900/1/1 0:00:00
区块链:最有学术味道,平均年龄最小,乌镇这场技术论坛来了全球200多位高校学生!_SEC

第二届世界区块链大会·乌镇将于本周周五、周六在乌镇互联网国际会展中心召开。 8日下午,GeekHub?将与BTCU在乌镇大会主会厅2楼218通济厅进行一场名为《行业新势力,来自高校的区块链声音》.

1900/1/1 0:00:00