非对称
算法属于
密码学范畴,是一种可以对信息进行
加密和解密的
算法。它的运行需要一个
公钥和一个
私钥,
公钥用于公开给其他人,
私钥需要自己保存,两个
密钥可以互相
加密解密。由于
加密的
密钥与解密的
密钥不是同一把而产生了非对称性,因此被称为非对称
加密。
与之对应是
加密解密使用同一
密钥的
算法,对称
加密算法。比如把单词“gate”使用AES对称
加密算法加密可以得到字符串U2FsdGVkX18fop1iGBPzNdnADZ57AJxOn+wEBSIUAG4。反之
密文也可以通过AES对称
加密算法解密得出原字符串gate。在早期,发送
加密电报使用的就是这种对称
加密算法。这种方式解密过程简单且速度快,但
加密方法被泄露后,很容易将截获的信息破译出来,安全性不高。
非对称
加密算法的安全性比对称
加密算法要高,但是由于运行复杂,效率比对称
加密算法要低一些。我们通过一个例子来简单理解:假设Jim想给Bob使用非对称
加密的方式发送一条信息,需要经过以下过程:
1.Jim与Bob都需要产生一对
公钥和
私钥;
2.Jim的
公钥发送给Bob,
私钥自己保存;Bob的
公钥发送给Jim,
私钥自己保存;
3.Jim向Bob发信息时,使用Bob的
公钥加密信息;
4.Bob收到消息后,使用自己的
私钥即可解密查阅。
常见的非对称加密算法
RSA(Rivest Shamir Adleman)
算法:因其难以破解的特点在数字
加密和
数字签名领域被广泛应用。在RSA算法中使用
公钥私钥都可以对信息
加密,
公钥加密(防止信息被盗取)则
私钥解密,私钥
加密(防止信息被篡改)则
公钥解密(
数字签名)。理论上,RSA算法中
密钥位数越长,其破解
难度越高(未排除
量子计算)。所以目前业界普遍使用的
密钥不低于2048位。
DSA数字
签名算法(Digital Signature Algorithm):这种
算法无法对信息进行
加密或者解密,主要运用于对
加密信息进行签名和认证。安全程度和RSA算法一样高,但处理速度更快。
ECC椭圆曲线
加密算法(Elliptic-curve Cryptography):
加密过程源于数学中的椭圆曲线。相较于RSA算法,
ECC算法
加密和解密速度更快,单位安全强度更高。同样的秘钥长度,
ECC算法有最高的安全性。
ECDSA椭圆曲线
签名算法(Elliptic Curve Digital Signature Algorithm):这种
算法在
椭圆曲线加密算法基础上融合了数字
签名算法。
比特币与
以太坊采用的就是
ECDSA算法技术。
非对称
算法在
区块链资产中也得到了实际的运用。
加密货币钱包账户的
地址就是用
公钥根据
哈希算法计算出的,
私钥则用于
验证和进行
数字签名。
总结
密码学已成为现代计算机安全中不可或缺的一部分,也是日益发展的
加密货币生态系统的关键组成部分。随着
密码学的不断发展,在未来的计算机安全及
加密货币安全
验证方面,对称与非对称
加密算法在抵御各类威胁上会有更大的作用。