PKI (Public Key Infrastructure)就是公钥基础设施,PKI是一种遵循标准的利用公钥加密技术为电子信息系统提供一套安全基础平台的技术和规范。 保密性、完整性、身份认证与授权、抗抵赖 。
PKI系统基本构成
- 数字证书认证机构(CA)
- 数字证书库
- 密钥备份及恢复系统
- 证书作废系统
- 应用程序接口(API)
密码学
密钥、明文、密文、加密、解密、密码算法
密码算法:对称算法、非对称算法、散列算法
散列算法:MD5、Sha-1、Sha-256、SM3
对称算法:AES、DES、3DES、RC2、RC4、SCB2、SSF33、SM1、SM4
非对称算法:RSA、ECC、SM2
对称算法
算法名称 | 数据长度 | 运算速度 | 安全强度 |
MD5 | 128 bit | 快 | 低 |
Sha-1 | 160 bit | 快 | 中 |
Sha-256 | 256 bit | 快 | 高 |
SM3 | 256 bit | 快 | 高 |
非对称算法
算法名称 | 密钥长度 | 签名速度 | 验签速度 |
RSA1024 | 1024 bit | 慢 | 快 |
RSA2048 | 2048 bit | 慢 | 快 |
ECC | 160 bit | 快 | 中 |
SM2 | 256 bit | 快 | 中 |
RSA算法
(1)随机获取p和q,p和q是大于1的互为质数
(2)n=pq,n的长度就是密钥长度
(3) 利用欧拉定理,计算φ(n) = (p-1)(q-1) *欧拉定理:对于互质的整数a和n,有a^φ(n) ≡ 1 (mod n)
(4)随机获取整数e,1< e < φ(n),且e与φ(n) 互质。e通常使用65537
(5)计算e对于φ(n)的模反元素d。 ed ≡ 1 (mod φ(n))
(6) n和e公钥,n和d私钥
公钥加密: m^e=c (mod n) 私钥解密: c^d=m (mod n) 签名: S=(hash(m))^d mod n 验签:hash(m) = S^e mod n