国密算法

为了应付期末考试,1天学会的国密算法,为什么不写了,因为老师的PPT太烂了,并且懒得看国家标准文档(懒 国家商用密码管理办公室制定了一系列密码标准,包括 SSF3SM1(SCB2)SM2SM3SM4SM7SM9祖冲之密码算法等等。

$ SM1 $ 对称密码

\(SM1\) 算法是分组密码算法,分组长度为 \(128\) 位,密钥长度也为 \(128\) 位算法安全保密强度及相关软硬件实现性能与 \(AES\) 相当。

$ SM2 $ 椭圆曲线公钥密码算法

\(SM2\) 算法是 \(ECC\) 椭圆曲线密码机制,但在签名、密钥交换方面不同于 \(ECDSA\)\(ECDH\) 等国际标准,而是采用了更为安全的机制。另外,\(SM2\) 推荐了一条 \(256\) 位的曲线作为标准曲线。

ECC 椭圆曲线密码体制 Kob1itz 和 Mi11er 在 1985 年各自引入密码学。椭圆曲线的 Weierstrass 方程为 \[ y^2+a_1 x y+a_3 y=x^3+a_2 x^2+a_4 x+a_6 \]

其上面的所有点和无穷远点构成一个加法交换群, 其中无穷远点是加法零元。

椭圆曲线上的离散对数问题为: 给定点 \(P\)\(kP\), 计算整数 \(k\) 。椭圆曲线密码体制的安全性便是建立在椭圆曲线离散对数问题之上。

SM2 椭圆曲线公钥密码算法是我国公钥密码算法标准. SM2 算法的主要内容包括 3 部分: - 数字签名算法 - 密钥交换协议 - 公钥加密算法

\(SM2\) 系统参数

\(\mathrm{ECC}\) 的系统参数是有限域上的椭圆曲线, 包括: 有限域 \(F_q\) 的规模 \(q\); 定义椭圆曲线 \(E\left(F_q\right)\) 方程的 2 个元素 \(a, b \in F_q ; E\left(F_q\right)\) 上的基点 \(G=\left(x_G\right.\), \(\left.y_G\right)(G \neq O)\), 其中 \(x_G\)\(y_G\)\(F_q\) 中的 2 个元素; \(G\)的阶 \(n\) 及其他可选项 (如 \(n\) 的余因子 \(h\) 等).

记 SM2 算法中使用的密码杂凑算法为 \(H_v()\),其输出是位长恰为 \(v\) 的杂凑值, SM2 算法目前版本中 \(v\) 只取为 256 . SM2 算法的系统参数为 \(256 \mathrm{~b}\)素数域上的椭圆曲线, 具体定义请参考文献 \([5]\)

\(SM2\) 数字签名算法

\(SM2\) 数字签名算法中,作为签名者的用户 \(A\) 的密钥对包括其私钥 \(d_A\) 和公钥 \(P_A = [d_A]G = (x_A, y_A)\)。用户 \(A\) 具有位长为 \(entlen_A\) 的可辨别标识 \(ID_A\),记 \(ENTL_A\) 是由整数 \(entlen_A\) 转换而成的 \(2B\) 数据。签名者和验证者都需要用密码杂凑算法求得用户 \(A\) 的杂凑值:

\[ Z_A = H_{256}(\text{ENTL}_A \parallel \text{ID}_A \parallel a \parallel b \parallel x_G \parallel y_G \parallel x_A \parallel y_A) \]

\(SM2\) 数字签名算法规定 \(H_{256}\)\(SM3\) 密码杂凑算法。

\(SM3\) 杂凑算法

\(SM3\) 密码杂凑算法给出了杂凑函数算法的计算方法和计算步骤, 并给出了运算示例。此算法适用于商用密码应用中的数字签名和验证, 消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。在 \(SM2\), \(SM9\) 标准中使用。此算法对输入长度小于 \(2\)\(64\) 次方的比特消息, 经过填充和迭代压缩, 生成长度为 \(256\) 比特的杂凑值。

\(SM4\) 对称算法

此算法是一个分组算法, 用于无线局域网产品。该算法的分组长度为 \(128\) 比特, 密钥长度为 \(128\) 比特 \(0\) 加密算法与密钥扩展算法都采用 \(32\) 轮非线性迭代结构。解密算法与加密算法的结构相同, 只是轮密钥的使用顺序相反, 解密轮密钥是加密轮密钥的逆序。此算法采用非线性迭代结构, 每次迭代由一个轮函数给出,其中轮函数由一个非线性变换和线性变换复合而成, 非线性变换由 \(S\) 盒所给出。

\(SM7\) 对称密码

\(SM7\) 算法, 是一种分组密码算法, 分组长度为 \(128\) 比特, 密钥长度为 \(128\) 比特。 \(SM7\) 的算法文本目前没有公开发布。 \(SM7\) 适用于非接 \(IC\) 卡应用包括身份识别类应用(门禁卡、工作证、参赛证), 票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通、公交一卡通)。

\(SM9\) 非对称算法

\(SM9\) 是基于对的标识密码算法, 与 \(SM2\) 类似, 包含四个部分: 总则, 数字签名算法,密钥交换协议以及密钥封装机制和公钥加密算法。在这些算法中使用了椭圆曲线上的对这一个工具, 不同于传统意义上的 \(SM2\) 算法,可以实现基于身份的密码体制,也就是公钥与用户的身份信息即标识相关, 从而比传统意义上的公钥密码体制有许多优点, 省去了证书管理等。

祖冲之对称算法

祖冲之密码算法由中国科学院等单位研制,运用于下一代移动通信 \(4 \mathrm{G}\) 网络 \(LTE\) 中的国际标准密码算法。 祖冲之密码算法 \((ZUC)\) 的名字源于我国古代数学家祖冲之, 祖冲之算法集是由我国学者自主设计的加密和完整性算法, 是一种流密码。 \(ZUC\) 算法由 3 个基本部分组成, 依次为 : 1 、比特重组;2、非线性函数 \(\mathrm{F} ; 3\) 、线性反馈移位寄存器 \((LFSR)\)

作者

Vc0n1ln

发布于

2024-06-27

更新于

2024-06-27

许可协议

CC BY 4.0

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×