2021SC@SDUSC
在之前的篇章中我们对SM2国密算法中的ECC算法进行了原理分析,现在对SM2算法中的公钥加密算法进行更为深刻的分析。
一、SM2公钥加密算法
根据之前讲过的ECC算法,知道私钥dB和基点G很容易求出公钥PB,但是只知道公钥和基点求私钥是非常困难的。
接下来,看加密过程。
其中,k为随机数发生器产生的随机数,明文为M,密文C由C1\C2\C3三个部分拼接而成。C3部分即将x2\M\y2拼接后用哈希函数得到的一个比特串。C2部分由明文M和t异或得到,具体之后分析。另外在A3中h代表“余因子”或“协因子”,它的值为有限域的阶和基点G的阶的比值,一般取1,保证生成的子群的阶比较大,也可以理解为为了确保生成元阶的点远远少于椭圆曲线定义的所有点数,避免穷举攻击,使其概率接近为0.
补充知识: