美文网首页
加密解密在区块链中的应用

加密解密在区块链中的应用

作者: 李桐2000 | 来源:发表于2019-05-14 09:51 被阅读0次

    区块链是多种技术相互结合的产物,其中最重要的一项就是加密解密。本文总结加解密技术在区块链中的应用。

    加密解密技术

    加密是指利用密钥将信息生成密文的技术。解密就是反过来,利用密钥将密文还原称可读信息的技术。目前,根据密钥的不同主要分为对称加密和非对称加密两种。

    对称加密是指加密和解密采用同一把密钥。其特点为算法公开、计算量小、加密速度快、加密效率高。主要算法有DES,3DES,AES,TDEA,Blowfish,RC5,IDEA。

    非对称加密是使用一个密钥对,公钥和私钥,私钥可以推算出公钥,而公钥无法得到私钥。私钥加密信息,对应公钥可以解密。反之,公钥加密信息,对应私钥也可以解开。它的特点是具有更好的安全性,公钥可以公开而不用担心信息泄露,但是它的计算复杂,加解密速度慢。主要算法有RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。

    非对称加密又有两种不同的用途

    1. 数字签名。发送方利用私钥加密,发送原文和密文。接收方利用公钥解密,验证解密信息是否和原文一致,即可确认是否为发送方发送。
    2. 数据加密。发送方利用公钥加密,发送密文。接收方利用私钥解密,获得传递数据。

    还有一种特殊的加密技术 - 信息摘要算法。将输入信息转换为一串定长数据,并且无法根据结果还原出原始信息。相当于给输入信息生成了一个数字指纹。主要算法有MD5和SHA。

    在区块链中的应用

    防止数据篡改:目前最常见的应用是利用非对称加密防止数据篡改。以以太坊为例,用户地址来自于用户公钥来自于用户私钥。用户发起事务需要用私钥加密事务数据生成签名,然后发送附有签名的事务数据。由于非对称加密效率问题,不适合加密大量数据,只适合加密短小信息。一般都会采用信息摘要算法生成信息指纹,然后基于较短的信息指纹生成数字签名。

    共享数字指纹:另一类常见应用是链上共享数字指纹。区块链解决了信息多方共享的问题,但是由于目前基础技术的制约,无法做到大量数据链上保存以及高效读写。这种情况下的一个解决方案是,链上保存证据,链下传输数据。先利用信息摘要算法生成共享数据的数字指纹,并将其上链。链下各方采用传统方式获得共享数据,最后各自利用链上数字指纹验证数据是否正确。

    共享原始数据:随着区块链底层技术的发展,原始数据将越来越多的直接保存在区块链上。但由于区块链的去中心化特性,对于敏感信息,必将采用数据加密方式保证原始数据不被存储节点窃取。针对原始数能够共享给多个访问者的特点和直接采用非对称加密效率低的问题,推荐如下方案,对称加密数据信息,非对称加密传输对称密钥。数据发布方采用对称加密加密原始数据,当需要共享给某个接收者时,用接受者公钥加密对称加密密钥,让后将数据密文和对称密钥密文一起发送给接收者,接收者先用自己的私钥解出对称密钥,然后用对称密钥解出原始数据。

    下一步应用方向

    1. 属性加密实现一对多授权解密。
    2. 代理重加密实现服务器端加密。
    3. 同态加密实现密文运算。

    相关文章

      网友评论

          本文标题:加密解密在区块链中的应用

          本文链接:https://www.haomeiwen.com/subject/vlujaqtx.html