密码学的用途就是解决各种难题 ,确保交互的实体是真实和可认证的,交互行为是不可抵赖的,交互的数据是机密和完整的,以及交互的通道是安全的等问题。
密码算法是密码学的核心,但保障信息的安全不能单纯依靠安全的密码算法,还需要通过安全的密码协议在实体之间安全地分配密钥或其他秘密信息,以及进行实体之间的鉴别等。
密码协议
协议是一系列步骤,其包括两方或者多方,设计协议的目的在于完成一项任务。
密码协议密码协议往往使用了某种密码算法,是指两个或两个以上参与者使用密码算法时,为达到加密保护或安全认证目的而约定的交互规则。
典型的密码协议有认证或密钥协商协议,如IKE、DASS、Kerberos等,通信安全协议,如IPSec,SSL等。
密码算法
密码算法是指对信息进行“明”“密”变换、产生认证“标签”的一种特定规则。不同的密码算法实现不同的变换规则。
密码算法通常可分为三大类:对称密码算法、非对称密码算法、密码杂凑算法。
对称密码算法:在加密与解密时使用相同的密钥。常见对称密码算法:国产对称密码算法(SM1、SM4、SM7、ZUC)、国际对称密码算法(DES、3DES、AES、RC4)。
非对称密码算法:加密和解密使用不同的密钥。非对称密码算法包括公钥加密和私钥签名(数字签名)两种主要用途。常见非对称密码算法:国产非对称算法(SM2、SM9)、国际非对称密码算法(RSA、ECDSA、 Elgamal)。
杂凑算法:也可称为“散列算法”或“哈希算法”,是指将任意长度的二进制值映射为较短的固定长度的摘要。常见杂凑算法:国产密码杂凑算法(SM3)、国际密码杂凑算法(MD5、 SHA1、 SHA2 、SHA3)。