一文详解非对称加密算法

手机控KONG
非对称加密算法安全性很高,由于对称加密算法只有一个密钥,并且是非公开性的,如果密钥泄露即影响数据安全性。

在非对称加密算法出现之前,对称加密算法是运用最为广泛的,在前文《加密算法之对称加密算法是什么?》中我们已经知道了什么是对称加密算法。由于对称加密算法缺点显著,于是科学家们在此基础上提出了非对称加密算法这个概念,今天我们就来了解一下到底什么是非对称加密算法。

2345截图20210806091512.png

非对称加密算法

1976年,W.Diffie和M.Hellman两位科学家提出了“非对称密码体制即公开密钥密码体制”的概念,通过这个概念,人们意识到加密和解密可以使用不同的规则,只要这两种规则中存在必然的关系即可,这样就可以避免直接传递私钥,而这种新的加密模式就是“非对称加密算法”。

非对称加密算法是一种密钥的保密方法。

非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥一一对应,如果用公钥对数据进行加密,只有用对应的私钥才能解密。其中私钥需要保密,而公钥可以公开。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

非对称加密的原理

非对称加密算法实现信息交换的过程是:

如果乙方生成一对密钥(公钥和私钥)后将公钥公开,甲方获取乙方的公钥,然后对机密信息加密后再发送给乙方,乙方再用私钥进行解密。其中乙方只能用私钥解密公钥加密后的任何信息。如果公钥加密的信息只有私钥解得开,那么只要私钥不泄漏,通信就是安全的。

举个例子简单说明,假如小明买了一个保险箱配有两把钥匙(钥匙A和钥匙B),小明将钥匙A寄给小红后,小红用钥匙A打开保险箱将重要物件锁进保险箱,然后将保险箱邮寄给小明,小明用钥匙B才能打开保险箱取出物件。钥匙A将保险箱上锁后,任何人都无法再打开保险箱,必须用钥匙B才能打开保险箱。

在非对称加密算法中,钥匙A就相当于公钥,而钥匙B就是私钥。“锁保险箱”和“开锁”就相当于加密和解密的过程,在非对称加密算法中,加密和解密用的不是同一把钥匙,而是一对密钥,即公钥和私钥。

非对称加密算法的特点

首先,非对称加密算法强度非常复杂,由于其算法复杂,从而使得加密解密速度没有对称加密解密的速度快。

但是,非对称加密算法安全性很高,由于对称加密算法只有一个密钥,并且是非公开性的,如果密钥泄露即影响数据安全性。而非对称加密算法具有两个密钥,其中一个是公开的,另外一个是私密的,用公钥加密的消息只能用与之对应的私钥来解密,私钥除了持有者外无人知道,而公钥却可通过非安全管道来发送或在目录中发布,这样安全性就提高很多。

目前,非对称加密算法主要有RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。

非对称加密算法在区块链的运用

应用在区块链钱包地址的创建及账户管理

通过非对称加密算法将私钥生成对应的公钥用来创建钱包地址,该钱包地址也相当于是用户在区块链上的一个账户,当用户下次在使用钱包的时候直接可以使用私钥来解锁帐户。

应用在用户创建新交易时的签名以及矿工打包交易区块前验证签名

在比特币系统中采用的是UTXO账户模型,每一笔交易都包含有输入及输出两部分,在产生一笔新交易的输出时通过私钥进行签名上锁,另外在交易输入时即区块打包确认前通过公钥进行交易签名验证解锁,以确定交易的合法性,安全性。

小结

非对称加密算法不要求通信双方事先传递密钥或有任何约定就能完成保密通信,并且密钥管理方便,可实现防止假冒和抵赖,因此,非对称加密算法比对称加密算法更适合网络通信中的保密通信要求。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论