生物链林BFChain的加密机制是如何保障权益安全的?
在数字化的浪潮里,数字化和数据保护之争是一对原生的矛盾体。然而,区块链技术具备的加密和防篡改的特性为数字化时代所面临的困境打开了全新的局面,解决了数据使用与归属权之争。
那么,作为区块链重要特点之一的加密特性是如何实现的呢?事实上,区块链是融合数学、密码学、计算机科学等众多学科于一身的综合技术,在加密环节,主要是引入了密码学中的“非对称加密”技术,与之相对应的,还有”对称加密“机制。为了便于理解,我们先从后者说起。
1 对 称 加 密Symmetric Cryptography
在密码学中,纵然采用的加密方式不同,其最终目的都是为了以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了信息,但因不知解密的方法无法了解信息的内容,从而保证被传输信息的安全。
在1976年以前,几乎所有的加密采用的都是“对称加密”这一方式。其中的“对称”,指的是加密(encryption)与解密(decryption)过程中使用相同的密钥(secret key)或加密的规则。
对称加密机制的原理
对称加密的机制的加密过程为 :
秘钥+原文 ▶(加密生成)密文
解密过程为:
密文-密钥 ▶(解密输出)原文
作一个类比:如果使用对称加密给电脑上的文档加密。如果在加密的时候设置的密码是“123456”,那么,在需要解密文档的时候,也要输入密码“123456”。
对称加密的缺点
但是,在存在接收双方的网络传输环境中,假设A希望B发送一个文件,使用了对称加密,A也必须将密钥随密文同步发送给B。在发送方和接受方共享一个密钥的情况下,密钥的安全也就无从得到保证,这主要表现在两个方面:密钥的隐私性和密钥在传输过程中的安全性。
2 非 对 称 加 密Asymmetric Cryptography
正是基于对称加密的局限性,1976年,两位美国计算机学家Whitfield Diffie 和 Martin Hellman,提出了一种崭新构思,可以在不直接传递密钥的情况下,完成解密。
在这一算法中,加密和解密可以使用不同的规则,只要这两种规则之间存在某种对应关系即可,这样就避免了直接传递密钥。这种新的加密模式被称为"非对称加密算法"。
非对称加密运行的过程与原理
非对称加密即加密和解密的过程中使用的不同密钥。具体来说,在非对称加密机制中,存在着一对密钥。分别是公开密钥(Public Key,简称公钥)和私有密钥(Private Key,简称私钥)密钥总是成对存在,私钥生成对应的公钥。
例如,在BFT软件中,通常用户需要先生成一个私钥(由主密码生成),然后会自动生成一个相对应的公钥(继而通过公钥会生成相对应的地址)。这也是为什么在BFT输入的主密码错误时,进入了一个截然不同的账户(新的私钥生成了一个新的公钥,进而生成了一个新的账户地址)。
非对称加密最核心的原理是:发送方用接收方的公钥对原文进行加密,接受方可用自己的私钥对原文进行解密。
这一设计完美地解决了密钥的安全问题,让发送双方在安全保存自己密钥的情况下进行信息的传输。
其运行机制如下:
(1)A生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。
(2)B获取A的公钥,然后用它对信息加密。
(3)A得到加密后的信息,用私钥解密。
但是,仅仅是解决了密钥的安全还远远不够——在这个过程中还无法验证发送方的身份。由于B的公钥是对大众公开的,所有人都可以获取到B的公钥并给B发送消息,B收到的消息无法确认是否是A发送的。此外,也无法确定在传输过程中信息是否被进行过篡改。
因此,在非对称加密中,还有一个很重要的设计是:
发送方用自己的私钥对原文进行签名,接收方可根据发送方的公钥解开签名,得到原文。
这里涉及到的数字签名Digital Signature的概念,为发送方身份的验证与信息的一致性提供了可能。
3 哈希和数字签名Hash & Digital Signature
哈希 Hash
哈希计算,是指将一段数据(任意长度的文件/字段/文章等)经过一道计算,转换为一段固定长度、不可逆的字符串(或叫做消息摘要)。
哈希值的特性
不可逆性
几乎无法通过Hash的结果推导出原文,即无法通过X的Hash,而推导出X。
无碰撞性
输入值相同,则输出的哈希值是相同的。在不考虑哈希碰撞(即不同的数值产生的相同哈希数值)的情况下,输入值不同,输出的哈希值也不同的。
根据以上两个特性,通过想要通过输出的哈希值来得到输入值几乎是不可能的,但如果有输入值,可立刻验证输出哈希值是否一致。
我们举一个简单的一个例子来进一步理解哈希值的特性:
A给B发送了一句话“明天上午十点出发”,并将哈希值单独发送给B
运用SHA256算法进行哈希运算,这段话的哈希值为:
50ed2f28bddcf6bd8dbc0cfad783eb197ebd1ebf56ea028c655d4cb3bd93f574
假若C在中间截获了信息,并改成了“明天上午九点出发“
运用SHA256进行哈希运算,这段话的哈希值为:57016900b4405d8f6072748d0777614d89bc43f403bdfc9e9c9bada73c4a7d05
经过比比对哈希值,可以很明显地看到这个信息在中间被人动过手脚。这也是哈希值被用于验证文件的完整性或是否被篡改的一个简单应用。
与之对应的,通过比对输出的哈希值是否一致,可判断出“输入值”是否一致,也是数字签名的原理之一。
数字签名 Digital Signature
在数字签名的设计中,很重要的一点就是通过比对两个哈希值的数值是否一致来进行发送方身份的验证。这个比对的过程,就是非对称加密+数字签名运用的过程。我们可以以一个实际的例子来理解,如下图所示:
① 发送方A将要发送的内容用接受方的公钥进行加密,生成原文的密文。
② 同时,发送方A将原文进行哈希运算,得到原文的摘要d1。再运用自己的私钥对摘要进行签名加密得到自己的签名。发送方将密文与签名一起发送给接受方B。
③ 接受方B通过自己的私钥,对密文进行解密得到原文。
那么,如何验证原文没有被经过篡改且确实是A发送的呢?
④ 为了验证以上两点,接收方需要对解出的原文进行哈希运算,得到新摘要D2
⑤ 同时, 根据接收到的签名,通过发送方的公钥解密得到摘要D3
⑥若摘要D2=摘要D3,则可确定原文未经过篡改,且发送方的身份通过验证。
以上即是非对称加密与数字签名在区块链的应用。
4 BFChain的加密机制BFChain采用的同样是非对称加密与数字签名加密方式的机制,在此基础之上,BFChain还有需要独特的创新,形成了以加密算法、哈希算法、支付密码、密语密码、数字签名共同组成的多重加密机制。
加密算法:SHA256,在SHA256加密技术的基础上对加密和算法做了全方位的升级,升级的算法和加密技术让账户主密码的破解难度达到了:传统计算机破解需要1亿亿亿亿亿亿亿年;目前量子计算机比传统计算机快1亿亿倍,破解需要1亿亿亿亿亿年。
哈希算法:SHA256,在SHA256加密技术进行了改进后,破解难度达到了:传统计算机破解需要1亿亿亿亿亿亿亿年;目前量子计算机比传统计算机快1亿亿倍,破解需要1亿亿亿亿亿年。
支付密码:MD5+SHA256,支付密码突破了经典区块链多重签名的桎梏,让独立的账户变为双重签名,也就是双重密码/私钥。自定义的支付密码可以随意设置密码长度,即使支付密码长度设置为1位时,破解难度也超过主密码的破解难度。
密语密码:ED25519,在算法生成密码的基础上BFChain创新地使用了密语密码技术(自定义密码技术),用户可以将自己最喜欢的一句台词、一首歌、一首诗等等作为主密码使用,这既解决了算法生成原始密钥字符乱无意义难记住的问题,又增加了密码破解的难度。
数字签名:SHA256,BFChain独创了双重数字签名技术让用户的信息安全得到了全面的保护,其他用户有机会得到(密码生成有重复的概率、密码也有可能被黑客或者恶意软件盗取)第一重数字签名,BFChain独创的双重数字签名技术中第二重数字签名就会充分发挥保护信息及数字资产安全的作用。
版权声明 | 本文版权归「链上巴根」所有,未经授权禁止任何形式转载,欢迎转发传阅。
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。