由 MDUKEY 加密方式引申开:关于区块链中常见的非对称加密算法

长期以来,保护用户隐私数据一直是 MDUKEY的首要任务。MDUKEY存储服务作为最高优先级,采用代理重加密、多层加密(应用层、网关层、文件系统层)等技术,保护用户隐私数据,最小化用户数据分割,分布式存储,降低数据大面积泄漏的风险,同时保证服务高可用性,并且 MDUKEY在数据安全的基础上,采用对称和非对称相结合的加密方式,加上专业的加解密硬件,提高了加解密率,保证了服务的高吞吐量。非对称加密技术就是其中的一块基石,虽然很多人都听说过,但并不十分了解。所以,本文将从加密方法引申出来,深入地介绍在不对称加密算法中的“签名和加密”,不对称加密(asymmetric cryptography),也称为公开密钥加密(Public-key cryptography),它是一种密码算法。这需要两个密钥,一个公共的,另一个私有的。正如其名称所示,公钥可以随意对外公布;而私钥必须由用户自己严格保密,不得通过任何途径向任何人提供,也不得向对方泄露。不对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并公开其公钥,其他需要向甲方发送信息的角色(乙方)使用密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己的私钥解密加密的信息。当甲方要答复乙方时,恰恰相反,用乙方的公钥加密数据,同理,乙方用自己的私钥解密。不对称加密有两个重要性质:2.1双向加密,加密是双向的,即公钥和私钥中的任何一个都可以用来加密,而此时另一个可以用来解密。用其中一种密钥解密明文所得到的密文,只能用相应的另一种密钥解密得到原来的明文,而不能用原来用来加密的密钥解密,这是非对称加密最重要的特性或特征。2.2公钥不能导出私钥,必须保证不能导出使用公钥,至少妄想用公钥导出私钥在计算中是不可行的,否则就会失去安全性。尽管数学上有两个密钥是相关的,但是如果一个公钥是已知的,那么它就不能被计算出来;因此,这个公钥可以被公开,并且可以任意地向外界公布;而且,私钥不被公开,也不会通过任何途径提供给任何人。当前常用的非对称加密算法有 RSA算法、 Elgamal算法和 ECDSA算法,其中 ECDSA算法在区块链中的应用最为广泛,而 ECDSA算法则是最常用的。3.1 RSA算法, RSA是目前研究最多的公开密钥算法,自提出至今已有四十多年,经历了各种攻击的考验。RSA的安全性主要取决于大数分解,其优点是可以将秘密密钥长度增加到任何长度。由于 RSA操作方式使签名内容如果更短,就很容易被攻击者修改,因此一般还需要对签名内容进行散列操作,并将其填充到与私钥长度相近的位置。另外,随着计算能力的增长,为了防止被破解,秘密密钥的长度也需要增加,目前人们认为安全的秘密密钥长度是2048 bit。与此同时, RSA的私钥生成需要结合两个质数,所以寻找较长私钥的计算速度也较慢。3.2 Elgamal算法, Elgamal由 Taher Elgamal于1985年发明,它基于 Diffiez Hellman密钥交换算法,该算法允许通信双方通过公开通信[Diffiez Hellman]得出只有自己才知道的秘密密钥的价值。由 Whitfield Diffie和 Martin Hellman于1976年发明,被认为是第一个非对称加密算法,而 Diffie (Hellman)与 RSA的区别在于, Diffie (Hellman)不是加密算法,而仅仅是产生可用作对称密钥的秘密数字。密钥交换过程中,发送者和接收者各自产生一个秘密的随机数,由该随机数导出公开值,再由双方交换该公开值。迪菲·赫尔曼算法的基本原理就是能够生成共享密钥。当公开值被交换时,双方可以使用各自的私密数和对方的公密值来产生对称密钥,即共享密钥。对称密钥对于两个方面都是一样的,可以用来用对称加密算法加密数据。3.3椭圆曲线数字签名算法,椭圆曲线算法是利用椭圆曲线在有限域上的离散对数问题对椭圆曲线进行加密或签名。与 RSA相比,椭圆曲线的秘密密钥不同, RSA的有效范围受到椭圆曲线参数的限制,所以不能像 RSA那样通过增加密钥长度来提高安全性,对于安全性不足的曲线,必须对其参数进行修改,其灵活性不如 RSA,与 RSA算法相比,椭圆曲线算法的优点在于:私钥可以选择有效范围内的任意数,产生的私钥比 RSA算法要快得多。其中最重要的是,相同秘钥长度的椭圆曲线的安全性有很大提高,所以达到相同安全级别所需的椭圆曲线秘钥的长度要比 RSA秘钥长得多,因而所占的存储空间相对较小,椭圆曲线更适用于存储较受限的区块链。

提示:如果您觉得本文不错,请点击分享给您的好友!谢谢
相关推荐
新闻聚焦
猜你喜欢
热门推荐
 
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。