一、常见的加密算法
(1)对称密钥/私钥密钥:DES、RC6、AES(Rijndael)
(2)非对称密钥/公钥密钥:RSA
(3)单向散列函数:MD5、SHA
二、如何区分对称密钥和非对称密钥
对于对称密钥与非对称密钥加密算法来说,其区别在于加密密钥与解密密钥。
(1)若加密密钥与解密密钥相同或可互相推导/推算则为对称密钥(单钥密钥或私钥密钥),大多数对称密码算法的加密密钥与解密密钥相同;
(2)不同且不可互相推导,则为非对称密钥(双钥密钥或公钥密钥)。
由于加密密钥与解密密钥相同,所以其结构就简单的多。以Feistel结构来说其加密解密流程结构基本相同,而依据Feistel结构作为基本结构的有DES、RC6、MARS等加密算法。
三、密码学基础
(1)密码学的安全目标
保密性:信息仅被合法用户访问(通过防侦查、防辐射、数据加密、物理保护的手段提高保密性)
完整性:保证数据不能被偶然蓄意地编辑(影响完整性的因素:故障、误码、攻击、病毒)
可用性:资源只有在适当的时候被授权方访问,并按需使用(保证可用性的手段:身份识别与确认、访问控制)
(2)密码体系模型
明文空间M、密文空间C、加密算法E、解密算法D、密钥空间K(加密密钥Ke,解密密钥Kd)