国际密钥算法
AES(对称分组密码算法):
- 高级加密标准,是一种对称分组密码算法,使用128比特、192比特或256比特的密钥长度。AES已成为最常用和最安全的对称加密算法,被广泛应用于数据加密和安全通信领域。
RSA(非对称加密算法):
- 是一种非对称加密算法,用于数字签名、密钥交换和公钥加密。RSA基于大数因子分解问题的困难性,公钥可以公开分享,而私钥必须保密。
ECC(非对称加密算法):
- 是一种非对称加密算法,也是基于椭圆曲线的公钥密码学体系。ECC使用较短的密钥长度,提供与传统RSA相当的安全性,但使用更少的计算资源,因此在资源受限的环境中广泛使用。
SHA系列(计算哈希)
- SHA是一系列哈希函数算法,如SHA-1、SHA-256、SHA-512等。SHA算法常用于生成数据的摘要(哈希值),用于数据完整性校验和数字签名等应用。
DSA / 3DES(数字签名算法):
- 数字签名算法,用于生成和验证数字签名。DSA常与哈希函数(如SHA)结合使用,用于保证数据的完整性和验证签名者的身份。
DH(密钥交换算法):
- 是一种用于在公共信道上交换密钥的算法。DH算法允许两个实体在不共享密钥的情况下协商一个共享密钥。
国密算法
SM2(椭圆曲线公钥密码算法)
- SM2是一种非对称加密算法,基于椭圆曲线密码学。
- 用于数字签名、密钥交换和公钥加密等场景。
- 公钥长度为256比特,密钥长度为512比特。
- 提供更高的安全性和较短的密钥长度,用于安全通信、数字签名、身份认证等。
SM3(国家密码算法SM3)
- SM3是一种哈希函数算法,用于数据的摘要计算。
- 哈希值长度为256比特(32字节)。
- 用于数字签名、证书生成和校验、身份认证、电子证据存储等。
- 保障数字签名、认证等场景的数据完整性和安全性。
SM4(分组密码算法)
- SM4是一种对称分组密码算法,也称为SMS4。
- 支持128比特的分组和128比特、192比特、256比特的密钥长度。
- 采用Feistel结构,通过多轮迭代来实现加密和解密。
- 用于数据加密和数据保护场景,如文件加密、通信加密、磁盘加密等。
- AES是一种高度安全和高效的对称分组密码算法,与SM4具有类似的功能,用于数据的加密和保护。
三级密钥体系
LMK(Local Master Key 本地主密钥):
- 本地主密钥是最高级别的密钥,通常由硬件安全模块(HSM)生成和管理。
- LMK用于保护其他更敏感的密钥,如ZMK和TMK。
- LMK的生成和管理必须在安全的环境中进行,确保其机密性和安全性。
ZMK(Zone Master Key 区域主密钥):
- 区域主密钥是用于加密其他主密钥的密钥,通常用于保护交换密钥(KEK)和其他更低级别的密钥。
- ZMK由LMK加密存储,并通过安全通信信道传输到其他系统中。
TMK(Terminal Master Key 终端主密钥):
- 终端主密钥是用于加密终端设备(如POS终端)上的工作密钥的密钥。
- TMK由ZMK加密存储,并在终端设备中使用,用于保护交易数据等操作。
KEK(Key Encryption Key 密钥加密密钥):
- 密钥加密密钥是用于加密其他密钥的密钥,用于提供密钥的保护和分发。
- KEK可以是ZMK或其他主密钥,用于加密低级别的工作密钥或用户自定义密钥(UDK)。
UDK(User-Defined Key 用户自定义密钥):
- 用户自定义密钥是由终端用户自主定义的密钥,用于加密特定的敏感数据或保护特定的应用。
- UDK通常由终端用户生成,其安全性依赖于用户的密钥管理和保护措施。
工作密钥:
- 工作密钥用于实际的加密和解密操作,用于保护敏感数据的传输和存储。
- 工作密钥可以是终端设备使用的TMK,或者由KEK或UDK生成的其他密钥。
数字证书密钥:
- 数字证书密钥用于数字签名和身份验证,通常使用非对称加密算法(如RSA、ECC)生成。
- 数字证书密钥包含公钥和私钥,用于生成和验证数字签名,以确保数据的完整性和身份的真实性。
graph TD; LMK[LMK 本地主密钥] --> ZMK[ZMK 区域主密钥]; ZMK --> TMK[TMK 终端主密钥]; TMK --> Terminal[终端设备];简要的密钥流程如下:
签名验签
MAC(Message Authentication Code)
用来保证消息的数据完整性和消息的数据源认证
HMAC(基于Hash的消息鉴别码)
需要选择一个哈希函数(SHA-1、SHA-256、MD5)
数字证书
待续~~~~~
标签:加密,SHA,数字签名,基础知识,密码,算法,用于,密钥,整理 From: https://www.cnblogs.com/ed1s0n/p/17760270.html