Advertisement

Phpsm2sm3sm4是php版本中用于国密SM2签名算法的,它依赖于SM3哈希和SM4ECB加密解密。

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
目前提供的是PHP版本的国密SM2、SM3和SM4算法的整理,具体包括SM2的签名算法、SM3的哈希函数以及SM4的ECB加解密功能。该方案对PHP 7版本提出了要求,并且需要启用gmp支持。如果服务器使用的OpenSSL版本为1.1.1系列(包括1.1.1k),那么SM2、SM3和SM4算法可以直接通过OpenSSL的xxx系列函数进行直接调用,无需编写大量的代码。然而,对于SM2的签名功能,则不支持。 该算法的核心架构基于PHPECC算法,并进一步添加了SM2的椭圆参数算法。此外,它参考了童鞋提供的SM2验签算法以及密钥生成算法,同时增加了签名算法的支持。该方案还支持使用16进制和Base64公私钥进行SM2的签名和验签操作,并且能够从文件中读取PEM文件的签名信息。值得注意的是,在OpenSSL 1.1.1版本下,暂时没有自带用于处理SM2公钥私钥加密函数的实现,因此建议自行实现此功能,并推荐使用C或C++等语言编写算法,以打包成PHP扩展的方式部署。由于OpenSSL并未实现 SM3WithSM2 计算方法。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • PHPSM2SM3及SM4 ECB
    优质
    本项目提供了一套使用PHP语言实现的安全算法库,包括国密标准SM2签名、SM3哈希和SM4 ECB模式下的加密解密功能,适用于需增强数据安全性的应用场景。 在PHP 7环境下使用国密算法SM2、SM3、SM4需要确保服务器已安装支持gmp扩展的OpenSSL版本(例如1.1.1k)。对于这些加密标准,如果仅限于哈希运算和ECB模式下的加解密操作,则可直接利用openssl系列函数实现。然而,在处理国密算法中的签名功能时,尤其在SM2中,需要额外编写代码来支持该特定需求。 PHP版本的SM2签名算法基于PHPECC库,并引入了符合标准的椭圆曲线参数以生成和验证数字签名。此方案兼容16进制及Base64编码格式下的公私钥对操作,同时也允许从文件中加载pem形式的密钥进行验签。 值得注意的是,在OpenSSL 1.1.1系列版本下,并没有提供直接用于SM2加密解密功能的相关函数接口。因此建议开发者考虑使用C或C++语言编写算法实现细节并打包成PHP扩展,以便更高效地完成这些操作任务。 此外,由于openssl库本身并未提供对“SM3WithSM2”签名机制的支持,在实际应用中可能需要自行开发此部分代码来满足需求。
  • SM2及验SM3,基 OpenSSL C 语言实现
    优质
    本项目采用C语言和OpenSSL库,实现了国密算法SM2(包括公钥加密、私钥解密、数字签名与验证)以及SM3哈希函数的高效操作,适用于需高安全性的数据处理场景。 SM2加密、解密、签名、验签以及基于OpenSSL的C语言实现的SM3哈希算法。
  • Python实现SM2钥分发及数字并计SM3
    优质
    本项目采用Python语言实现了基于国家密码算法标准(GM/T 0016-2012)的SM2密钥交换、数据加密解密以及数字签名功能,并提供了SM3哈希函数的实现。 用Python实现符合国家保密局文档的SM2密钥分配、加解密、数字签名以及SM3杂凑值的计算,算法由自己编写,供学习使用。
  • SM2 及验证、SM3 (JavaScript
    优质
    本项目提供了使用JavaScript实现的国密算法库,包括基于SM2的加密/解密和数字签名/验证功能以及基于SM3的消息摘要生成。适合于需要高强度数据保护的应用场景。 JS版SM2用于实现加密、解密、签名及验签功能;SM3则适用于数据的哈希处理。
  • C#SM2SM3SM4
    优质
    本文档深入探讨了在中国广泛使用的国密标准下的三种重要加密算法——SM2(非对称加密)、SM3(哈希函数)及SM4(对称加密),并提供了C#语言实现的实例与方法,旨在帮助开发者理解和应用这些关键技术。 C#国密加密算法SM2, SM3, SM4的一个实现案例,不涉及具体的算法剖析,在网络上关于这个加密算法的文档较少,在跨语言加密解密中会存在一些问题,因此进行了整理。
  • PHPSM2、SM4SM3
    优质
    本项目提供用PHP语言实现的国家密码局公布的SM2椭圆曲线公钥加密算法、SM4对称加密算法以及SM3密码杂凑算法,适用于需要高强度数据保护的应用场景。 SM2, SM4, SM3 和 SM1 的 PHP 版算法实现已经测试通过,欢迎大家下载使用。
  • OpenSSL 1.1.1 调试 SM2 、验,涉及 SM3 技术
    优质
    本文介绍如何使用OpenSSL 1.1.1版本进行SM2签名和验证,以及数据的加解密操作,并探讨了其中涉及到的SM3哈希算法的应用。 OpenSSL 1.1.1 新增特性包括全面支持国密SM2/SM3/SM4加密算法。最近的一个项目需要使用到这些国密技术,但由于资源有限,只能选择这个版本的 OpenSSL 来实现需求。
  • SM2SM3、SM4.rar
    优质
    该资源为国密SM2(椭圆曲线公钥密码)、SM3(散列函数)及SM4(分组密码)三项核心技术文档合集,适用于信息安全领域学习与研究。 C#国密加密算法原码适用于国家电子健康卡平台接口的加密、解密及签名验证,并可用于个人系统开发中的加密与解密等功能。
  • 使BouncyCastle.Crypto 1.8.10在C#实现SM2SM3SM4(包括
    优质
    本项目利用BouncyCastle.Crypto 1.8.10库,在C#环境下实现了中国商用密码标准的SM2公钥加密、SM3哈希以及SM4对称加密算法,涵盖签名验证与数据加解密功能。 使用C#和BouncyCastle.Crypto 1.8.10库可以实现国密算法SM2、SM3以及SM4的加签解签与加密解密功能。
  • C#源码实现SM2SM3SM4功能
    优质
    本项目提供一套用C#编写的国密算法库,涵盖SM2公钥加密、SM3哈希计算与SM4对称加密,支持数字签名验证,适用于需高安全性的数据保护场景。 国密算法功能包括: 1. SM2 加密解密、公钥私钥生成、签名与验签; 2. SM4 加密解密; 3. SM3加密; 代码实现及调用案例源码已经过本人测试通过,采用BouncyCastle.Crypto.dll库进行全部实现,并提供源码分享。