加解密算法
1.对称加密算法:
甲与乙事先协商好对称密钥,具体加解密过程如下:
甲使用对称密钥对明文加密,并将密文发送给乙。
乙接收到密文后,使用对称密钥对密文解密,得到最初的明文。
2.非对称加密算法:
甲事先获得乙的公钥,具体加解密过程如下:
甲使用乙的公钥对明文加密,并将密文发送给乙。
乙收到密文后,使用自己的私钥对密文解密,得到最初的明文。
3.数字信封:
数字信封是指发送方采用接收方的公钥来加密对称密钥后所得的数据。采用数字信封时,接收方需要使用自己的私钥才能打开数字信封得到对称密钥。
甲事先获得乙的公钥,具体加解密过程如下:
甲使用对称密钥对明文进行加密,生成密文信息。
甲使用乙的公钥加密对称密钥,生成数字信封。
甲将数字信封和密文信息一起发送给乙。
乙接收到甲的加密信息后,使用自己的私钥打开数字信封,得到对称密钥。
乙使用对称密钥对密文信息进行解密,得到最初的明文。
从加解密过程中,可以看出,数字信封技术结合了对称密钥加密和公钥加密的优点,解决了对称密钥的发布和公钥加密速度慢等问题,提高了安全性、扩展性和效率等。
但是,数字信封技术还有个问题,如果攻击者拦截甲的信息,用自己的对称密钥加密伪造的信息,并用乙的公钥加密自己的对称密钥,然后发送给乙。乙收到加密信息后,解密得到的明文,而且乙始终认为是甲发送的信息。此时,需要一种方法确保接收方收到的信息就是指定的发送方发送的。
4.数字签名
数字签名是指发送方用自己的私钥对数字指纹进行加密后所得的数据。采用数字签名时,接收方需要使用发送方的公钥才能解开数字签名得到数字指纹。
数字指纹又称为信息摘要,它是指发送方通过HASH算法对明文信息计算后得出的数据。采用数字指纹时,发送方会将数字指纹和明文一起发送给接收方,接收方用同样的HASH算法对明文计算生成的数据指纹,与收到的数字指纹进行匹配,如果一致,便可确定明文信息没有被篡改。
甲事先获得乙的公钥,具体加解密过程如下:
甲使用乙的公钥对明文进行加密,生成密文信息。
甲使用HASH算法对明文进行HASH运算,生成数字指纹。
甲使用自己的私钥对数字指纹进行加密,生成数字签名。
甲将密文信息和数字签名一起发送给乙。
乙使用甲的公钥对数字签名进行解密,得到数字指纹。
乙接收到甲的加密信息后,使用自己的私钥对密文信息进行解密,得到最初的明文。
乙使用HASH算法对明文进行HASH运算,生成数字指纹。
乙将生成的数字指纹与得到的数字指纹进行比较,如果一致,乙接受明文;如果不一致,乙丢弃明文。