Advertisement

Python实现国密SM2密钥分发加解密及数字签名并计算SM3哈希值

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


简介:
本项目采用Python语言实现了基于国家密码算法标准(GM/T 0016-2012)的SM2密钥交换、数据加密解密以及数字签名功能,并提供了SM3哈希函数的实现。 用Python实现符合国家保密局文档的SM2密钥分配、加解密、数字签名以及SM3杂凑值的计算,算法由自己编写,供学习使用。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • PythonSM2SM3
    优质
    本项目采用Python语言实现了基于国家密码算法标准(GM/T 0016-2012)的SM2密钥交换、数据加密解密以及数字签名功能,并提供了SM3哈希函数的实现。 用Python实现符合国家保密局文档的SM2密钥分配、加解密、数字签名以及SM3杂凑值的计算,算法由自己编写,供学习使用。
  • SM2SM3,基于 OpenSSL 的 C 语言
    优质
    本项目采用C语言和OpenSSL库,实现了国密算法SM2(包括公钥加密、私钥解密、数字签名与验证)以及SM3哈希函数的高效操作,适用于需高安全性的数据处理场景。 SM2加密、解密、签名、验签以及基于OpenSSL的C语言实现的SM3哈希算法。
  • PHP版SM2SM3SM4 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 、验(含公私与测试类)
    优质
    本项目提供国密算法SM2和SM3实现,涵盖签名验证、数据加密解密功能,并包含公私钥管理与单元测试代码。 国密 SM2 和 SM3 算法:包括 SM2 签名验证算法、制作 SM2 证书以及使用 BouncyCastle 开源库;涉及的文件有SM2.cs,SM3Digest.cs,SM2_SM3.csproj。
  • SM2 SM3、验(含公私与测试类)
    优质
    本项目提供基于国密标准SM2和SM3算法的签名验证、数据加密解密功能,并包含公钥、私钥生成及详细测试案例。 国密 SM2 和 SM3 算法:包括签名验证、证书制作;使用 BouncyCastle 开源库;涉及的文件有SM2.cs、SM3Digest.cs以及项目文件SM2_SM3.csproj。
  • C#SM2SM3验证源码
    优质
    本项目提供用C#语言编写的代码库,实现了中国国家密码标准(国密)中的SM2椭圆曲线公钥加密算法以及SM3哈希算法,包括加解密、签名与验签功能。适合需要集成国产密码技术的应用开发使用。 国密SM2_SM3加密解密及加签验签操作的C#源码在网络资源中较为稀缺。该代码实现了基于.NET平台的SM2和SM3算法的相关功能,包括加密、解密以及数字签名验证等操作。
  • SM2 验证、SM3 (JavaScript 版)
    优质
    本项目提供了使用JavaScript实现的国密算法库,包括基于SM2的加密/解密和数字签名/验证功能以及基于SM3的消息摘要生成。适合于需要高强度数据保护的应用场景。 JS版SM2用于实现加密、解密、签名及验签功能;SM3则适用于数据的哈希处理。
  • SM2生成、验证交换
    优质
    本教程详细介绍了基于超椭圆曲线密码学原理的SM2算法在密钥生成、数据加密与解密、数字签名以及安全会话建立中的应用和实现方法。 工具功能包括:SM2密钥生成、SM2加密解密、SM2签名验签以及SM2密钥交换。
  • SM2验证和私
    优质
    本项目详细介绍了SM2算法在数字签名与验证、公钥私钥加密解密过程中的应用,并提供相应代码实现。 这是我基于GMP大数运算库,并借鉴了lib-ecc中的代码实现的C语言SM2接口。该接口包含了SM3算法的实现,仅实现了签名验证、公钥加密及私钥解密功能。已对SM2中的数据进行了验证,但未具体应用于工程中。整个代码是在Linux环境下使用Eclipse开发的,并没有自己编写Makefile文件;需要调试的话可以自行编写或在专业版Eclipse中安装相关插件。该代码仅供借鉴和交流之用。 由于个人水平有限,可能存在不足之处,希望大家能够批评指正。已知的问题包括私钥解密时未验证无穷远点(本人不会)。
  • C#源码SM2SM3和SM4的功能
    优质
    本项目提供一套用C#编写的国密算法库,涵盖SM2公钥加密、SM3哈希计算与SM4对称加密,支持数字签名验证,适用于需高安全性的数据保护场景。 国密算法功能包括: 1. SM2 加密解密、公钥私钥生成、签名与验签; 2. SM4 加密解密; 3. SM3加密; 代码实现及调用案例源码已经过本人测试通过,采用BouncyCastle.Crypto.dll库进行全部实现,并提供源码分享。