sm2椭圆曲线公钥密码算法

小鼬就是我 小鼬就是我     2022-09-09     268

关键词:

国家必须要有属于自己的一套加密机制才行。。。好复杂。分享下看哪位看得懂其中的原理

 

国家密码管理局于2010年12月17日发布了SM2椭圆曲线公钥密码算法,并要求为对现有基于RSA算法的电子认证系统、密钥管理系统、应用系统进行升级改造。关于算法标准,请参见《国家密码管理局公告(第 21 号)》,网址为 www.oscca.gov.cn/

SM2算法和RSA算法有什么关系?
  SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。
为什么要采用SM2算法替换RSA算法?
随着密码技术和计算技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法。SM2算法在安全性、性能上都具有优势,参见表1算法攻破时间,表2算法性能。

RSA密钥强度

椭圆曲线密钥强度

攻破时间(年)

512

106

104,已被攻破

768

132

108,已被攻破

1024

160

1011

2048

210

1020

表1 算法攻破时间 

算法

签名速度(次/秒)

验签速度(次/秒)

1024位RSA

2792

51224

2048位RSA

455

15122

256位SM2

4095

871

表2 算法性能 

SM2和椭圆曲线算法是什么关系?
一提起曲线,大家就会想到方程,椭圆曲线算法是通过方程确定的,SM2算法采用的椭圆曲线方程为:
y2 = x3 + ax + b
在SM2算法标准中,通过指定a、b系数,确定了唯一的标准曲线。同时,为了将曲线映射为加密算法,SM2标准中还确定了其它参数,供算法程序使用。

椭圆曲线算法是什么原理?
本文不探讨椭圆曲线的数学理论,仅通过图示展示算法原理。请参见下图: 
 
图1 椭圆曲线算法原理

   上图为方程:y2 = x3–x的曲线。
1、P点为基点;
2、通过P点做切线,交与点 2P点,在2P’点做竖线,交与2P点,2P点即为P点的2倍点;
3、进一步,P点和2P点之间做直线,交与3P’点,在3P’点做竖线,交与3P点,3P点即为P点的3倍点;
4、同理,可以计算出P点的4、5、6、… 倍点;
5、如果给定图上Q点是P的一个倍点,请问Q是P的几倍点呢?
6、直观上理解,正向计算一个倍点是容易的,反向计算一个点是P的几倍点则困难的多。
在椭圆曲线算法中,将倍数d做为私钥,将Q做为公钥。当然,椭圆曲线算法还有更严格的计算过程,相对图示要复杂的多。

SM2算法可以进行哪些密码应用?
SM2算法做为公钥算法,可以完成签名、密钥交换以及加密应用。SM2算法标准确定了标准过程:
1、签名、验签计算过程;
2、加密、解密计算过程;
3、密钥协商计算过程。
需要说明,其他国家的标准和SM2确定的计算过程存在差异,也就是说相互之间是不兼容的。

SM2算法速度快吗?
简单讲,SM2签名速度快,验签速度慢,这点和RSA算法的特性正好相反。参见表2。
另外,加解密速度和验签速度相当。
SM2签名算法支持多大的数据量,签名结果为多少字节?
签名原始数据量长度无限制,签名结果为64字节。
SM2加密算法支持多大的数据量,加密结果增加多少字节?
支持近128G字节数据长度,加密结果增加96个字节

SM2相关算法有哪些?
SM2为国家密码管理局公布的公钥算法,其加密强度为256位。其它几个重要的商用密码算法包括:
SM1,对称加密算法,加密强度为128位,采用硬件实现;
SM3,密码杂凑算法,杂凑值长度为32字节,和SM2算法同期公布,参见《国家密码管理局公告(第 22 号)》;

SMS4,对称加密算法,随WAPI标准一起公布,可使用软件实现,加密强度为128位。

 

沃通CA做中国数字证书领域行业的领跑者  buy.wosign.com  

 

 
 

sm2椭圆曲线公钥密码算法,完整c代码,前人栽树,后人乘凉

某电信安信息安全数学基础实验要求实现SM2椭圆曲线公钥密码算法这是基于mircal库实现的,没有mircal库的下载我以前的博客发的文件,根据教程在vs上搭建。一共四个文件 SM2.cSM2.hSM3.cSM3.hSM2.c#include<stdio.h>#include<stdl... 查看详情

003国密算法【技术】

...非对称加密算法(公钥算法),加密强度为256位,是一种椭圆曲线算法。公钥密码学与其他密码学完全不同,使用这种方法的加密系统,不仅公开加密算法本身,也公开了加密用的密钥。公钥密码系统与只使用一个密钥的对称传... 查看详情

sm系列国密算法(转)

...应用领域(包括国家政务通、警务通等重要领域)。2SM2椭圆曲线公钥密码算法SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。另外,SM2推荐了一条256位的曲... 查看详情

sm2国密ssl证书为https加密提速

...是我国自主设计的公钥密码算法。SM2基于更加安全先进的椭圆曲线密码机制,在国际标准的ECC椭圆曲线密码理论基础上进行改进而来,其加密强 查看详情

椭圆曲线密码学ecc

??椭圆曲线密码学(Ellipticcurvecryptography),简称ECC,是一种建立公开密钥加密的算法,也就是非对称加密。类似的还有RSA,ElGamal算法等。ECC被公认为在给定密钥长度下最安全的加密算法。比特币中的公私钥生成以及签名算法ECDSA... 查看详情

信息安全工程师笔记-国产密码算法(国密)概念

国产密码算法国产密码算法有SM1分组密码算法、SM2椭圆曲线公钥密码算法、SM3密码杂凑算法、SM4分组算法、SM9标识密码算法。算法名称算法特征描述SM1对称加密,分组长度和密钥长度都为128比特SM2非对称加密,用于公钥... 查看详情

密码学系列-国密sm2为什么不支持恢复公钥(代码片段)

...,EOS之类的公链代码底层密码库替换成国密库,因为它们的椭圆曲线验签采用的都是recover模式,而非verify模式.verify模式:输入签名,消息摘要,公钥;输出是否是该公钥对应的私钥做的签名recover模式:输入签名,消息摘要,recoverid;输出签名... 查看详情

密码学系列-国密sm2为什么不支持恢复公钥(代码片段)

...,EOS之类的公链代码底层密码库替换成国密库,因为它们的椭圆曲线验签采用的都是recover模式,而非verify模式.verify模式:输入签名,消息摘要,公钥;输出是否是该公钥对应的私钥做的签名recover模式:输入签名,消息摘要,recoverid;输出签名... 查看详情

2017-2018-220179216《网络攻防与实践》sm234算法

国密商用算法是指国密SM系列算法,包括基于椭圆曲线的非对称公钥密码SM2算法、密码杂凑SM3算法、分组密码SM4算法,还有只以IP核形式提供的非公开算法流程的对称密码SM1算法等。国密即国家密码局认定的国产密码算法。主要... 查看详情

椭圆曲线密码学(代码片段)

椭圆曲线密码学是下一代的公钥密码学,它比之前的公钥密码学系统例如RSA和Diffe-Hellman在安全性方面有显著提高。椭圆曲线密码学是目前被广泛使用的最强大的密码学算法之一,但是真正理解其工作原理的开发者并不多... 查看详情

国密算法介绍

...。2010年底,国家密码管理局公布了我国自主研制的“椭圆曲线公钥密码算法”(SM2算法)。为保障重要经济系统密码应用安全,国家密码管理局于2011年发布了《关于做好公钥密码算法升级工作的通知》,要求... 查看详情

国密算法介绍

...。2010年底,国家密码管理局公布了我国自主研制的“椭圆曲线公钥密码算法”(SM2算法)。为保障重要经济系统密码应用安全,国家密码管理局于2011年发布了《关于做好公钥密码算法升级工作的通知》,要求... 查看详情

密码算法(sm1sm2sm3sm4同态加密密态计算隐私计算和安全多方计算)

文章目录SM1对称密码SM2椭圆曲线公钥密码算法SM3杂凑算法SM4对称算法同态加密密态计算和隐私计算安全多方计算技术安全多方计算的应用场景对称加密算法非对称加密算法(公钥加密)参考文章SM1、SM2、SM3和SM4为了保障... 查看详情

libsecp256k1比特币密码算法开源库(代码片段)

2021SC@SDUSClibsecp256k1代码分析综述有限域GaloisField椭圆曲线EllipticCurves椭圆曲线几何加法椭圆曲线标量乘法从本篇开始我将开始分析libsecp256k1中的代码。本开源库可以实现:私钥经标量乘法生成公钥;私钥签名(ECDSA&#... 查看详情

fabricv2.2中使用的密码学算法和国密算法对应关系

...称加密算法ECDSA和SM2比较[1]ECDSA算法以及SM2算法都是基于椭圆曲线离散对数问题算法名称共同点区别具体种类ECDSAECDSA算法是基于椭圆曲线离散对数问题底层哈希算法采用的是SHA系列ECDSAP384/ECDSAP256**(Fabric支持)**SM2SM2算法是基于椭圆... 查看详情

centos7编译安装openssl1.1.1支持国密标准(代码片段)

OpenSSL项目新版本增加了中国SM2/SM3/SM4算法的支持:SM2椭圆曲线:https://github.com/openssl/openssl/pull/4793SM3哈希摘要:https://github.com/openssl/openssl/pull/4616SM4对称加密:https://github.com/openssl/openssl/pull/4552参考:中国×××制定的商业密码算法标准《G... 查看详情

密码学——公钥密码体系之背包算法1(代码片段)

...解难解性(RSA)离散对数难解性(ElGamal)椭圆曲线离散对数难解性(ECC)1.背包算法本次介绍的并不是以上三种类型的公钥密码 查看详情

椭圆曲线密码学

ECC(EllipticCurveCryptography)的缩写,就是椭圆加密算法。(RSA是基于具有两个素因子的大数分解难题/DH算法)  DH在椭圆曲线上变成ECDH 查看详情