【成长日记】区块链中的密码学,每个人应该了解一点

【成长日记】区块链中的密码学,每个人应该了解一点_第1张图片

一、区块链与密码学

(一)安全

区块链技术利用密码学的机制来确保链上的交易信息无法被修改和破坏,从而确保用户心的安全,隐私不被泄露。

(二)问题

密码学如何做到防止交易记录不被篡改、证明交易双方身份?交易双方的隐私保护等。

二、密码学

密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。密码学是研究如何隐密地传递信息的学科。在现代特别指对信息以及其传输的数学性研究,常被认为是数学和计算机科学的分支,和信息论也密切相关。密码学是信息安全等相关议题,如认证、访问控制的核心。

密码学的首要目的是隐藏信息的涵义,并不是隐藏信息的存在。密码学也促进了计算机科学,特别是在于电脑与网络安全所使用的技术,如访问控制与信息的机密性。密码学已被应用在日常生活:包括自动柜员机的芯片卡、电脑使用者存取密码、电子商务等等。

密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。

三、密码学内容

(一)Hash函数(哈希函数)

    哈希函数是密码学的一个分支,是非常重要基础的计算机算法,它将任意长度的输入信息变换为固定长度的输出信息,信息是不可逆的单向密码体系。哈希函数在数字签名(信息来源真实性)和消息认证(消息完整性)等方面有广泛的应用。

(二)哈希函数举例

区块链中两个比较常用的密码学哈希函数,一个是SHA256,一个是RIPEMD160,主要用于生成钱包地址,识别不同的用户。SHA256是构造区块链主要哈希函数,无论是区块头部信息还是交易信息,都用着个函数计算数据确保数据完整性。另外一个用途是完成POW(工作量证明)计算。

(三)数字摘要

数字摘要是对数字内容进行Hash运算,获取唯一的摘要值来指代原始数字内容,即将内容数字化;数字摘要能确保内容不被篡改(利用Hash函数的抗碰撞性特点)。网络下载的内容是否被更改过,通过提供的数字摘要值就可以比对。

四、加解密算法

(一)加解密算法

密码学的两项核心技术就是加密和解密算法,图标如下:


【成长日记】区块链中的密码学,每个人应该了解一点_第2张图片

(二)加解密系统

现代加解密系统的典型组件包括加解密算法、加密密钥和解密密钥。加解密算法自身固定不变,是公开课件的;密钥是最关键的信息,需要安全保护,有必要使用硬件媒质进行保管。同一种算法,密钥需要按照特定算法每次加密前随机生成,长度越长,则加密强度越大。

五、数字签名

(一)数字签名

(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名是非对称密钥加密技术与数字摘要技术的应用。

(二)案例说明

    数字签名类似我们签署的纸质合同的确认项,用于证实所发出的内容的完整性和来源的追溯。

如果A先生发送给B女士一份情书。

第一步:A先生对情书进行摘要,然后使用自己的密钥进行加密,将文件和加密串发送给B女士。

    第二步:B女士收到情书和加密串,用A的公钥解密加密串,得到原始的数字摘要,跟对情书进行摘要后的结果进行比对。如果一致,则说明是A发过来的情书,没有更改过。

(三)数字证书

数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名)。它是由权威机构——CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。

数字证书是用来证明某一个公钥是谁拥有的。对于数字签名应用来说,公钥举足轻重,一旦被人替换或者破坏,则整个安全体系将崩溃。数字证书证明信息来源和合法性。有证书认证机构来签发。

你可能感兴趣的:(【成长日记】区块链中的密码学,每个人应该了解一点)