更多关于KuPay,请关注我们
微信公众号:KuPay
几乎都知道,区块链的关键技术组成主要是:P2P网络协议、共识机制、密码学技术、账户与存储模型。而这些技术中,又以密码学与共识机制这两点为最核心。其中区块链的安全性最关键的制约就是密码学。
区块链中用到的密码学算法其实就两大类:
哈希算法
非对称加密算法
其中,哈希算法是区块链中用的最多的一种算法,它被广泛的使用在构建区块和确认交易的完整性上。
Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。
在区块链领域多数提到的“哈希算法”(Hash 算法)一般指“安全散列算法”(Secure Hash Algorithm,缩写为 SHA),是一类起到固定作用算法的集合,哈希函数(Hash Function),也称为散列函数或杂凑函数。哈希函数是一个公开函数,可以将任意长度的消息M映射成为一个长度较短且长度固定的值H(M),称H(M)为哈希值、散列值(Hash Value)、杂凑值或者消息摘要(Message Digest)。它是一种单向密码体制,即一个从明文到密文的不可逆映射,只有加密过程,没有解密过程。
它的函数表达式为:h=H(m)
哈希算法在区块链中扮演着重要的角色,现阶段,哈希算法是较为先进的加密算法之一,主要运用在信息校对和数字签名上。而同样的,它也被运用在区块链技术当中,能够加密区块链上的信息,保证交易信息不被篡改。
哈希算法包含多种计算方式,区块链领域常用的有scrypt算法和SHA-256,我们熟悉的比特币使用的是SHA-256算法,而莱特币(Litcoin)使用的则是scrypt算法,因此这两种算法成为了区块链领域的主流算法之一。
除此之外,还有其他一些哈希算法也很流行,例如 SHA-1、SHA-2(SHA-224、SHA-256、SHA-384、SHA-512)、SHA-3 等,其中 MD5、SHA-1 已被证明了不具备强碰撞阻力,安全性不够高,已经被市场淘汰。
比特币采用的SHA256算法,该算法属于SHA-2系列,在中本聪发明比特币时(2008)被公认为最安全最先进的算法之一。除了生成地址中有一个环节使用了REPID-160算法,比特币系统中但凡有需要做Hash运算的地方都是用SHA256。
SHA256的安全性已经受了质疑,到目前为止,尽管没有公开的证据表明SHA256有漏洞,但是比特币挖矿引起的电力及其他资源的巨大耗费却是行业公认。
2011年,使用Scrpyt算法的莱特币(Litecoin)横空出世,到今天为止scrypt算法都被后面的很多“山寨币”沿用。
Scrypt不仅计算所需时间长,而且占用的内存也多,使得并行计算多个摘要异常困难,因此利用rainbow table进行暴力攻击更加困难。scrypt没有在生产环境中大规模应用,并且缺乏仔细的审察和广泛的函数库支持。某种程度上面scrypt在算法层面的安全性被认为高于PBKDF2和bcrypt。
KuPay 使用 Argon2 算法作为默认Hash 算法。Argon2 算法是全球密码竞赛的冠军算法,每次运行Argon2算法需要耗费大量内存和数秒运算时间,且对多线程和GPU不敏感。Argon2算法可以抵御侧信道攻击和 GPU 运算攻击。
由于 Argon2 大量消耗内存且对多线程和 GPU 运算不敏感,安全性比传统 Hash 算法高出一个维度。加盐之后的 Argon2 算法可以在数百年内抵御包括量子计算在内的人类已知的所有密码破解方案。
区块链的密钥体系在保持着高安全性的同时,由于其私钥及助记词过长,一旦用户失去备份文件,将有极大概率遗失,同时由于风险,用户也无法将该类数据存储到云端等第三方平台,造成了用户极大的困扰。
KuPay 结合图像哈希、内存哈希和配对加密技术,独创照片密钥功能。开发了结合图片、密码、签名算法三者为一体的新式密钥体系,用户通过上传一张图片并输入密码并通过平台的签名算法为其生成唯一的密钥,用户可将图片与其他图片混合后安全的备份至其他云服务器,用户只需通过照片和密码即可找回钱包中的所有资产,不再需要使用助记词。
图像哈希(Image Hash)的唯一性和敏感性决定了他能够作为一种先进的加密技术被运用。图像一旦经过篡改后的哈希值会发生明显的变化。作为加密算来来说,敏感性越好,安全性越强。
这正是kuPay选择图片哈希作为加密方式之一的原因,坚持不断创新,引入新特性的可靠技术,这无疑将帮助kuPay在数字货币钱包中脱颖而出。
更多关于KuPay
官网:http://www.kupay.io
telegram:https://t.me/ku_paywallet
扫描二维码添加KuPay小助手带你进群
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。