数字信封工作流程原理
对称密码算法虽然密钥管理繁琐,但有着自身的优点,加解密运算速度非常快,适合处理大批量数据。非对称密码算法公私钥可以分离,适合密钥分发与管理,但运算速度慢,不适合大批量数据。若能够将对称密码算法和非对称密码算法的优点结合起来,既能够处理大批量的的数据,又能高效的分发管理密钥,于是数字信封由此诞生。
数字信封的原理是采用对称密码算法对大批量数据进行加密,然后采用非对称密码算法对其中的对称密钥进行加密;解密过程时,首先用非对称密码算法解密获取对称密钥,然后使用对称密钥解密数据,获取数据明文。
和普通的信封类似,数字信封采用对称密码算法对数据进行加密类似于信纸上的内容,采用非对称密码算法对对称密钥进行加密类似于信封将信纸包起来。
数字信封的生成和解开过程如图所示:
Step1 发送方A需要预先获取接收方B的公钥,然后随机产生对称密钥,并使用该密钥加密数据;
Step2 发送方A使用公钥对对称密钥进行加密;
Step3 发送方A把数据密文和对称密钥密文一起发送给接收方B;
Step4 接收方B使用自己的私钥对密钥密文解密,获取对称密钥;
Step5 接收方B使用密钥对数据密文进行解密,获取明文数据。