加解密算法分为对称算法加密和非对称算法加密。
对称算法:加解密密钥相同要求发送方和接收方在安全通讯以前,商定一个密钥。因此密钥的保密性对通讯的安全性相当重要。对称加密算法的特色是算法公开、计算量小、加密速度快、加密效率高。
非对称加密算法须要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,若是用公钥对数据进行加密,只有用对应的私钥才能解密。由于加密和解密使用的是两个不一样的密钥,因此这种算法叫做非对称加密算法。非对称算法安全性高、加密速度远低于对称算法。
对称算法和非对称算法,各有各的优势,也各有缺点。随着计算机系统能力的不断发展,单独的使用某一种算法或某一类算法已不能知足实际的使用需求。因此混合加密这种方式已成为当前主流加密方案之一。取对称密码之长补公钥密码之不足,取公钥密码之长补对称密码之不足。下面简单介绍下混合加密的应用。
加密流程以下:
使用随机数生成器产生临时会话密钥tmpkey。
用临时会话密钥,将消息转换为密文C1。
使用非对称密钥的公钥加密tmpkey获得密文C2。
C1 || C2组合获得最终的密文C3。
解密流程以下:
分离出C1和C2。
使用非对称密钥的私钥解密C2获得临时会话密钥tmpkey。
用临时会话密钥tmpkey对密文C1解密获得明文消息。
混合加密中,要求会话密钥有较好的随机性;对称算法有足够的密钥长度;非对称算法也要有足够的密钥长度,知足以上条件才能使加密系统更加安全。LKT加密芯片具备真随机数发生器,能够产生随机性很高的会话密钥,还能够支持硬件非对称算法,例如RSA、SM2,对私钥和tmpkey的存储和运算过程起到良好保护做用。算法