山东大学软件工程应用与实践——使用CUDA/GPU技术加速密码运算(第十周)

本文深入分析了SM2公钥加密算法,详细介绍了加密过程,涉及ECC、随机数生成、哈希函数及密钥派生等关键步骤,并提供了具体实例,探讨了如何利用CUDA/GPU技术提升密码运算效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.

补充知识:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值