首页 能链洞察 区块链百科

如何理解非对称加密

如何理解非对称加密

发布时间:2020.04.24

了解非对称加密之前,

我们先来理解什么是对称加密

 

在对称加密算法中,使用的密钥只有一个,双方都可使用这个密钥对数据进行加密和解密。

 

但这样也存在问题,既在数据传送时,如果密钥被泄露,那么加密信息也就不安全了举个例子,大家看过电影《志明与春娇》的话,应该知道当志明想给春娇发条短信表达“I Miss U”,又不想过于直白被所有人读懂,于是,他把整句话的每一个字母都倒过来编辑,变成 “n 55iw i”,春娇知道倒过来看即可读懂这条浪漫的短信。虽说电影归电影,但我们仍可窥见对称加密的优缺点。

 

可以说,不论对称加密算法设计有多么的复杂,只要找到密码本,就能解开这个“锁”。

 

但是,非对称加密就不同了,可以说,一把钥匙锁住的门,可以由另一把钥匙打开。

 

 

非对称加密

 

? 定义

非对称加密算法需要两个不同密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。还要关键的一点,通过公钥基本不能得到私钥

 

加密流程

举个例子,甲和乙是生意上的合作伙伴,由于工作需要,他们经常需要相互传送一些机密邮件。如果使用对称加密算法面临一个难题,甲怎样才能把解开邮件的密钥交给乙?打电话,可能被监听;派人送,可能被盗取。在完全没有信任基础下,情况就更为复杂,因此就需要非对称加密完成重要信息的安全传输

1.   乙会生成一对密钥(公钥和私钥),并将公钥对甲公开。

2.   甲在写邮件时,会用乙的公钥进行加密,再发送给乙。

3.   乙用自己保存的专用密钥(私钥)对加密邮件进行解密。

4.   在传输过程中,即使攻击者截获了传输的密文,并得到了乙的公钥,也无法破解密文,因为只有乙的私钥才能解密密文。反之亦然,乙在回传邮件时需要用甲的公钥进加密,而后甲用私钥解开邮件。

 

常用算法

非对称加密中常用算法有:RSA、Elgamal、SM2、Rabin、D-H、ECC(椭圆曲线加密算法)等。

 

? 优缺点

优点:其安全性更好,而且公钥是公开的,秘钥是自己保存的,不需要像对称加密那样互相间同步秘钥。

缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

 

正是基于这种非对称加密算法,区块链技术增强了点对点之间交易的安全与可信