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

    算法

    一、什么是算法 算法是指中国国家密码管理局推动和标准化的密码算法体系,也称为“中国密码算法”或“国家密码算法”。 推广应用: 中国政府推动算法的广泛应用,特别是在政府机构、金融、电信等关键领域。 其中,算法的一个典型代表是SM2、SM3、SM4: SM2: 一种非对称加密算法,用于数字签名和密钥交换。 二、算法使用范围 算法的使用例子可以涵盖多个领域,以下是一些典型的应用场景: 加密通信: 在安全通信中,可以使用算法进行数据的加密和解密。 例如,使用SM2进行非对称加密,确保在网络通信中传输的数据的机密性。 数字签名: 算法中的SM2可用于生成数字签名,用于验证消息的真实性和完整性。这在电子文件签名、身份认证等场景中很有用。 例如,一些金融机构可能采用算法来保护在线交易的安全,政府机构可能在数据传输中使用算法来确保信息的机密性。 三、算法使用示例 以下是使用算法的简单示例代码,包括C#、Java和C++。

    1.9K10编辑于 2024-01-15
  • 来自专栏大龄程序员的人工智能之路

    初识算法

    算法是国家商用密码算法的简称,由国家密码管理局管理和发布标准。 GMT正式标准 里面包含了SM2/SM3/SM4等密码算法标准及其应用规范。“SM”代表“商”,即用于商用的、不涉及国家秘密的密码技术。 SM3/SM4/SM9/ZUC等(国家商用密码)算法、SM2数字证书及基于SM2证书的SSL/TLS安全通信协议,支持硬件密码设备,提供符合规范的编程接口与命令行工具,可以用于构建PKI 后续如果有新的算法标准公布,也需要加入新的实现。 集成算法到产品。算法只是一套算法标准,其作用还要体现在具体产品中。 算法标准,更多的像是自上而下的政治任务,而不是从产品的实际需求出发,不可避免的带有一些中国特色。

    5.2K31发布于 2020-03-11
  • 来自专栏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 (=没开通的

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

    算法介绍

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

    3K30编辑于 2022-06-12
  • 什么是(SM2算法

    作为算法家族的核心成员,SM2在数字签名、密钥交换和公钥加密等领域具有广泛应用,其安全性和效率已通过国际标准化组织(ISO)的认证,成为全球认可的密码标准之一。 加密时首先生成临时椭圆曲线密钥对,通过密钥派生函数(KDF)生成会话密钥,再使用SM4算法加密明文,最终输出包含曲线点坐标和文的数据包。 ### 二、SM2与SM系列算法的协同体系作为中国商用密码标准的核心,SM2与SM3哈希算法、SM4分组密码算法构成完整的技术生态:- **SM3算法**:输出长度256位的密码哈希函数,在SM2签名过程中用于消息摘要生成 **参数选择**:必须使用局批准的椭圆曲线参数,禁止自定义曲线2. **随机数生成**:签名过程中的随机数k必须满足密码学安全要求3. **兼容性设计**:与现有PKI体系融合时需处理证书扩展字段### 七、未来发展趋势随着量子计算技术的发展,SM2算法正在向抗量子密码方向演进:1. 国家密码管理局已启动SM2后量子算法研究项目2.

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

    算法sm2-.Net实现

    即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。 SM1 为对称加密。其加密强度与AES相当。 该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。 SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。 ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。 SM3 消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。 SM4 无线局域网标准(WAPI)的分组数据算法。对称加密,密钥长度和分组长度均为128位。 重点:算法只是公布了算法,并没有给出具体语言的实现,因此需要各个语言根据算法去自己实现。

    2.4K42发布于 2021-08-18
  • 来自专栏全栈程序员必看

    算法「建议收藏」

    算法分类 即国家密码局认定的国产密码算法。主要有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密码杂凑算法和随机数发生器。数字签名算法,密钥交换协议以及公钥加密算法根据总则来选取有限域和椭圆曲线,并生成密钥对。 加密算法采用32轮迭代结构,每轮使用一个轮密钥。   解密算法:SM4密码算法是对合运算,因此解密算法与加密算法的结构相同,只是轮铝的使用顺序相反,解密轮密钥是加密轮密钥的逆序。   

    5.1K20编辑于 2022-09-16
  • 来自专栏code人生

    常用算法整理

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

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

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

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

    3.5K10编辑于 2022-11-08
  • 来自专栏大龄程序员的人工智能之路

    解读非对称加密算法SM2

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

    6.4K20发布于 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命名曲线。 为什么要大力推广算法,当然是因为安全了。

    6.3K20发布于 2021-10-09
  • 来自专栏bisal的个人杂货铺

    提供使用算法的MySQL

    在当前的形势下,各种国产技术的需求,比以往都要紧迫,借鉴徐老师的这篇文章《算法 + MySQL》,学习创建使用算法的MySQL数据库。 本文旨在使用有SMx(中国加密库)的“OpenSSL”库的BabaSSL,加上 MySQL的TLS设置,提供使用算法的MySQL。 BabaSSL不是唯一采用 MySQL 的中国加密标准,  来自其他的中国加密供应商/开源的/兼容的/最新的 OpenSSL 库,也会支持类似的方式来实现MySQLTLS加密。 2.  操作系统 - 计算机VM配备Oracle Linux 8。 3.  通过公用yum的存储库安装MySQL社区版本8.0。 4. 这个时候的TLS连接时使用操作系统上的OpenSSL (=没开通的TLS), sudo systemctl start mysqld 查看root的临时密码,以临时密码登陆的是不可以使用正常SQL命令

    1.8K20编辑于 2022-10-31
  • 来自专栏程序通事

    SM 算法踩坑指南

    什么是算法就是一个口头上简称,官方名称是国家商用密码,使用拼音缩写 SM,它是用于商用的、不涉及国家秘密的密码技术。 而其实就是这些国际算法国产化的代替方案,与国际算法对应关系如下: 这次改造项目使用的就是 SM2 算法。 SM2算法 SM2 算法是一种非对称加密算法,基于 ECC(椭圆加密算法), SM2 算法对标我们常用的国际算法 RSA。 但是 SM2 算法由于基于 ECC,签名速度与秘钥速度都快于 RSA。 SM2 算法联调测试的时候,这一点比较头疼,下面讲下这次改造中碰到一些问题。 建议大家开发之前可以先了解一下 SM2 相关国标规范,不需要很深入了解整个原理,但是需要知道 SM2 与 RSA 的区别点。

    8.9K22编辑于 2021-12-09
  • 来自专栏全栈程序员必看

    sm4加密算法

    sm4加解密算法工具类,可用于生产环境 package com.example.demo.endecryption.utils; import org.apache.commons.codec.binary.Base64 java.nio.charset.Charset; import java.security.InvalidKeyException; import java.security.Security; /** * static { Security.addProvider(new BouncyCastleProvider()); } /** * 自定字符串产生密钥 * @param algorithm 加解密算法 } } /** * 加解密字节数组 * @param algorithm 加解密算法 * @param opmode 操作:1加密,2解密 * @param key 密钥 * @param data 数据 BadPaddingException { return cipherDoFinal(algorithm, Cipher.DECRYPT_MODE, key, data); } } 测试 /** *

    1.1K30编辑于 2022-11-11
  • 来自专栏裴大头的专栏

    SpringBoot + Vue 请求加密(采用算法

    请求拦截器: 请求拦截器的作用是将请求中的内容使用sm4加密,将sm4的秘钥使用sm2加密后放到请求头中。 (这里说一个我遇到的问题,我的算法是用的sm-crypto这个,但是其中的sm2加密sm4的秘钥时,后端怎么也无法解密,不知道是什么原因,于是重找了一个sm2库进行加密,就没有问题了,这里是用的cdn ) return Promise.reject(error) }) 复制 3.使用到的工具类sm.js // 引入sm const sm = require('sm-crypto') // sm2公钥 ,默认为1 const cipherMode = 0 // 解密结果 // sm.sm2.doDecrypt(sm.sm2.doEncrypt(key, publicKey, cipherMode ), privateKey, cipherMode); // 加密结果 return sm2Encrypt(key, sm2Key, cipherMode) } /** * 对请求参数加密

    5.8K10编辑于 2022-01-17
  • 来自专栏数安视界

    简易算法 PythonSDK:EasyGmSSL-Python

    EasyGmssl-Python 一、概述 EasyGmSSL FORK 自北京大学 GUNAZHI 老师团队的开源算法库: GmSSL,EasyGmSSL旨在为开发者提供一套接口更加友好的算法应用开发工具 它涵盖了SM2、SM3、SM4等算法的核心功能,并针对实际使用场景中的痛点进行了针对性改进。 这使得即使是初次接触算法的开发者,也能迅速理解每个参数的含义与用途,降低了开发门槛,加速项目开发进程。 三、安装指南 只需在命令行中执行以下pip命令即可完成安装: pip install easy_gmssl 安装过程中,系统会自动处理底层C库的编译与安装事宜,待编译安装完成后即可开启算法开发之旅。 虽然SDK尽力优化了接口,但算法涉及密码学专业知识,在开发高安全性应用时,建议开发者深入了解相关算法原理,确保应用的安全性。

    2.4K1615编辑于 2024-12-24
  • SM2算法加解密字符串加密解密文件

    算法介绍】 SM2算法是一种由中国国家密码管理局发布的非对称加密算法,基于椭圆曲线密码学体系,具有较高的安全性和效率。 SM2算法特点 高安全性:SM2算法基于椭圆曲线密码学,相比传统算法如RSA,在同等密钥长度下提供了更高的安全性。 高效率:SM2算法的计算量相对较小,适合在资源受限的环境中使用,如移动设备或嵌入式系统。 广泛适用性:不仅适用于数据加密,还广泛应用于数字签名、密钥协商等场景,满足多种信息安全需求。 标准化:SM2算法已被国际电信联盟(ITU-T)和国际标准化组织(ISO)认可为国际标准,体现了其国际认可度和影响力。 应用场景 数据加密:使用公钥加密敏感数据,确保数据在传输过程中的安全性。 密钥交换:在双方通信前,通过SM2算法安全地交换密钥,为后续的数据加密提供基础。 总之,SM2算法以其高安全性、高效率和广泛适用性,在信息安全领域发挥着重要作用。

    1.1K10编辑于 2025-07-21
  • 来自专栏SSL加密

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

    目前市场上常用的SSL证书,都是由国外CA机构基于国际标准体系提供的RSA/ECC算法SSL证书。为了提升我国重要领域信息系统的网络通信安全,TLS数据传输的改造势在必行。 沃通国SSL证书采用国家密码管理局公布的SM2算法体系,支持国产密码算法SSL安全协议,实现HTTPS加密通信以及服务器身份认证。 工作机制和RSA算法的SSL证书一样,但遵循国家的标准规范和监管体系,依赖支持算法的软件应用环境。沃通CA提供的成熟实践方案,面向Web应用实现网络通信层面的算法改造。 沃通CA提供SSL证书、客户端证书等数字证书产品,结合支持算法浏览器(客户端)、网关(服务器端)、Ukey构成“四要素”,通过“四要素”的应用实现HTTPS通信加密 -通用品牌-wotrus品牌】选择RSA算法沃通WoTrus SSL证书,或通过【算法-通用品牌-wotrus品牌】选择沃通WoTrusSSL证书,满足腾讯云用户不同应用场景的使用需求。

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

    pythongmssl

    是一个开源的加密包的python实现,支持SM2/SM3/SM4等(国家商用密码)算法、项目采用对商业应用友好的类BSD开源许可证,开源且可以用于闭源的商业应用。 安装 pip install gmssl SM2算法 RSA算法的危机在于其存在亚指数算法,对ECC算法而言一般没有亚指数攻击算法 SM2椭圆曲线公钥密码算法:我国自主知识产权的商用密码算法,是ECC gmssl是包含SM2算法的Python实现, 提供了 encrypt、 decrypt等函数用于加密解密, 用法如下: 1. ) # 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.

    89710编辑于 2025-07-17
  • 支持算法的密钥管理服务技术指南

    摘要 本文旨在为需要支持算法(SM2/SM4)的密钥管理服务提供技术解析、操作指南和增强方案。 技术解析 核心价值与典型场景 算法,包括SM2(椭圆曲线公钥密码算法)和SM4(分组密码算法),是中国自主研发的加密算法,广泛应用于需要高安全性的场合。 3大关键挑战 性能瓶颈:算法的计算复杂度较高,可能导致处理速度下降。 安全风险:密钥管理不当可能导致数据泄露或被篡改。 合规要求:不同行业对加密算法有不同的合规要求,需要灵活应对。 数据加解密 原理说明:利用算法对数据进行加密和解密,确保数据在传输和存储过程中的安全。 结论 通过本文的技术指南,用户可以深入了解支持算法的密钥管理服务,并利用腾讯云产品实现性能优化和高可用设计。

    91810编辑于 2025-07-28
领券