区块链:密码学基础——伪随机数生成器

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

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

密码学家David Chaum推出保护隐私的CBDC技术:金色财经报道,加密货币教父、密码学家David Chaum推出保护隐私的央行数字货币(CBDC)技术,正在与瑞士国家银行(SNB)合作开发Tourbillon,该项目专为注重隐私的央行货币而设计,将在国际清算银行(BIS)创新中心的主持下开发。

BIS公告称,Tourbillon旨在通过将盲签名和混合网络等技术与密码学和CBDC设计的最新研究相结合,通过试验抗量子密码学来实现网络弹性、使用与分布式账本技术兼容但不基于分布式账本技术的架构来实现可扩展性、为付款发送方但不为接收方提供隐私。[2022/11/10 12:44:30]

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

IoTeX密码学负责人范博士:DID去中心化身份认证对物联网未来发展影响深远:官方消息,IoTeX密码学负责人Xinxin Fan博士在”维也纳数字身份会议 (Vienna Digital Identity Meetup)“上主题演讲了 IoTeX 最新的“DID去中心化身份认证”研究报告,阐述了IoTeX如何通过区块链和物联网技术实现去中心化身份创建和身份访问管理,以及DID去中心化身份认证对未来物联网的影响和作用。

IoTeX作为硅谷开源项目成立于2017年,以链接现实世界和数字世界为发展目标,是与以太坊全兼容的高性能公有区块链。[2021/10/6 20:09:33]

声音 | 密码学博士高承实:央行数字货币发行内容的明确和待明确:8月12日,密码学博士高承实博客发文《央行数字货币发行内容的明确和待明确》,文中指出央行数字货币发行已经明确的内容包括:1.央行数字货币发行采用双层运营体系;2. 坚持中心化的管理模式 ; 3. 重点是M0替代,而不是M1/M2替代;4. 采用100%准备金制 5. 不采用纯区块链架构。央行数字货币发行待明确的内容包括:1. 双层体系如何运营? 2. 实行哪种中心化管理?3. 如何做到账户松耦合?

此外,他还指出央行数字货币体系注重M0替代,在管理机制和技术实现上面临着如何实现央行数字货币与原电子货币系统的整合问题。而且如何做到二者有机协调、互相借鉴、取长补短,并最终形成完整统一的央行数字货币体系,也是需要关注的问题。[2019/8/13]

声音 | 迅雷张骁:区块链发展与密码学的提升密不可分:据洞察网消息,迅雷链底层研发工程师张骁表示,区块链之所以能够解决人与人之间的信任问题,就是因为它的不可篡改性,而这种特性本质上又是基于密码学算法来实现的。因此密码学在区块链中的地位很关键,区块链作为信任的基石,密码学则是区块链的基石。

他相信,未来区块链的发展与密码学在安全领域上的提升是密不可分的,所以迅雷链也会紧密地去关注密码学未来的发展。[2018/12/24]

金色财经现场报道 Ripple首席密码学家:Ripple一直非常关注现实世界的支付用例:金色财经现场报道,今日Coindesk 2018共识会议正式在纽约开幕。在有关互操作性竞赛的圆桌讨论时,Ripple首席密码学家David Schwartz表示:“我们一直非常关注现实世界的支付用例,这就是为什么Ripple构建了Interledger,这是一个并不关心人们使用什么网络的简单协议。”[2018/5/15]

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

地球链

[0:15ms0-1:37ms