UCK将私钥硬件化 是数字资产安全储存的又一次革新
前言:
互联网打通了连接世界的桥梁后,为人们提供超乎寻常便利的同时,也为那些黑客们大开了方便之门。
黑客威胁着互联网安全性但也助推着防御技术的发展。
防火墙的发明能最大限度阻止网络中的黑客访问你的网络,进而阻止他们窃取你的资料。
在区块链领域,安全性更是尤为重要,因为在这里,黑客窃取的就不仅仅是资料了,他们可以利用系统的漏洞,大量盗取人们的数字货币,继而获得巨大的利益,利益驱使下,违纪者们前扑后拥。
在上一篇文章中,我围绕着区块链的安全性,为大家讲解了什么是密钥——公钥与私钥。
而在本篇文章中,我将为大家着重讲解一下,密钥的算法,如下:
RSA算法——目前最流行的公开密钥算法
RSA算法的前三个字母由它的三个发明者Ron Rivest、Adi Shamir和Leonard Adleman 的名字首字母命名,是最常见的非对称加密算法。它可以用于加密,也可以用于数字签名,是目前最流行的公开密钥算法。
RSA安全的第一大基石是大质数分解的难度,RSA的公钥和私钥是一对大质数,从一个公钥和密文恢复明文的难度,等价于分解两个大质数之积,这是众所周知的数学难题。
RSA安全的第二大基石是大数的因子分解,但没有从理论上证明破译RSA的难度与大数分解的难度等价。
RSA算法并非没有缺陷,它无法从理论上确保它的保密性能。不过,RSA从提出到现在20多年里,经历了无数的攻击考验,被普遍认为是目前最优秀的公钥方案之一。
RSA的缺点:
(1) 产生密钥很麻烦,受限于质数产生的技术;
(2)分组长度太大,运算代价高,速度慢。
我们可以通过一个案例来理解RSA算法。
假设孙宇晨要与巴菲特进行加密通信,他该如何生成公钥和私钥呢?
● 选择两个质数
通常是随机选择两个不同的质数,我们可称为p和q。
假设孙宇晨选择了61和53——当然,在实际应用中,这两个质数越大越好,质数越大就越难破解。
● 计算p和q的乘积n
孙宇晨将61与53相乘:
n=61×53=3233
n的长度就是密钥的长度。3233写成二进制是110010100001,一共有12位,那么密钥的长度就是12位。
实际应用中,RSA密钥一般为1024位, 重大场合则为2048位。
● 计算n的欧拉函数Φ(n)
根据公式:
φ(n)=(p-1)(q-1)
孙宇晨算出φ(3233)等于60×52,即3120,实际上就是两个质数分别减1后的乘积。
● 选择一个整数e
这个整数是随机选择的,而且还有个条件,条件是:
1 孙宇晨就在1到3120之间,随机选择了17,实际应用中,常常选择65537。 ● 计算e对于Φ(n)的模反元素d 所谓“模反元素”就是指有一个整数d,可以使得e*d被φ(n)除的余数为1,表达式如下: e*d≡1(modφ(n)) 这个式子等价于 e*d-1=kφ(n) 于是找到模反元素d,实质上就是对下面这个二元一次方程求解: e*x φ(n)y=1 已知e=17,φ(n)=3120,则17x 3120y=1。 这个方程可以用“扩展欧几里得算法”求解,此处省略具体过程。最后,孙宇晨算出一组整数解为(x,y)=(2753,-15),即d=2753。 ● 产生公钥和私钥 将n和e封装成公钥,n和d封装成私钥,在孙宇晨的例子中,n=3233,e=17,d=2753,所以公钥就是(3233,17),私钥就是(3233,2753)。 通过完成计算,可以看到RSA的算法过程其实较为简单,关键点的就是两个质数是否足够大。 椭圆曲线密码算法——实用派的加密算法 椭圆曲线是满足一个特殊方程的点集。 我们来看一个椭圆曲线方程: y2=x3 ax b 在几何层面上,它通常是这样的一个图形,如图所示: ? 正如我们看到的,一个椭圆曲线通常是满足一个变量为2阶,另一个变量为3阶的二元方程。 照这样定义,椭圆曲线种类繁多,而椭圆曲线密码算法是基于椭圆曲线数学的一种公钥密码算法,其主要的安全性在于利用了椭圆曲线离散对数问题的困难性。 在区块链中,常用的是ECDSA(椭圆曲线数字签名算法),是一种利用椭圆曲线密码(ECC)对数字签名算法(DSA)的模拟。 ECDSA 是在1999年成为ANSI标准的,并在2000年成为IEEE和NIST(美国国家标准 与技术研究院)标准。 椭圆曲线密码算法具有数据加解密、数字签名和身份认证等功能。该技术拥有安全性高、生成公私钥方便、处理速度快和存储空间小等诸多优势。相对于RSA算法,椭圆曲线加密在实际的开发中被使用得更广泛,如比特币就使用了椭圆曲线中的SECP256k1,可提供128位的安全保护。 UCK私钥硬件化——安全性能的革新 UCK在秘钥技术上进行了革新。 我们将私钥通过安全加密算法保管至USBKEY的安全存储区域,这相当于为用户上了双重保险,我们在上一篇文章中为大家讲解过,私钥是一个随机产生的数字,如果我们把公钥比作锁,那么私钥就是打开这把锁的钥匙,在数字货币交易中,所有资金的控制取决于相应私钥的所有权和控制权,私钥的重要性不言而喻。 UCK在传统密钥算法上加入了硬件保护,在极大的增加安全性的同时,在登录或者交易时还可以调用指纹识别,让登录、挖矿与支付变得更加便捷。 后记 不难看出,UCK的在技术上永远领先于业内,不仅仅是领先,用技术的革新来形容会更加贴切。 永远打破传统方式,用更具创意、更先进的技术形式,为用户提供更优质、安全的服务。