对称加密
在对称加密算法中,加密和解密使用的是同一把钥匙,也就是使用相同的密钥对同一密码进行加密和解密
加密过程如下:
加密:原文+密钥 = 密文
解密:密文-密钥 = 原文
优点:算法简单,加密解密容易,效率高,执行快
缺点:相对来说不是特别安全,只有一把钥匙,密文如果被拦截,且密钥也被劫持,那么信息很容易被破解
非对称加密
非对称加密使用的不同密钥进行加密和解密,
非对称加密有两把钥匙,公钥(Public Key)和私钥(Private Key)。公钥和私钥是承兑存在的,如果对原文使用公钥加密,则只能使用对应的私钥才能解密;因为加密和解密使用的不是同一把密钥,所以这种算法称之为非对称加密算法。
非对称加密算法的密钥是通过一系列算法获取一串长的字符串,通常随机数的长度越长加密信息就相对越安全。通过私钥经过一系列的算法是可以推导出公钥的,但是无法通过公钥反向推导出私钥,这个过程是单向的。
图解
根据上图可以看出,对于原始数据,要通过接收方的公钥进行加密发送给接收方,接收方拿到密文后通过自己的私钥可以解密,获取原文信息。在这个过程中即使接收方公钥泄露也不会导致信息泄露,因为密文只能通过接收方的私钥才能打开。所以信息安全过程中,接收方只需要保管好自己的私钥不泄露就行了。
同样,当接收方向发送方发送消息时,接收方将密文通过原发送方的公钥进行加密,原发送方通过自己的私钥解密即可
优点:安全,即使密文被拦截,公钥被获取但是没有私钥也无法解密。作为接收方,务必保存好自己的密钥
缺点:加密算法复杂,安全性依赖算法和密钥,而且加密和解密效率很低
什么是数字签名?
数字签名是指将摘要信息使用接收者的公钥进行加密,与密文一起发送给接收方。接收方使用自己的私钥对摘要信息进行解密,然后使用hash函数对收到的密文产生一个摘要信息,然后将摘要信息与发送方传输过来的解密后的摘要信息对比是否一致。如果一致则表明信息没有被篡改
也就是说,数字签名能够验证收到信息的完整性,避免中途信息被劫持篡改或丢失。对方可以根据数字签名来判断获取到的数据信息是否是最原始的数据