jjzjj

国密算法使用-SM4

1.概念介绍SM4:无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。2.算法介绍此算法是一个分组算法,用于无线局域网产品。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。此算法采用非线性迭代结构,每次迭代由一个轮函数给出,其中轮函数由一个非线性变换和线性变换复合而成,非线性变换由S盒所给出。其中rki为轮密钥,合成置换T组成轮函数。轮密钥的产生与上图流程类似,由加密密钥作为输入生成,轮函数中的线性变换不同,还有些参数的区别。过程:基

PHP sm2 国密扩展

openssl-ext-sm2介绍基于openssl密码库编写的SM2椭圆曲线公钥密码算法PHP扩展特性:非对称加密git地址:https://gitee.com/state-secret-series/openssl-ext-sm2.git软件架构zend常规PHP扩展结构依赖要求1,liunx:openssl/lib必须包含libcrypto.so和libssl.so动态库2,mac:openssl/lib必须包含libcrypto.dylib和libssl.dylib动态库例:liunx例:mac安装教程解压进入openssl-ext-sm2目录cdopenssl-ext-sm2-mas

python模块gmssl,SM国密算法

一、简介gmssl是一个用于处理国密算法的Python模块,它提供了对国密算法的支持,包括对称加密、非对称加密、散列函数和数字签名等,仅列出了其中两个较为完善的第三方库,需要注意的是,SM1和SM7算法不公开,目前大多库仅实现了SM2、SM3、SM4三种密算法。若要使用SM9算法,可下载gmssl-python源码手动安装国密算法是中国自主研发的密码算法标准,相比于传统的国际标准算法,如AES、RSA等,国密算法具有以下优点和缺点:优点:1.安全性:国密算法经过严格的安全性评估和密码学专家的审查,具有较高的安全性。它们采用了更长的密钥长度和更复杂的算法设计,以抵御现代密码攻击。2.自主可控:国

解决国密SM2加解密部署到weblogic后bouncyCastle bcprov-jdk15on的包冲突

1.报错内容triedtoaccessmethodorg.bouncycastle.math.ec.ECPoint$Fp.(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)VfromclassSM2Utils.SM2at......2.分析         我的SpringBoot项目中,依赖bcprov-jdk15on-1.59版本jar包,本地编译运行都是没问题的,发布到weblogic服务器后,调用加解密

信创-nginx-国密ssl改造

官网网址https://www.gmssl.cn/gmssl/index.jsp简介GMSSL提供一个国密版OpenSSL支持Nginx,支持单向/双向认证,支持标准SSL/国密SSL自适应。国密OpenSSL库基于OpenSSL实现,OpenSSL的许可协议是ApacheLicenseV2.0。国密OpenSSL与国密Nginxgmssl_openssl_1.1_bxx.tar.gz无缝nginx国密改造,支持nginx1.6+下载:参见“国密Web服务器下载”。编译部署(以nginx-1.18.0为例)下载gmssl_openssl_1.1_bxx.tar.gz到/root/下解压tarx

java/vue使用国密sm2、sm3、sm4进行数据加密

简介(必看)国密sm2、sm4都是可以加解密的,sm3是单向加密,是无法解密的sm2加密和解密是不同的秘钥,需要提前生成一对公钥和私钥,公钥用来加密,私钥用来解密sm4的加解密用的是一样的秘钥国密sm2sm2加解密方式:需要提前生成好一对公钥和私钥,然后加密的时候,用公钥进行加密,解密的时候,用私钥进行解密java端添加依赖 org.bouncycastle bcprov-jdk15to18 1.72 org.bouncycastle bcprov-jdk15on 1.70 cn.hutool hutool-all 5.8.22生成公钥和私钥SM2sm2=SmUtil.sm2();String

前端vue2使用国密SM4进行加密、解密

前端vue2使用国密SM4进行加密、解密SM4是一种对称加密算法,也被称为国标SM4。它是在中国的国家密码标准下开发的,主要用于保护电子数据的机密性和完整性。SM4算法采用分组密码工作方式,其分组长度为128位,密钥长度为128位、192位或256位。它是一种分组长度和密钥长度都可变的分组密码,其使用的密钥长度取决于实际应用场景的安全需求。SM4加密有两种模式:ECB和CBC。ECB模式是最简单的块密码加密模式,加密前根据加密块大小分成若干块,之后将每块使用相同的密钥单独加密,解密同理。这种模式的优点在于简单和有利于并行计算,而且误差不会被传送。然而,ECB模式不能隐藏明文的模式,可能对明文进

SM2——适用于前后端(java+vue)公用的SM2国密加解密传输

目录一、SM2国密加解密算法1.1、pom文件引入依赖包1.2、SM2加解密工具类1.3、测试类一、SM2国密加解密算法1.1、pom文件引入依赖包dependency>groupId>org.bouncycastle/groupId>artifactId>bcprov-jdk18on/artifactId>version>1.72/version>/dependency>1.2、SM2加解密工具类SM2加解密工具类packagecom.xz.utils;importorg.bouncycastle.asn1.gm.GMNamedCurves;importorg.bouncycastle.as

Java - OpenSSL与国密OpenSSL

文章目录一、定义OpenSSL:OpenSSL是一个开放源代码的SSL/TLS协议实现,也是一个功能丰富的加密库,提供了各种主要的加密算法、常用的密钥和证书封装管理功能以及SSL协议。它被广泛应用于Web服务器、电子邮件服务器、VPN等网络应用中,为数据传输提供安全保障。国密OpenSSL:国密OpenSSL是基于OpenSSL的一个扩展版本,它增加了对中国国家密码管理局所规定的一系列国产密码算法(简称国密算法,如SM2、SM3、SM4等)的支持。国密OpenSSL保持了OpenSSL的原有功能和接口,同时增加了对国密算法的支持,使得用户可以在不改变原有应用代码的情况下,使用国密算法进行加密通

国密商用密码SM3杂凑算法原理分析与Java实现

目录一、简介二、算法原理1.填充2.迭代压缩2.1迭代过程2.2消息扩展2.3压缩函数3.得到杂凑值三、代码实现1.常量定义1.1初始化的IV1.2常量T1.3布尔函数1.4置换函数1.5其它常量2.初始化3.update方法4.压缩函数方法5.final方法四、测试一、简介国密SM3算法是我国自研设计的商用密码杂凑算法,是在SHA-256的基础上进行改造的,其安全性与SHA-256相当。《SM3密码杂凑算法》于2010年12月份由国家密码管理局首次发布。后于2012年发布为密码行业标准《GM/T0004-2012SM3密码杂凑算法》,2016年发布为国家密码杂凑算法标准《GB/T32905-