首页
学习
活动
专区
圈层
工具
发布

harmony-utils之SM2,SM2加解密

harmony-utils之SM2,SM2加解密harmony-utils 简介与说明harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用...算法简介SM2是由中国国家密码管理局于2010年发布的椭圆曲线公钥密码算法,属于我国商用密码体系的核心组成部分。...SM2 应用场景SM2 算法在我国的金融、政务、电力等关键领域有着广泛的应用。...在实际应用中,SM2 算法通常会与 SM3、SM4 等国密算法配合使用。一般用 SM4 对数据内容进行加密,使用 SM3 对内容进行摘要,再使用 SM2 对摘要进行签名。...LogUtil.error(`priKeyStr3: ${priKeyStr3}`);getSM2PubKey 获取转换SM2公钥, 将C1C2C3格式的SM2公钥转换为鸿蒙所需的ASN.1格式//16

42300
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python实现sm2和sm4国密(国家商用密码)算法

    GMSSL模块介绍 GmSSL是一个开源的加密包的python实现,支持SM2/SM3/SM4等国密(国家商用密码)算法、项目采用对商业应用友好的类BSD开源许可证,开源且可以用于闭源的商业应用。...安装模块 pip install gmssl #https://github.com/duanhongyi/gmssl/blob/master/README.md官方文档 SM2算法 RSA算法的危机在于其存在亚指数算法...,对ECC算法而言一般没有亚指数攻击算法 SM2椭圆曲线公钥密码算法:我国自主知识产权的商用密码算法,是ECC(Elliptic Curve Cryptosystem)算法的一种,基于椭圆曲线离散对数问题...gmssl是包含国密SM2算法的Python实现, 提供了 encrypt、 decrypt等函数用于加密解密, 用法如下: 1....gmssl是包含国密SM4算法的Python实现, 提供了 encrypt_ecb、 decrypt_ecb、 encrypt_cbc、 decrypt_cbc等函数用于加密解密, 用法如下: 1.

    7.7K20

    详解国密SM2的数字签名

    在《解读国密非对称加密算法SM2》一文中,我讲到过非对称加密算法的用途之一就是数字签名。本文就来聊一聊国密SM2的数字签名算法。...,确实不太容易,因为ECDSA已经相当成熟,所以现在的网络库基本上都有实现。...虽然SM2数字签名算法的计算步骤有所差别,但ECDSA中的基本运算,比如大数的加减乘除、曲线的乘积、取模运算都可以重用,所以实现起来也不是很困难。 验证签名的流程: ? ?...如果实现了签名流程,验证签名的流程也比较容易实现,主要是需要关注其中的公式,注意一些细节。...小结 本文主要阐述了SM2数字签名算法,它并不神秘,如果参考着ECDSA来实现,从技术角度讲并不是很复杂。

    13.8K20

    小程序安全键盘&SM2解密方式

    小程序安全键盘&SM2解密方式 转载请著名出处:https://www.cnblogs.com/funnyzpc/p/17572445.html SM2基本信息 私钥(primary key) 6082011f17b21dab7da93f2dc1a739b530b969171c7116bebb0535a953e20bae...bcpkix-jdk15on 1.67 理论上版本越高越好,如果版本较低可能出现加解密问题,这点是要注意的~ 三方实现库...基本信息 先看看 SM2 Encrypt/Decrypt 格式选择里面有四种模式,其中C1C3C2是SM2的其中一种模式 ASN1是SM2的文本编码方式,事实上这些也是微信键盘所使用的编码加密方式...加密前也可能是加密后做的编码行为 3.基于[2]知道开发需要一套能实现SM2以及ASN1编码的功能的库 首先准备一个实现库,这里我用的是gmhelper(感谢 Lijun Liao ) // 用到的三方库...虽然最终的代码实现几乎毫不费力,但这中间确实也付出了时间成本,主要是对加密具体算法比较陌生,以及微信官方没有sdk这就有些黑箱导致了实现的困难,再加上SM2&ASN1实现的资料太少太窄导致~

    1.1K41

    什么是国密(SM2)算法

    以主流服务器平台为例,SM2签名可达3000次/秒,而RSA-3072仅能实现200次/秒。2....**资源消耗**:嵌入式设备上SM2的RAM占用不超过8KB,适合物联网终端应用,而同等安全的RSA实现需要50KB以上内存。### 四、典型应用场景与实践案例1....**政务系统安全**:- 国家电子政务外网全面部署SM2算法证书- 省级政务云平台采用SM2实现跨部门数据安全共享- 实际部署显示,10万并发用户场景下SM2的CPU负载比RSA降低72%3....**工业控制系统**:- 电力调度系统使用SM2实现厂站端身份认证- 轨道交通信号系统采用SM2加密列车控制指令- 实测表明SM2在工业嵌入式设备的响应延迟小于10ms### 五、标准化进程与国际认可SM2...随着国产密码体系的不断完善,SM2将在更多场景中替代国际通用算法,成为支撑数字中国建设的安全基石。对于开发者而言,掌握SM2算法的原理与实现技术,已成为参与重要信息系统建设的必备技能。

    41710

    sm2和sm4加密算法浅析

    sm2和sm4加密算法浅析 一: SM2 简介:SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法 ,SM2为非对称加密,基于ECC。该算法已公开。...ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。...SM2和RSA算法比较 SM2性能更优更安全:密码复杂度高、处理速度快、机器性能消耗更小 ①:加密算法以及流程: 输入:需要发送的消息为比特串M,klen为M的比特长度。...(x2 ∥ M ∥ y2) 8.输出密文C = C1 ∥ C2 ∥ C3 加密算法流程: ②:解密算法以及流程 klen为密文中C2的比特长度,对密文C=C1 ∥ C2 ∥ C3 进行解密,需要实现以下步骤...C中取出比特串C2,计算M′ = C2 ⊕t 6.计算u = Hash(x2 ∥ M′ ∥ y2),从C中取出比特串C3,若u ̸= C3,则报错并退出 7.输出明文M′ 解密算法流程: ③:SM2

    5K21

    解读国密非对称加密算法SM2

    验签流程 需要注意,上面只是总的流程,签名算法也有很多种,各种算法在实现上还是有很多不同,请根据需要再深入到具体的算法中。...说到这儿,和国密SM2算法有什么关系? 国密SM2算法 SM2算法就是一种ECC算法,准确来说,就是设计了一条ECC命名曲线。这算抄袭么?...小结 本文从非对称密码算法开始,逐步介绍到国密SM2算法。我们可以看到,SM2并不是一个全新设计的算法,而是借助现有的ECC理论,设计了一条命名曲线。...这样,在已经实现了ECC算法的网络库上增加SM2算法的支持就非常简单,只需要将曲线参数添加即可。 但这是否就已经完全实现了SM2算法呢?...也不是,因为SM2算法不仅用在加解密,还用在数字签名、密钥协商中,国密标准另外定义了数字签名算法、密钥交换协议、公钥加密算法,所以要把这些都实现完整,才算实现完全了国密SM2算法。

    5.9K20

    浅析绕过js加密

    本文主要讲解对 js 加密进行绕过,以达到爆破或绕反爬的目的! 案例一:对登录处使用sm2国密加密算法的某网站进行爆破 抓包分析 该网站图形验证码失效,只要能对密码字段进行相应的加密,就可以爆破!...我们在全局搜索sm2Encrypt,最终在sm2.js文件中找到了该加密函数。通过百度搜索sm2加密算法,发现该算法是国密加密算法。...SM2国密加密算法 SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法。...SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。...于是猜测需要去注册sm2曲线名称。我们继续翻阅网站的sm2.js文件,终于找到了注册该sm2曲线名称的代码。将其复制到我们的代码中。

    8.1K20

    详解国密SM2的加密和解密

    在上一篇文章《解读国密非对称加密算法SM2》介绍了国密非对称算法SM2,在文章中说到,如果现有的网络库中已经实现ECC算法,只需加入SM2命名曲线的参数即可。...但在实现ECC_SM4_SM3这个密码套件中,在密钥交换过程中,存在客户端将Pre-Master Secret使用 SM2 公钥加密后传给服务器端的步骤。所以我们需要实现 SM2 的加密和解密。...如何使用 SM2 算法进行加密和解密,可以参考的资料是《GMT 0003.4-2012 SM2椭圆曲线公钥密码算法第4部分:公钥加密算法》。...我在本地实现了SM2的加密和解密,使用 《GMT 0003.4-2012》文档附录中的数据进行测试,也都通过,但在与第三方服务器端对接时,总是解密失败,后来才发现是因为这个原因。...实现了加密流程后,解密流程的实现就简单了,这里不再过多描述。

    6.8K40
    领券