sm2专题

【SM系列】简单说说SM2,SM3,SM4加密算法

希望文章能给到你启发和灵感~ 如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏 支持一下博主吧~ 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境 二、什么是SM2加密?2.1 应用场景2.2 与RSA算法的区别 三、什么是SM3加密?3.1 应用场景 四、什么是SM4加密?4.1 应用场景 五、最后 开篇说明 之前我们说过了几种常见加密算法,今天我

Java实现加密(六)国密SM2算法

目录 一、SM2 简介1.1 概述1.2 国密与国际密的对应关系1.3 优势1.4 ECC加密算法 vs RSA加密算法 二、SM2 应用场景2.1 数据加密2.2 密钥协商2.3 数字签名 三、Java 实现 SM2 的两种方式3.1 Maven 依赖3.2 实现方式一1)SM2Utils.java2)SignatureSM2Util.java3)Param.java4)测试示例5)测试结

国密算法 SM2 SM3 SM4分别用作什么

非对称加密SM2(可选支持国内SM9)算法实现数据的签名、验签和加解密对称密钥, SM3密码杂凑算法实现数据摘要的生成, 对称密钥SM4加密算法实现对数据内容的加密。

[C#]国密SM2算法加解密字符串加密解密文件

【算法介绍】 国密SM2算法是一种由中国国家密码管理局发布的非对称加密算法,基于椭圆曲线密码学体系,具有较高的安全性和效率。该算法主要用于数字签名、密钥交换和公钥加密等场景,其安全性主要基于椭圆曲线离散对数问题的难解性。 SM2算法特点 高安全性:SM2算法基于椭圆曲线密码学,相比传统算法如RSA,在同等密钥长度下提供了更高的安全性。高效率:SM2算法的计算量相对较小,适合在资源受限的环境中

SM2前后端加密和解密

一:前端vue 二:后端解密 三:后端详解 3.1maven文件  <dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15to18</artifactId><version>1.66</version></dependency> 3.2工具类(生成公钥、私钥、加密、解密) public c

Python3简单实现与Java的Hutool库SM2的加解密互通

1、背景: 因业务需求,需要与某平台接口对接。平台是Java基于Hutool库实现的SM2加密解密,研究了下SM2的加解密算法,网上找的资料,都是说SM2【椭圆曲线】 公钥长【x,y分量 64字节】,私钥短【32字节】;而平台给的Hutool生成的密钥对,私钥反而比公钥更长,直接用Pyhton做SM2加解密,难以实现数据的互通。后多方查找资料,几经测试终于弄成,其他编程语言亦可参考,现分享如下。

使用国密2(SM2)前后端传输加密

后端工具类 @Data@AllArgsConstructorstatic class SM2KeyPair {// 公钥private String publicKey;// 前端公钥private String publicQKey;// 私钥private String privateKey;}// 生成密钥对public static SM2KeyPair getSm2KeyPair

【SM2证书】利用BC的X509v3CertificateBuilder组装X509国密证书

SM2、SM4加解密 SM2 SM3 签名验签代码部分开源在gitee&github https://github.com/xiaoshuaishuai319/algorithmNation   证书文件 链接: https://pan.baidu.com/s/1ijHNnMQJj7jzW-jXEVd6Gg 密码: vfva 所需jar包 <!-- https://mvnrepo

Java生成SM2证书基于BouncyCastle(cer)

Java生成SM2证书基于BouncyCastle(cer) 可以先加QQ 783021975 咨询相关问题。 自己研究那就是看BC源码。不愿意看就看别的大佬的开源代码   https://github.com/ZZMarquis/gmhelper 【SM2证书】利用BC的X509v3CertificateBuilder组装X509国密证书 SM2、SM4加解密 SM2 SM3

android studio导入so包异常:java.lang.UnsatisfiedLinkError: Couldn’t load sm2 from loader dalvik.system.Pa

java.lang.UnsatisfiedLinkError: Couldn't load xxx from loader dalvik.system.PathClassLoader的终极解决方法 java.lang.UnsatisfiedLinkError: Couldn't load xxx from loader dalvik.system.PathClassLoader的解决方法

【iOS逆向与安全】网上gw如何自动登录与签到SM2,SM3,SM4算法加解密

1.下载 app 2.frida 调试 3.抓包查看接口 4.分析加密数据 5.易语言编写代码  1 .开始下载 下载好发现有越狱检测,检测点为: -[AppDelegate isJailBreak]; 于是编写插件xm代码 : %hook AppDelegate- (void)isJailBreak{NSLog(@"AppDelegate isJailBreak

国密GMSM2 —— go语言实现国密SM2加密算法

package mainimport ("github.com/tjfoc/gmsm/sm2""fmt""encoding/hex")func main() {//生成私钥privateKey, e := sm2.GenerateKey()if e!=nil{fmt.Println("sm2 encrypt faild!")}//从私钥中获取公钥pubkey := &privateKey.Pub

PKI - 一文读懂SM1、SM2、SM3、SM4等国密算法

文章目录 Pre概述S1SM2SM3SM4SM9使用经验国密算法的安全性SM2算法的安全性SM3算法的安全性SM4算法的安全性 在Java中使用引入Bouncy Castle依赖非对称加密SM2使用随机生成的密钥对加密或解密使用自定义密钥对加密或解密SM2签名和验签自定义密钥对使用SM2曲线点构建SM2使用私钥D值签名使用公钥Q值验证签名 其他格式的密钥摘要加密算法SM3对称加密SM4

SM2的P7结构体简单分析

SM2签署的P7结构体简单分析 本文用于记录我一次为了验签SM2国密不得不把整个P7结构体理解一遍后,得出来的一些结论,可能以后很难再用到,故记录下来以减少以后用到时的再学习成本 借鉴和提供了帮助的文章及网站 支持国密SM2/SM3/SM4/SM9/ZUC/SSL的密码工具箱 X.509数字证书的结构与解析 翻译:《PKCS#7 - SignedData》 CSR Decoder An

国密SM2椭圆曲线算法软件

SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法,SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法。 随着密码技术和计算机技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法。 目前电力行业使用的通信数据加密也基于此算法,正好有项目需要此功能,将此界面化,供大家平时使用。

JS版SM2国密算法的签名验证

前段时间因工作需要,了解到在Github上已经有人实现了用JavaScript来写签名和验签,支持RSA、ECC、DSA等算法,还能解析X.509证书,一时觉得JavaScript是无比强大。后面就研究了下JavaScript版的ECC算法签名验证,自己再扩展实现了SM2国密算法的签名验证。 基于现有已实现的C#版SM2国密算法的签名验证,再结合原来JavaScript的ECC算法,使用Java

国密SM2非对称算法与实现

国密SM2是非对称密码算法,是基于ECC算法的非对称算法。SM2算法标准公布于:http://www.oscca.gov.cn/News/201012/News_1197.htm,有兴趣的可下载学习。        国密SM2算法标准包括4个部分,第1部分为总则,主要介绍了ECC基本的算法描述,包括素数域和二元扩域两种算法描述,第2部分为数字签名算法,这个算法不同于ECDSA算法,其计算量大,也

国密SM2算法进行数据的加密、签名和验签、解密

一、背景介绍 数据的加解密有很多种方式,几种常用的加密算法如下: DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合; 3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高; RC2和RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快; IDEA(Inte

GMT0009 SM2密钥算法使用规范以及密钥对保护数据解析

密钥对保护数据格式 在SM2密钥对传递时,需要对SM2密钥对进行加密保护,即数字信封,具体的保护方法为: 产生一个对称密钥按对称密码算法标识指定的算法对SM2私钥进行加密,得到私钥的密文,若对称算法为分组算法,则其运算模式为ECB使用外部SM2公钥加密对称密钥得到对称密钥密文将私钥密文、对称密钥密文封装得到密钥对保护数据中 SM2密钥对的保护数据格式的ASN.1定义为: 对称密钥算法标

sm2和aes加解密

引用maven包 <dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk18on</artifactId><version>1.72</version></dependency> 2.对报文进行加密后生成签名 {// oristr报文 SECRET_KEY加密密钥String encryp

国密算法SM2,SM3,SM4简单比较,以及基于Java的SM4(ECB模式,CBC模式)对称加解密实现

常用的国密算法包含SM2,SM3,SM4。以下针对每个算法使用场景进行说明以比较其差异 SM2:非对称加密算法,可以替代RSA 数字签名,SM2为非对称加密,加解密使用一对私钥和公钥,只有签名发行者拥有私钥,可用于加密,其他需要验证解密或验签者使用公钥进行。如果使用公钥可以成功解密,则可以确定数据、文档或其他数字资产的拥有者。因性能问题,根据实际需要常用于小体积数据加密,例如对密钥或SM3生成的

在线SM2验签工具

在线SM2验签工具 - BTool在线工具软件,为开发者提供方便。本工具采用了国密局推荐的SM2签名算法,SM2签名算法是一种基于椭圆曲线密码体系的数字签名算法,是中国国家密码管理局制定的国密标准之一。SM2签名算法的安全性基于椭圆曲线离散对数问题,相对于其他签名算法,具有更高的安全性和效率。用户只需输入签名信息、公钥及待验证的数据,即可快速完成验签过程。https://www.btool.cn/

在线SM2加签工具

在线SM2加签工具 - BTool在线工具软件,为开发者提供方便。本工具采用了国密局推荐的SM2签名算法,SM2签名算法是一种基于椭圆曲线密码体系的数字签名算法,是中国国家密码管理局制定的国密标准之一。SM2签名算法的安全性基于椭圆曲线离散对数问题,相对于其他签名算法,具有更高的安全性和效率。用户只需输入待签名的数据及对应的私钥,即可完成签名过程。https://btool.cn/sm2-sign

高级鉴权验签方式的实践,技术方案为注解+ASCII排序+多类型多层级动态拼接+RSA加密(或国密SM2)+Base64+Redis滑动窗口限流

背景 虽然大多数企业的流量没有那么大,不过限流还是要有的,毕竟还有外部调用我方系统接口,需要验证访问权限进行,同时防止万一接口并发量大影响我方系统, 所以要增加流控处理;不同的来源在独立配置,可以做到不同来源的限流 鉴权设计技术方案:采用注解+ASCII排序+多类型多层级动态拼接+RSA加密(或国密SM2)+一次Base64转码 限流设计:采用Redis的zset滑动窗口限流的方式 建议用

【转】关于国密算法 SM1,SM2,SM3,SM4 的笔记

国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。 SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。 SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA

【Idea】SpringBoot项目中,jar包引用冲突异常的排查 / SM2算法中使用bcprov-jdk15to18的报错冲突问题

问题描述以及解决方法: 项目中使用了bcprov-jdk15to18 pom依赖,但是发现代码中引入的版本不正确。 追溯代码发现版本引入的是bcprov-jdk15on,而不是bcprov-jdk15to18,但是我找了半天pom依赖也没有发现有引入bcprov-jdk15on依赖。所以判断这个包肯定是其它依赖中包含的,需要exclude掉。 解决: spring-cloud-starte