首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏喵叔's 专栏

    算法

    其中,算法的一个典型代表是SM2、SM3、SM4: SM2: 一种非对称加密算法,用于数字签名和密钥交换。 SM3: 一种哈希函数算法,用于产生消息摘要,类似于SHA-256。 二、算法使用范围 算法的使用例子可以涵盖多个领域,以下是一些典型的应用场景: 加密通信: 在安全通信中,可以使用算法进行数据的加密和解密。 例如,使用SM2进行非对称加密,确保在网络通信中传输的数据的机密性。 数字签名: 算法中的SM2可用于生成数字签名,用于验证消息的真实性和完整性。这在电子文件签名、身份认证等场景中很有用。 身份认证: 利用算法进行身份认证,特别是在需要高度安全性的场合,如金融交易或政府系统访问。 密钥交换: 在安全通信中,SM2可用于密钥交换,确保通信双方能够安全地协商会话密钥。 例如,一些金融机构可能采用算法来保护在线交易的安全,政府机构可能在数据传输中使用算法来确保信息的机密性。 三、算法使用示例 以下是使用算法的简单示例代码,包括C#、Java和C++。

    1.6K10编辑于 2024-01-15
  • 什么是(SM2)算法

    作为算法家族的核心成员,SM2在数字签名、密钥交换和公钥加密等领域具有广泛应用,其安全性和效率已通过国际标准化组织(ISO)的认证,成为全球认可的密码标准之一。 加密时首先生成临时椭圆曲线密钥对,通过密钥派生函数(KDF)生成会话密钥,再使用SM4算法加密明文,最终输出包含曲线点坐标和文的数据包。 3ms2. **工业控制系统**:- 电力调度系统使用SM2实现厂站端身份认证- 轨道交通信号系统采用SM2加密列车控制指令- 实测表明SM2在工业嵌入式设备的响应延迟小于10ms### 五、标准化进程与国际认可SM2 **参数选择**:必须使用局批准的椭圆曲线参数,禁止自定义曲线2. **随机数生成**:签名过程中的随机数k必须满足密码学安全要求3.

    1.4K11编辑于 2025-10-15
  • 来自专栏架构之巅

    算法sm2-.Net实现

    即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。 SM1 为对称加密。其加密强度与AES相当。 重点:算法只是公布了算法,并没有给出具体语言的实现,因此需要各个语言根据算法去自己实现。 SM2P256V1"); int c1Len = (gn.Curve.FieldSize + 7) / 8 * 2 + 1; //sm2p256v1的这个固定65。 Array.Copy(c1c2c3, 0, result, 0, c1Len); //c1 Array.Copy(c1c2c3, c1c2c3.Length - c3Len, result + c3Len, result, c1Len, c1c3c2.Length - c1Len - c3Len); //c2 Array.Copy(c1c3c2, c1Len, result

    2.3K42发布于 2021-08-18
  • 来自专栏大龄程序员的人工智能之路

    初识算法

    算法是国家商用密码算法的简称,由国家密码管理局管理和发布标准。 GMT正式标准 里面包含了SM2/SM3/SM4等密码算法标准及其应用规范。“SM”代表“商”,即用于商用的、不涉及国家秘密的密码技术。 SM3/SM4/SM9/ZUC等(国家商用密码)算法、SM2数字证书及基于SM2证书的SSL/TLS安全通信协议,支持硬件密码设备,提供符合规范的编程接口与命令行工具,可以用于构建PKI /CA、安全通信、数据加密等符合标准的安全应用。 集成算法到产品。算法只是一套算法标准,其作用还要体现在具体产品中。要推广算法,客户端(如浏览器、邮件客户端、加密卡等)和服务器端(如 Web 服务器、邮件服务器等)都需要推进。

    5K31发布于 2020-03-11
  • 来自专栏SSL加密

    什么是改造?SSL证书起什么作用?

    《密码法》及相关法律法规明确了商用密码应用与安全性评估的法定要求,为确保信息系统合规,各行业需依照GB/T39786的技术要求推动信息系统的改造。 SSL证书在改造中起什么作用呢? 沃通国SSL证书采用国家密码管理局公布的SM2算法体系,支持国产密码算法及SSL安全协议,实现HTTPS加密通信以及服务器身份认证。 工作机制和RSA算法的SSL证书一样,但遵循国家的标准规范和监管体系,依赖支持算法的软件应用环境。沃通CA提供的成熟实践方案,面向Web应用实现网络通信层面的算法改造。 沃通CA提供SSL证书、客户端证书等数字证书产品,结合支持算法的浏览器(客户端)、网关(服务器端)、Ukey构成“四要素”,通过“四要素”的应用实现HTTPS通信加密 沃通国SSL证书配置“双证书”服务模式,目前已经在十几个省市改造项目中成熟应用。

    3K60编辑于 2023-02-15
  • 来自专栏python前行者

    pythongmssl

    是一个开源的加密包的python实现,支持SM2/SM3/SM4等(国家商用密码)算法、项目采用对商业应用友好的类BSD开源许可证,开源且可以用于闭源的商业应用。 gmssl是包含SM2算法的Python实现, 提供了 encrypt、 decrypt等函数用于加密解密, 用法如下: 1. ' sm2_crypt = sm2.CryptSM2( public_key=public_key, private_key=private_key) # 对接java 时验签失败可以使用 sm2 ) # 16进制 assert sm2_crypt.verify_with_sm3(sign, data) # 16进制 SM4算法 SM4(无线局域网SMS4)算法, 一个分组算法, 分组长度为 gmssl是包含SM4算法的Python实现, 提供了 encrypt_ecb、 decrypt_ecb、 encrypt_cbc、 decrypt_cbc等函数用于加密解密, 用法如下: 1.

    63210编辑于 2025-07-17
  • 来自专栏MySQL解决方案工程师

    算法 + MySQL

    中国加密标准 中国加密标准的SM1、SM2、SM3、SM4、SM7、SM9等。 借助国际加密标准,我们可以利用来自开源的加密库, 例如,最常用和最流行的加密库之一是 OpenSSL。 本文旨在使用有 SMx(中国加密库)的“OpenSSL”库 的 BabaSSL,加上 MySQL的TLS设置,提供使用的算法的 MySQL。 BabaSSL不是唯一采用 MySQL 的中国加密标准, 来自其他的中国加密供应商/开源的/兼容的/最新的 OpenSSL 库, 也会支持类似的方式来实现MySQLTLS加密。 测试环境(用于分享) 1.计算机资源(VM) 2. 操作系统 - 计算 机VM 配备 Oracle Linux 8 3. 通过公用 yum 的存储库安装MySQL 社区版本8.0 4. disable mysql sudo dnf install mysql-server 启动mysqld服务,修改密码并查看连接信息 这个时候的TLS连接时使用操作系统上的OpenSSL (=没开通的

    2K20编辑于 2022-11-21
  • 来自专栏Lixj's Blog

    算法介绍

    最近听到项目中要推动使用算法,所以来了解一下,以备不时之需~ 简介 算法是国家商用密码管理办公室制定的一系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法 自2011年7月1日起,投入运行并使用公钥密码的信息系统,应使用SM2算法。”经过多年的发展这些算法在国内各行各业都有了广泛的应用,为国内各行业的信息安全提供了可靠的保障。 这里分享一下一个支持SM2/SM3/SM4/SM9/ZUC/SSL的密码工具箱 GmSSL(点击跳转到官网)。 GmSSL GitHub 地址:https://github.com/guanzhi/GmSSL.git GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等(国家商用密码 )算法、SM2数字证书及基于SM2证书的SSL/TLS安全通信协议,支持硬件密码设备,提供符合规范的编程接口与命令行工具,可以用于构建PKI/CA、安全通信、数据加密等符合标准的安全应用

    2.8K30编辑于 2022-06-12
  • 来自专栏大龄程序员的人工智能之路

    详解SM2的加密和解密

    在上一篇文章《解读非对称加密算法SM2》介绍了非对称算法SM2,在文章中说到,如果现有的网络库中已经实现ECC算法,只需加入SM2命名曲线的参数即可。 但在实现ECC_SM4_SM3这个密码套件中,在密钥交换过程中,存在客户端将Pre-Master Secret使用 SM2 公钥加密后传给服务器端的步骤。所以我们需要实现 SM2 的加密和解密。 如何使用 SM2 算法进行加密和解密,可以参考的资料是《GMT 0003.4-2012 SM2椭圆曲线公钥密码算法第4部分:公钥加密算法》。 先来看看文档中关于加密流程的描述: ? 在A1步骤中,需要注意不能使用C语言中简单的随机数函数,因为这里 k 是一个很大的数字,有32字节,在GmSSL是用 BIGNUM 结构来表示的。 文档中关于解密流程的描述: ? 实现了加密流程后,解密流程的实现就简单了,这里不再过多描述。

    7.1K40发布于 2020-03-27
  • 来自专栏大龄程序员的人工智能之路

    详解SM2的数字签名

    在《解读非对称加密算法SM2》一文中,我讲到过非对称加密算法的用途之一就是数字签名。本文就来聊一聊SM2的数字签名算法。 在《解读非对称加密算法SM2》一文中,我们已经知道,对于椭圆曲线密码算法而言,最重要的是选择一条命名曲线,包括几个重要的参数:p、a、b、G(x,y)和n。 在《详解SM2的加密和解密》一文中,我们已经谈过密钥对的生成,这里再重复一下: 选择一个随机数作为私钥d, 1 < d < n -1 基于私钥生成公钥,P(x, y) = d * G(x, y) 签名生成 SM2签名流程 从中我们可以看到和标准ECDSA的流程有几点不同: 对消息的处理不同,签名算法对消息进行了处理,然后才计算摘要。 其中 ZA 的计算涉及到命名曲线参数的a、b、G、P A5、A6的运算和ECDSA的第3、4步不一样 签名过程中,如果出现不合法的值,需要返回到A3步,重新生成随机数,直到值合法。

    14.3K20发布于 2020-04-08
  • 来自专栏全栈程序员必看

    算法「建议收藏」

    算法分类 即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。 SM1 为对称加密。其加密强度与AES相当。 SM2算法 SM2算法:SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能 SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高 学习sm2算法,首先学习ECC算法 ECC 数字签名算法,密钥交换协议以及公钥加密算法都使用了国家管理局批准的SM3密码杂凑算法和随机数发生器。数字签名算法,密钥交换协议以及公钥加密算法根据总则来选取有限域和椭圆曲线,并生成密钥对。 解密算法:SM4密码算法是对合运算,因此解密算法与加密算法的结构相同,只是轮铝的使用顺序相反,解密轮密钥是加密轮密钥的逆序。   

    4.9K20编辑于 2022-09-16
  • 来自专栏涂样

    什么是证书?

    证书是指中国自主研发的密码算法和加密技术所生成的数字证书。它是为了保护国家信息安全而开发的一种电子证书标准。图片证书采用了国际上通用的X.509v3标准,但具有自己独特的密码算法和密钥长度。 证书的使用范围非常广泛,包括政府部门、金融机构、电子商务平台等各行各业。它可以用于身份认证、电子签名、数据加密等多个方面,以确保数据的机密性、完整性和可信度。 与传统的RSA公钥算法相比,证书采用了SM2椭圆曲线算法作为其公钥算法。相比较传统公钥算法,SM2具有更高的安全性和效率。 此外,证书还使用SM3作为哈希算法和SM4作为对称密钥算法,以提供更强大的数据加密能力。图片证书的优势不仅在于其高安全性,还在于自主可控,所有的安全数据均无需出境,只需在国内就能验证。 图片总之,证书是中国自主研发的数字证书标准,采用密密码算法和加密技术。它在保护国家信息安全、数据加密以及身份认证等方面发挥着重要作用,并具有高度安全性和自主可控的优势。

    1.4K30编辑于 2023-10-11
  • 来自专栏code人生

    常用算法整理

    SM2 SM2 SM2算法是中国国家密码管理局(CNCA)发布的一种非对称加密算法。 SM3 SM3 SM3算法是中国国家密码管理局(局)发布的密码学算法标准之一,用于数据完整性校验和消息摘要计算。 SM9 SM9 SM9算法是中国自主研发的密码算法,旨在提供安全的数字签名和加密机制。 2.SM9算法的特点:•标准:SM9算法是中国国家密码管理局发布的国家密码标准之一。•椭圆曲线密码:SM9基于椭圆曲线密码学,使用椭圆曲线上的点来实现安全操作。 8.标准:祖冲之算法是中国国家密码管理局发布的密密码算法标准之一。这意味着在中国境内,使用祖冲之算法通常需要遵守相关的国家法规和政策。

    1.7K70编辑于 2023-10-25
  • 来自专栏全栈程序员必看

    算法概述_算法一定要通过硬件吗

    即国家密码局认定的国产密码算法,即商用密码。 算法是国家密码局制定标准的一系列算法。其中包括了对称加密算法,椭圆曲线非对称加密算法,杂凑算法。 截止目前,门禁系统的升级的案例也逐渐增多,基于自主国产知识产权的CPU卡、CPU卡读写设备及密钥管理系统广泛受到关注。 这些厂商是全国推广的门禁产品的先驱者,使“御”系列CPU卡门禁系统广泛应用于政府、监狱、司法、军工企业和大型公共智能建筑等高安全领域。 安全是智能卡的核心,而算法是安全的基础。 算法由国家密码局发布,包含SM1\ SM2\ SM3\ SM4\ SSF33算法;国际算法由美国的安全局发布,是现今最通用的商用算法。 我们就以分组密码算法(DES和SM4)、公钥密码算法(RSA和SM2)、摘要算法(SM3)为例,和大家谈谈国际算法和算法的区别。

    3.3K10编辑于 2022-11-08
  • 来自专栏tlcp

    Nginx容器实战

    Nginx容器实战 1.背景 目前SSL(TLCP)已经逐步开始推广并实际使用,SSL实验室,提供了版OpenSSL,并且可以与Nginx集成,可以比较方便的搭建国SSL反向代理或者 SSL实验室并没有提供Docker的样例,考虑到Docker的广泛性,本文描述了在Docker里面部署SSL的Nginx的的完整构建过程,仅供学习和参考之用。 8.使用浏览器访问 下载奇安信浏览器(参见资源与下载) 。 导入根证书:打开浏览器>设置>高级设置>证书管理>导入证书。 File=gmssl_openssl_1.1_b4.tar.gz 2)Nginx最新版下载:http://nginx.org/download/nginx-1.20.1.tar.gz 3)双证书生成 go=CA 4)奇安信浏览器下载:https://www.gmssl.cn/gmssl/Tool_Down?

    2K21发布于 2021-09-14
  • 来自专栏CSDN技术博客

    JumpServer支持配置

    环境说明 HTTPS 证书配置在JumpServer前端的Nginx服务器,用户通过本地的支持的浏览器访问到Nginx服务器,此链路为HTTPS加密链路,Nginx服务器进行HTTPS解密, GMSSL提供一个版OpenSSL,支持Nginx,支持单向/双向认证,支持标准SSL/SSL自适应。 OpenSSL库基于OpenSSL实现,OpenSSL的许可协议是Apache License V2.0。 File=gmssl_openssl_1.1_b4.tar.gz 加密证书: 访问GMSSL - SSL实验室申请,填写相关信息后,点击“提交”,便自动下载所有证书。 SSL协议,如360安全浏览器、奇安信可信浏览器、密信浏览器; 以360安全浏览器为例,需在设置中打开“启用SSL协议支持” 点击证书显示:您与192.168.186.147之间连接采用加密套件进行了加密

    2.3K10编辑于 2021-12-02
  • 来自专栏帆说区块链

    【密码学(3)】-系列1-SM2

    题外话:不知道鸽了多久了,这次补更一下,出的密码学加密算法还挺少的,打算先搞4期密码算法,SM系列。 SM2算法概念 SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。 SM2为非对称加密,基于ECC。该算法已公开。 验证算法中的①检查签名分量r’的合理性 验证算法中的②检查签名分量s’的合理性 验证算法中的⑤检查t的正确性 SM2算法证书VS传统SSL证书的优势 (1)加密强度更高 传统SSL证书通常是RSA算法 我国现阶段使用的SM2算法是在椭圆曲线密码理论基础进行改进而来,其加密强度比RSA算法(2048位)更高。 当前,我国正在大力推动SM2算法,替换采用RSA算法的SSL证书,以政府、金融领域为主要示范行业,并在教育、社保、交通、通信、能源、税收、公共安全、国防工业等重要领域广泛要求使用符合国家标准的密码算法和产品

    1.9K40编辑于 2022-12-01
  • 来自专栏大龄程序员的人工智能之路

    解读非对称加密算法SM2

    本文先介绍非对称加密算法,然后聊一聊椭圆曲线密码算法(Elliptic Curve Cryptography,ECC),最后才是本文的主题非对称加密算法SM2。 在进行算法开发的这段时间,我主要参考的书籍是《深入浅出HTTPS:从原理到实战》,微信读书上也有电子版,如果你也是进行网络安全方面的开发,建议你读一读。这篇文章中的密码学基础知识也是来自此书。 说到这儿,和SM2算法有什么关系? SM2算法 SM2算法就是一种ECC算法,准确来说,就是设计了一条ECC命名曲线。这算抄袭么? 小结 本文从非对称密码算法开始,逐步介绍到SM2算法。我们可以看到,SM2并不是一个全新设计的算法,而是借助现有的ECC理论,设计了一条命名曲线。 也不是,因为SM2算法不仅用在加解密,还用在数字签名、密钥协商中,标准另外定义了数字签名算法、密钥交换协议、公钥加密算法,所以要把这些都实现完整,才算实现完全了SM2算法。

    6.1K20发布于 2020-03-25
  • 来自专栏独行猫a的沉淀积累总结

    SM2 (含SM3、SM4)算法工具QT版,彻底搞懂算法的使用

    网上有很多网友问算法SM2怎么使用?什么是压缩公钥和非压缩公钥?xB和yB这参数是什么?怎么使用SM2做加解密?如何签名和验签?有没有工具来验证下? 这里分享个自己用QT造的一个小工具,简单好用,同时也增加支持了SM3、SM4算法。且有详细的过程日志,可以保存为文件。用来对SM2算法做加解密和签名,验签,秘钥生成再合适不过了。 sm2使用的是固定的值"1234567812345678"。 a,b,xG和yG是椭圆曲线算法选定的椭圆曲线参数。后面有说明。这几个都是个固定值。 xA和yA这个就是公钥的前后两段。 TRUE); *privkeylen = big_to_bytes(32, key1, (char *)privkey, TRUE); ...... p,a,b,Gx,Gy,n为椭圆曲线参数, SM2算法是ECC算法的一种,相当于是设计了一条ECC命名曲线。 为什么要大力推广算法,当然是因为安全了。

    6K20发布于 2021-10-09
  • 来自专栏数安视界

    SM2 公钥加密密文格式记录

    背景最近发现,使用外部开源的库(https://github.com/duanhongyi/gmssl)进行 SM2 加密之后无法在腾讯云 KMS 系统上做解密,于是笔者针对这个问题做了一些调研、分析 SM2的公钥和文格式SM2 公钥加密产生的文是一个字节串,它可以被分为三个主要部分:C1、C2、C3,其中C1是随机数计算出的椭圆曲线、C2文数据、C3是SM3杂凑值,C1固定为64字节,C2的长度与明文相同 但是为了保险,我们继续对 encrypt 函数做了检查:我们发现 encrypt 函数的实现中,并没有做 ASN1 编码的动作,看来问题就出在这里,我们拿到的文其实是 C1C3C2 模式的裸文。 解析文,返回C1, C3, C2 SM2文主要由C1、C2、C3三部分构成, 其中C1是随机数计算出的椭圆曲线、C2文数据、C3是SM3杂凑值, C1固定为64字节,C2 cipher_bytes: bytes) -> Tuple[bytes, bytes, bytes]: """ 解析文,返回C1, C3, C2 SM2文主要由C1、C2、C3三部分构成

    4.5K168编辑于 2024-12-18
领券