AE中国

[刘少讲AE]AE的密码朋克精神

刘少 发布于 2019年11月13日 阅读 6,360 本文共1315个字,预计阅读时间需要4分钟。

前言

两个月前,因为忙着折腾AEPP等乱七八糟的,《刘少讲AE》话题暂停了下来。今天这个话题原本应该一个月前就已经完成了,但慵懒成性一拖再拖。前两日在跟一个朋友谈各种加密技术,单向的、对称的、非对称的,聊到了AE所使用的各种算法。密码算法一直跟我们的生活息息相关,它也是我们大部分数据的最后一道屏障。

今天聊聊AE如何从底层开始保护账户的安全,也就是AE所使用的各种密码算法。

先从区块链常用的密码分类说说

密码分类

  • 签名
  • 认证
  • 加密
  • 随机数
  • —————-
  • 对称加密算法
  • 非对称加密
  • 单向加密算法
  • 哈希算法

区块链一般所使用的有以上几类。其中签名、认证、加密一般使用上列表随机数再往下的那4种,其中签名加密(ECDSA)一般使用椭圆曲线加密。例如比特币\以太坊所使用的为secp256k1

AE各种算法

AE摒弃了大量较为早期的加密算法,如以太坊所使用的Keccak256(SHA3),比特币的SHA256\RIMPED160,转为更现代更安全或更高效的加密算法,如莱特币挖矿算法使用了更为现代的Scrypt。

AE在签名等大部分加密领域则采用了Ed25519(扭曲爱德华曲线),Ed25519对比secp256k1在安全性和性能方面有多个维度的改进,Ed25519其中仅有的一个余因子问题也已被修复。其在AE作为交易密钥签名所用。

Ed25519安全性极高,等价于RSA3000-bit及高于NIST P-256。签名过程不依赖随机数生成器,不依赖hash函数的防碰撞性,没有时间通道攻击的问题,并且签名很小,只有64字节,公钥也很小,只有32字节。

在AE上所使用的另加密算法为xsalsa20-poly1305,其中加密为xsalsa20,解密为poly1305。xsalsa20-poly1305为2014年google所提出的另一全新算法,在AE一般作为KeyStore密钥加解密所使用。

在AE源码上以及AEPP开发上你一定还会见到另一个相对陌生的哈希算法Argon2id,在大部分BIP39协议币种中随机数种子等单向加密算法一般使用PBKDF2。

Argon2id是Argon2i及Argon2d的改进版本,修复了i及d中所有已知问题。Argon2id是目前安全性最高的散列算法。在目前常用几个算法中安全性如下:

Argon2id > SSHA512 > SHA512 > SHA256

Argon2id具有很强的抗GPU计算能力,及抗强碰撞能力。当今随着GPU计算能力不断的提升,如Tesla V100 或 RTX 2080 Ti都已经达到了1.8GH/s计算能力,8张V100或2080TI就可以在一小时达到4 000 000 000 000次(4000亿)计算。现代密码学中,使用更大内存更多更长更复杂的资源消耗等技术来增大破解难度。

结语

在AE中,你可以看到种种的高强度,高性能加密算法。这也是密码朋克所追求的一种精神。原本这一期想写的是精神上的,结果光罗列的术语等数据就一堆了。再加上排比、精神等会太长。先到这里吧,下次看着再另起一篇作为下集。

这期可能比较难读太多专业术语,少了很多排比。临时起草可能比较乱,没有有序的思维及排版,有不对的地方或其它问题,欢迎指正。

如果你喜欢这篇文章,打赏AE钱包:aechina.chain

喜欢 20
or

相关文章

更多

发布评论

共1条评论
    WordPress › 错误