EEL:密码学基础——伪随机数生成器

如果想要深入了解区块链和区块链项目,不可避免的需要了解密码学。区块链是对密码学的一次整合运用,理解了密码学,才能真正理解区块链。猎豹区块链中心在密码学起源的科普文章中,给大家介绍了经典的加密方法,从凯撒密码到多表密码,以及一次一密,在本篇文章中,我们将会和大家分享最早实现一次一密的加密机以及伪随机数生成器。Enigma加密机

第二次大战初期,法西斯的整体战争实力其实是远远不如同盟国的,但是,德国、日本采取了大量的的突袭战术,在二战初期先发制人,取得了一定的战争优势。要想有效的实施突袭战术,情报是非常关键的,那么如何保证情报的安全性,就是二战期间加密学的主要目标。在上一篇文章中我们提到,要想保证信息都绝对安全,就需要用一次一密都方式对信息进行加密,也就是对每个字母进行随机位移的加密,理想的情况是,这个机器将每一个输入的字母,都对其进行随机位移,然后输出加密过的字母。当时最先进的机器,被称为转子加密机,它很好的实现了一次一密。而其中的原理其实和我们熟知的里程表很像。我们都很清楚里程表的机器,它需要很长时间才会重复一周。想象一下,我们把里程计轮子上的数字打乱,当没嘀嗒向前一次时,都把转子上的每一个数字相加,来得到了位移数字,然后把我们要加密的字母进行位移加密,这就是转子加密机的大致原理。加密者和接受者可以根据下面的方法生成相同的位移序列:首先,他们需要共享相同的机器,然后就初始状态达成一致。这被定义为机码设置,然后他们把各自的机器调整到相同的位置,最后,不断进行相同的操作,来得到相同的序列。对于三个转子、每个转子有26个数字而言,每个序列经过转子26的三次方次的转动的位移序列才会重复。而每一个转子的位置,都等同于序列里的对应位置,最初的机器状态被称为机码设置,而所有的机码设置的集合,则被称为机码空间,如果最初设置机器的方法增加了的话,机码空间也就增加了。当我们选择一个机码设置,我们就选择了这个空间里的一个起始点,如果把机码设置给暴露了,就泄露了整个加密序列。所以,这种转子加密机的安全性取决于机码空间的大小,与机码设置的随机性这两方面。在第二次世界大战期间,德国纳粹使用的最重要的加密技术之一,就是被称为Enigma的加密机。在临近战争结束时,Enigma可以被设置成超过150百万百万百万种方式。这让德国人相信,盟军获得了Enigma机,也无法验证所有可能的机码设置。对于使用Enigma进行通信的双方,他们需要首先共享每天的机码设置,这使他们可以将各自的机器调整到同一位置,这个协议在战争期间一再改变,但通常都会在分配密钥表上分发给所有操作者,每一天,操作者都会剪下当日的设定,而这会告诉他们,机器当天需要的配置,例如,使用哪个转子,以及转子的顺序,然后在使用之后,机码设置就会被销毁。然而,对于操作者而言,仍剩下一个至关重要的步骤,在通信之前,他们将要选择,每一个转子的初始位置,而一些懒惰的操作者,犯下一个很简单的错误,这和我们锁自行车机械锁犯下的错误一样,我们倾向于把转子从初始位置移动很少几下,或者重复使用一个常见的密码,这破坏了初始转子位置的均匀分布,在重复观测后,使得盟军可以完全可以反向还原转子的线路分布。这种人为的低级失误导致了Enigma机的最终破解,间接影响了战争的走势。我们可以看到,一次一密最大的问题是,我们不得不提前共享这么长的密钥。为了解决这个问题,我们需要引入伪随机数。伪随机数生成器

密码学家发现MetaMask存在可致用户IP地址泄露的漏洞:金色财经报道,OMNIA协议的联合创始人、安全分析师和密码学家Alexandru Lupascu称MetaMask钱包存在漏洞风险,恶意攻击者可以简单地创建一个NFT,并通过转移该NFT的免费所有权来获取用户的IP地址,黑客只需花费50美元就能攻击他人的隐私。

Lupascu表示,他在2021年12月14日发现了这个安全漏洞,并向MetaMask团队提出了解决方案,但他们忽视了这个问题,并表示将在2022年第二季度之前解决。

在这项研究向公众展示之后,MetaMask的创始人Daniel Finlay承认了这一事件:“我认为这个问题已经被大众广泛知晓很久了,所以我认为披露期并不适用。”Finlay补充说:“Lupascu说我们没有尽早解决这个问题,他说得没错。我们现在就开始着手解决这一问题。谢谢你的提醒。”(BeInCrypto)[2022/1/23 9:07:16]

在理解伪随机数之前,我们先来看看真正的随机数,我们的物理世界,其实到处都存在着随机波动,通过测量被称为噪音的随机波动,我们可以生成真正的随机数,测量噪音的过程被称为取样,我们可以通过取样得到某个随机数字。但是,相对来说,机器其实是确定的,他们的操作是可预测并且可重复的。在1946年,冯诺依曼参与了军方的氢弹的设计,应用了一个名为ENIAC的计算机,他打算重复地计算核聚变过程的模拟,然而这需要随机生成数进行快速存取,并且保证这些数是可重复的,然而,ENIAC的内存相当有限,存储长的随机序列是不可能的。于是,冯诺依曼设计了一个算法,来机械的模仿随机性,该算法如下:首先,选择一个被成为种子的真正随机数,这个数可以来自于对噪音的测量,如当前时间的毫秒数,这被称为种子。然后,把这个种子作为输入,进行一个简单的计算——将种子乘以它自身,然后输出这个结果的中间部分,接下来,使用这个输出,作为下一个种子,并按照需要多次重复这个过程。这被称为评分取中法,这是大量伪随机数发生器其中的一个。那么,随机生成的数列和伪随机生成的数列之间的差别是什么呢?核心区别就在于,伪随机数如果达到一定数量,序列最终一定会重复,当算法中出现了之前已经使用过的种子数字时,循环就开始了,在伪随机数序列重复之前的长度,被称为周期,周期严格地由最初种子的长度所限制。例如,如果我们使用一个两位的种子,那么算法在重复循环之前,最多能生成100个数,一个3位的种子在重复循环之前,可以生成1000个数,而4位种子在重复之前,可以生成10000个数,然而,如果我们使用一个足够大的种子,在重复之前,序列中的数字将会到扩大到万亿个。还有一个关键区别非常重要,那就是当你伪随机地生成数字时,将会有一些无法产生的序列。例如,如果加密者Alice生成一个含有20个位移的真正随机序列,这将等价于从所有可能的位移序列的堆栈中,随机选择一个序列,这个堆栈中包含了26的20次方种可能,这是一个天文数字。但如果加密者使用一个4位的随机种子生成一个20位的伪随机数序列的话,他只能在10000种可能的结果中,做出等概论的选择,也就是说她只能生成10000种不同的序列。当我们从随机位移转向伪随机位移时,相当于把密钥空间缩小成了一个相对较小的种子空间。伪随机数概念的提出使得加密者与接收者不需要再事先共享整个随机位移序列,而只需要共享相对较短的随机种子,然后再需要时把它扩展成相同的看起来很随机的序列就可以。但是如果他们始终无法见面来共享这个种子,该怎么解决呢?这就是现代加密技术最重要的内容,也是区块链中加密的核心,我们将下一篇文章中重点介绍。

Neo创始人达鸿飞:区块链在技术上可通过新型密码学工具或分层来解决隐私保护难题:Neo创始人达鸿飞在微博上表示,在人工智能大会直播环节与大家就区块链技术价值做了更深入的讨论。曾有杂志把区块链比作信任的机器,输送“石油”,这里的“石油”其实是指我们从繁杂的数据中提炼出的有价值的数据。人们逐渐意识到数据作为一种新型生产要素,蕴含着许多有价值的信息,而人工智能、大数据等新兴技术可以把这些有价值的“石油”从地底下提炼出来。但提炼后如何运输给需要的人和企业?区块链可以完成这个职责,区块链可以确认数据归属权、使用权等,把数据这种新型要素组织起来,把经济活动的行为用数字化的方式完成,最终实现减少碳排放的大目标。

区块链在技术上可通过新型密码学工具,如零知识证明,或分层来解决隐私保护难题。从治理的角度,探索区块链的可管理性,与现存法律及制度进行结合,有助于区块链成为主流化的应用。[2021/7/13 0:48:20]

密码学家:端到端加密面临着越来越大的阻力:金色财经报道,约翰·霍普金斯大学的密码学家、安全技术专家和计算机科学教授Matthew Green表示,试图整合端到端加密的公司正面临着一场艰苦的战斗,因为开发保护私人通信系统的创新者面临着越来越大的阻力。Green表示:“真正让我担心的是,美国和其他政府强烈要求阻止部署新的E2E加密。”去年,美国总检察长William Barr与来自美国、英国和澳大利亚的国际执法合作伙伴签署了一封公开信,批评了Facebook计划在其所有消息传递平台上实施E2E,致使对端到端加密的反击获得了很大推动。[2020/6/6]

动态 | 1999年的密码学难题被解开,证明被存储在BTC和BCH区块链上:据bitcoin.com报道,1999年4月,麻省理工学院(MIT)的密码学家设想了一个预计需要35年才能解决的难题。上个月,自学成才的程序员Bernard Fabrot透露已经破解了该难题。Fabrot的证明过程已于4月20日被标记并储存在BCH区块链上,并已在此后5天被储存在BTC区块链上。此后Antpool矿池还在Coinbase的数据中为573138区块添加了祝贺信息。[2019/5/18]

动态 | Seele元一密码学黄皮书正式公开:今日,Seele元一全球首发的密码学领域黄皮书“多重椭圆曲线的数字签名方法”已被提交至全球预印本资料库资料库资料库arxiv.org发表,并随后于Seele元一官网Seele.pro全文公开。该黄皮书通过椭圆曲线数量和六个参数的动态调整,实现了适用于不同应用场景和安全需求的动态签名机制。Seele元一首席科学家毕伟博士表示:“新签名算法和独特的运行机制,为主网上线提供了更加坚实的安全技术保障。[2018/8/10]

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:15ms0-0:877ms