前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GaiaWorld:加密技术在区块链中的意义

GaiaWorld:加密技术在区块链中的意义

原创
作者头像
GAIAWorld
修改2018-09-17 15:23:36
1.5K0
修改2018-09-17 15:23:36
举报
文章被收录于专栏:GAIAWORLDGAIAWORLD

微信公众号:GaiaWorld

加密技术作为区块链技术里极其重要、不可或缺的一部分,为区块链的匿名性、不可篡改和不可伪造等特点保驾护航。如果说共识机制是区分一个公链质量的核心和灵魂,那么加密算法则是一个公链是否值得信赖、是否有基本的安全性的底线。不以达成共识、高交易速度为追求,只为“安全”这一个核心服务,是数字货币又称为加密货币的另一个原因。

比起共识算法,加密算法与密码学相关,更难理解,大多数公链采用的加密算法,都是经过反复验证和时间的检验的,几乎均采用保守型技术选型。加密算法一旦因为漏洞而被攻击,那么整条区块链的数据都将受到挑战。

如此重要的加密算法,需要应用在区块链哪些场景中,目前公链又普遍使用什么样的加密算法呢?

区块链使用的最为广泛的加密算法——非对称加密

加密算法一般分为对称加密和非对称加密,在区块链中普遍使用的是非对称加密。

对称加密是指:单钥密码系统的加密,同一个秘钥可以同时作为信息的加密和解密。

非对称加密是指:在加密和解密过程中使用两个非对称的密码,分别称为公钥和私钥。

非对称秘钥对具有两个特点:一是用其中一个密钥(公钥或私钥)加密信息后,只有另一个对应的密钥才能解开。二是公钥可向其他人公开,甚至人人可获取,私钥则保密,其他人无法通过该公钥推算出相应的私钥。利用此种算法生成的公钥和私钥,目前所知实际上是无法从公钥反向破解出私钥的。换句话说,如果你能破解椭圆曲线加密算法,你就不会在意比特币这点“小钱”。

非对称加密是一个统称,在非对称加密中,代表算法有 RSA、ECC/SM2。

RSA:经典的公钥算法,1978 年由Ron Rivest、Adi Shamir、Leonard Adleman 共同提出,三人于2002 年获得图灵奖。对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。

ECC:椭圆曲线算法。在1985年由Neal Koblitz和Victor Miller分别独立提出。主要优势是在某些情况下它比其他的方法使用更小的密钥——比如RSA加密算法——提供相当的或更高等级的安全。另一个优势是可以定义群之间的双线性映射,基于Weil对或是Tate对;双线性映射已经在密码学中发现了大量的应用,例如基于身份的加密。不过一个缺点是加密和解密操作的实现比其他机制花费的时间长。

两者对比之下,各有千秋,但对于追求更高安全性的区块链来说,大多数公链还是会选择椭圆曲线算法。

加密算法的应用场景

非对称加密在区块链中主要应用于信息加密、数字签名和登录认证。即是主要应用在区块链数字货币交易中,防止篡改和伪造信息。

信息加密:信息发送者A利用信息接收者B的公钥将信息加密后再发给B,B即可利用自己的的私钥将信息解密。

数字签名场景:则是由发送者A 采用自己的私钥加密信息后发送给B,B使用A 的公钥对信息解密、从而可确保信息是由A发送的。

登录认证场景:则是由客户端使用私钥加密登录信息后发送给服务器,后者接收后采用该客户端的公钥解密并认证登录信息。

GaiaWorld:加密算法的安全是第一位的

由于加密算法并非一种能够轻松独创的技术, RSA的三个创始人均是麻省理工学院的密码学专家,三人还因创造了RSA而得到了图灵奖;而ECC的创始人Neal Koblitz 是华盛顿大学的数学教授和滑铁卢大学的兼职密码学教授。

可见想要独创加密算法是一件难度非常大,并且需要很长时间去验证安全性,安全可控性较低,所以大多数公链为了安全起见都会采用已有算法。比如比特币和以太坊均使用的是ECC椭圆体系加密。

椭圆曲线加密算法也是Gaia的选择——一个指数级的安全算法。

GaiaWorld使用椭圆曲线算法生成公钥和私钥,选择的是curve25519曲线。Curve25519 是目前最高水平的 Diffie-Hellman函数,适用于广泛的场景,由Daniel J. Bernstein教授设计。

在签名加密上,GaiaWorld选择的是椭圆曲线加密ed25519。ed25519是一个数字签名算法,签名和验证的性能都极高,一个4核2.4GHz 的 Westmere cpu,每秒可以验证 71000 个签名,安全性极高,等价于RSA约3000-bit。签名过程不依赖随机数生成器,不依赖hash函数的防碰撞性,没有时间通道攻击的问题,并且签名很小,只有64字节,公钥也很小,只有32字节。

加密算法的安全级别决定了整个公链的安全和可靠性,也是公链一切价值的底层建筑,Gaia对公链安全性的重视放在第一位。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 区块链使用的最为广泛的加密算法——非对称加密
  • 加密算法的应用场景
  • GaiaWorld:加密算法的安全是第一位的
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档