理论教育 密码学原理-区块链+未来应用

密码学原理-区块链+未来应用

时间:2023-11-19 理论教育 版权反馈
【摘要】:非对称加密算法是相对于对称加密算法而言的。所谓哈希算法,也是区块链密码学原理中的一种加密算法。可以说,密码学原理是区块链技术的基础,也是核心,如果没有加密技术和算法,区块链不可能发挥更强大的作用,应用于更广泛的领域。

密码学原理-区块链+未来应用

密码学在区块链技术当中扮演着非常重要的角色,与此同时,它在互联网中也有很大的应用,为其提供大量的帮助。随着互联网技术的广泛应用,用户的数量不断增加,问题也随之产生。隐私的加密需要双方共享一个秘密的随机数,我们将它称为密钥。但是,两个素未谋面的人,如何实现共享密钥是一致的呢?最为关键的是,这个密钥还不能被第三方监听到。对于上述问题的需求,密码学应运而生。这个密码学原理起到的作用有加密、认证和识别。

所谓加密,分为对称加密和非对称加密。对称加密算法利用加密密钥对原始数据进行加密处理,然后将加密后的密文发送给接收者,接收者利用同一密钥及相同算法的逆算法对密文进行解密,才能使其恢复成原始数据。在对称加密算法中,使用的密钥只有一个,发信方和收信方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。区块链技术中常用的对称加密算法是AES。

非对称加密算法需要两个密钥,公开密钥和私有密钥。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。

非对称加密算法是相对于对称加密算法而言的。对称加密算法,在加密和解密时使用的是同一个密钥;而非对称加密算法,需要两个密钥来进行加密和解密,这两个密钥是公钥和私钥。

这里有个能够体现非对称加密算法的工作原理:

甲、乙两人使用非对称加密的方式完成了重要信息的安全传输:首先,乙生成一对密钥(公钥和私钥)并将公钥向其他方公开;其次,甲得到该公钥后,使用该密钥对机密信息进行加密,再发送给乙;最后,乙用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。由此,乙只能使用专用密钥(私钥)解密由对应的公钥加密后的信息;在传输过程中,即使攻击者截获了传输密文并得到了乙的公钥,也无法破解密文,因为只有乙的私钥才能解密密文。同样,如果乙要给甲回复加密信息,需要甲先给乙公布自己的公钥用于加密,甲自己保存的私钥用于解密。

所谓认证,就是区块链技术中使用的数字签名技术用于验证信息的完整性和真实性,一般流程:发送者将需要签名的原始数据进行HASH摘要,然后对摘要信息用私钥加密后与原始数据一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用同样HASH函数对收到的原文产生一个摘要信息,如果与解密的摘要信息对比相同则说明收到的信息是完整的,在传输过程中没有被修改,反之则说明信息被修改过,因此数字签名能够验证信息的完整性。此外,信息发送者拥有私钥且不公开,只有发送者本人才能构造基于其私钥的签名信息,可以确保签名的真实性。ECDSA是区块链技术中常用的数字签名技术。

所谓哈希算法,也是区块链密码学原理中的一种加密算法。(www.daowen.com)

例如,生活在世上的每个人,为了参与各种社会活动,都要设定一个识别自己的标志。名字或身份证虽然能证明你这个人,但这种代表性非常脆弱,因为重名的人很多,身份证还能伪造。最可靠的办法就是,将一个人的所有基因序列记录下来,但这样做并不实际,指纹看上去也不错,但代价太高。

对于在互联网世界中传送的文件来说,如何标志文件的身份同样重要。比如,下载一个文件,在文件下载过程中会经过很多网络服务器、路由器的中转,如何保证该文件就是我们需要的呢?既不可能一一进行检测,也不能利用文件名、文件大小等容易伪装的信息,这时就要使用类似于指纹的标志来检查文件的可靠性,这种指纹就是所谓的哈希算法。

哈希算法,又称杂凑算法、散列算法,是一种从任意文件中创造小数字“指纹”的方法,就是以较短的信息来保证文件唯一性,这种标志与文件的每个字节都有关系,且无法找到逆向规律。因此,一旦原有文件发生改变,其标志值也会发生改变,从而告诉文件使用者当前的文件已经不是你所需要的文件。

当然,作为一种指纹,哈希算法最重要的用途在于:给证书、文档、密码等高安全系数的内容添加加密保护。此用途主要得益于哈希算法的不可逆性,具体体现在:用户不仅无法根据一段通过散列算法得到的指纹来获得原有文件,也不可能简单地创造一个文件并让它的指纹与一段目标指纹相一致。

一个优秀的哈希算法,能够实现这些目标:一是正向快速。只要给定明文和哈希算法,就能在有限时间和有限资源内计算出哈希值。二是逆向困难。只要给定(若干)哈希值,在有限时间内很难(基本不可能)逆推出明文。三是输入敏感。原始输入信息只要修改一点内容,产生的哈希值就会有很大不同。四是冲突避免。对于任意两个不同的数据块,其哈希值相同的可能性极小;对于一个给定的数据块,找到与它的哈希值相同的数据块非常困难。可是,在不同的使用场景中,对某些特点会有所侧重。

可以说,密码学原理是区块链技术的基础,也是核心,如果没有加密技术和算法,区块链不可能发挥更强大的作用,应用于更广泛的领域

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈