1、柯克霍夫原则
数据的安全基于密钥而不是算法的保密。换句话说,系统的安全性取决于密钥,对密钥保密,对算法公开。
2、按密码体制分
>对称密码体制
也称之为单钥密码体制或私钥密码体制,指的是密码体制中的加密密钥与解密密钥相同,即加密过程与解密过程使用同一套密钥。-- 与之对应的算法:对称密码算法,常见的有 DES、AES算法.
>非对称密码体制
也称为双钥密码体制或者公钥密码体制,指的是密码体制中加密密钥与解密密钥不同,密钥分为公钥与私钥,公钥对外公开,私钥对外保密。-- 与之对应的算法:非对称密码算法,常见的有 RSA算法,多用于数字签名,身份认证,其安全性更高,但是 加解密耗时长。
3、按明文的处理方法划分
>分组密码
指加密时将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出的也是固定长度的密文。多用于网络加密。目前,分组密码多选择128位作为算法的分组长度。
>流密码
也称之为序列密码。指加密时每次加密一位或一个字节的明文。多用于手机平台。
4、保密通讯模型
5、对称密码体制的保密通信模型
6、非对称密码体制的保密通信模型
eg: 甲方(发送方)用私钥加密数据向乙方发送数据,乙方(接收方)接收到数据后使用公钥解密数据。
7、散列函数
也称之为哈希函数,消息摘要函数、单向函数;与上述密码体制不同的是,散列函数的主要作用不是完成数据的加密与解密的工作,它是用来验证数据的完整性的重要技术。通过散列函数,可以为数据创建“数字指纹”(散列值)。消息认证流程如下:
在上述认证流程中,信息收发双方在通信前已经商定了具体的散列算法,并且该算法是公开的。如果消息在传递过程中被篡改,则该消息不能与已获得的数字指纹相匹配。
散列函数广泛用于信息完整性的验证,是数据签名的核心技术。散列函数的常用算法有:MD-消息摘要算法、SHA-安全散列算法,MAC-消息认证码算法。
8、数字签名认证流程
注意:私钥用于签名,公钥用于验证。签名操作只能由私钥完成,验证操作只能由公钥完成;公钥与私钥成对出现,用公钥加密的消息只能用私钥解密,用私钥加密的消息只能用公钥解密。
流程实例说明:甲方拥有私钥,并且甲方将公钥发布给乙方;当甲方作为消息的发送方时,甲方使用私钥对消息做签名处理,然后将消息加密后连同数字签名发送给乙方。乙方使用已获得的公钥对接收到的加密信息做解密处理,然后使用公钥及数字签名对原始消息作验证处理。