国际商业密码与国内商业密码的对照分析
国际商业密码与国内商业密码的对照分析
本文主要的目标是对于国产密码的算法类型进行归类,并于国际通用的密码进行对应,方便大家建立起映射关系。
国密算法的命名以SM开头,SM代表商密,即商业密码,是指用于商业的、不涉及国家秘密的密码技术。
密码学本身是科学,不建议程序员对于密码算法的实现做过多的深究,但是建议对于不同类型密码的特性以及利用密码组合后的工程实现原理有所了解。
国际商密与国内商密的对照表
大类 | 子类 | 国内 | 国际 | 简述 |
对称算法(加解密) | 分组/块加密 | SM1 SM4 SM7 SCB2 SMS4 | DES AES IDEA RC5 RC6 | 加密解密,使用同一个密钥。将原始数据分割成固定大小的块,逐个进行加密。 |
序列/流加密 | ZUC SSF46 | RC4 | ||
非对称算法(加解密/数字签名) | 大质因数分解 |
| RSA | 在目前的计算能力下,对足够大质因数分解是非常耗时的。Rivest、Shamir和Adleman。 |
离散对数/椭圆曲线 | SM2 SM9 | DH ECC ECDH DSA | 其中DH和DSA基于有限域上的离散对数问题,而ECC和ECDH基于椭圆曲线上的离散对数问题。 | |
杂凑算法(信息摘要) | SM3 | MD5 SHA256 SHA512 | 定长输出、雪崩效应 |
国密算法应用场景及开发情况
算法 | 是否公开 | 算法类型 | 应用范围 |
SM1 | 否 | 对称算法 | 智能IC卡、加密卡,加密机等 |
SM2 | 是 | 非对称算法 | 重要信息的加解密,例如密码 |
SM3 | 是 | 杂凑算法 | 密码应用中的数字签名和验证摘要算法 |
SM4 | 是 | 对称算法 | 分组算法用于无线局域网产品 |
SM7 | 否 | 对称算法 | 校园一卡通,门禁卡,工作证等 |
SM9 | 是 | 非对称算法 | 基于身份的密码,用于验证身份 |
ZUC | 是 | 对称算法 | 4G 网络中的国际标准密码算法 |
基于欧拉函数的RSA算法加密原理是什么?RSA算法详解
建议观看妈咪说的科普:
https://www.youtube.com/watch?v=xqol4-uziE0
椭圆曲线加密与哈希函数是什么?非对称加密是什么?
建议观看妈咪说的科普:
https://www.youtube.com/watch?v=0_XmvNu0J40
各种不同类别算法在实际通信过程中的作用简述
对称加密:
作用: 用于加密通信中的实际数据,即消息或文件。
过程: 发送方使用共享的密钥对消息进行加密,接收方使用相同的密钥进行解密。由于对称加密算法速度较快,因此适用于大量数据的加解密操作。
非对称加密:
作用: 用于密钥交换和数字签名。
过程:
密钥交换:用于安全地交换对称加密所需的密钥。发送方使用接收方的公钥加密对称密钥,接收方使用自己的私钥解密以获取对称密钥。
数字签名:用于验证消息的完整性和发送者身份。发送方使用私钥对摘要或整个消息进行签名,接收方使用发送方的公钥验证签名。
摘要算法(哈希函数):
作用: 用于确保消息的完整性。
过程: 发送方将消息的摘要计算出来,然后将摘要发送给接收方。接收方收到消息后,计算接收到消息的摘要,并与接收到的摘要进行比较。如果一致,则消息未被篡改。
综合来看,典型的安全通信流程如下:
发送方:
使用对称加密算法加密实际数据。
使用接收方的公钥进行密钥交换。
使用自己的私钥对摘要或整个消息进行数字签名。
接收方:
使用私钥解密收到的对称密钥。
使用对称密钥解密实际数据。
使用发送方的公钥验证数字签名。
使用摘要算法验证消息的完整性。