Linux 加密与解密

 

    Linux中加密有:对称加密,公钥加密,单向加密。如果B两个用户在通信过程中需要加密与解密,在通信过程中所传输的数据需要做到三点:1、要有身份验证,2、保证数据的完整性,3、还要有对数据具有保密性。下面可结合图片详细说明其加密解密的过程。

    BA通信,所要传输的数据为I,则B需要使用单向加密算法对I计算出其特征码假如为T,如图:

 

wKiom1PcSWSTlyH1AAAcUQ7DdiE430.png

      B得到特征码之后用私钥加密特征码T,而后得到数据Q,将数据Q放到所要发送的数据I后面,并且二者当做一个数据。如下图

 

wKiom1PcSWTix4RQAAAh_Ns4RIc934.png 

这时候B将使用对称加密算法对二者计算出一个字串假如为W

wKioL1PcSn7T4XrrAAAhdX3wxXg862.png 

接下来B将用A的公钥对生成的字串W进行加密生成数据如下图E,并把生成的数据放在IQ整体后面再次组合成一个整体,这时B就可以把此数据发送给A了。如下图。  

wKiom1PcSWXRuSIzAAApRtKGKV0627.png 

如下图,当A收到B发来的消息后需要进行解密算法。A先使用自己的私钥对E解密,解密之后会得到一个密码w,在使用此密码对IQ整体解密。此时A会使用B的公钥对Q解密得到特征码T起到身份验证的作用,同时再用和BI提取特征码时同样的算法对I计算出特征码,将其与T作比较,如果相同则表示数据具有完整性。

wKioL1PcSn-QV1U1AAAgEcruLo0343.png