2021SC@SDUSC sm2算法原理(1)
2021SC@SDUSC
SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法。
SM2算法是一种椭圆曲线公钥密码算法,其密钥长度为256bit
1.参数产生
素域上SM2选用y2=x3+ax+by^2=x^3+ax+by2=x3+ax+b作为加密曲线,令E(FP)=(x,y)∣y2=x3+ax+b∪OE(F_P)={(x,y)|y^2=x^3+ax+b}∪OE(FP)=(x,y)∣y2=x3+ax+b∪O, 包含了椭圆曲线上的所有点,其中O是一个无穷远点,不能用有序整数对(x,y)即仿射坐标表示,用E(Fq)E(F_q)E(Fq)表示E(Fq)E(F_q)E(Fq)上元素的个数,称为椭圆曲线的阶。SM2算法使用固定的FpF_pFp域,系统参数如下:
FpF_pFp域的特征p,p是大素数;
FpF_pFp中的两个元素a和b,它们定义曲线E的方程: y2=x3+ax+by^2=x^3+ax+by2=x3+ax+b,a、b满足(4a3+27b2)modp≠0(4a^3+27b^2 )modp≠0(4a3+27b2)modp=0
基点G=(xG,yG)∈E(FP),G≠OG=(x_G,y_G)∈E(F_P ),G≠OG=(xG,yG)∈E(FP),G=O
基点G的阶n,n是大素数,要求n>2191且n>4p1⁄2n>2^{191}且n>4p^{1⁄2}n>2191且n>4p1⁄2
其中p、a、b、 xGx_G xG、yGy_GyG和n均为m比特长度的大整数,也可以看作m/8字节长度的字符串,G可以看作一个有序整数对,也可以看作一个m/4字节长度的字符串。
这几个参量的选择,直接影响了算法的安全性。若某椭圆曲线存在优于
2021SC@SDUSC sm2算法原理(1)相关推荐
- 2021SC@SDUSC sm2算法原理(2)
2021SC@SDUSC 2. 基点的确定 根据前面得到的参数p,a,b 和n,利用下面的算法可以求出具有大素数阶的基点. 当参数a.b.p确定,这条曲线 就定下来了.先随机产生0到p-1间的整数作为 ...
- 学习笔记——SM2算法原理及实现
RSA算法的危机在于其存在亚指数算法,对ECC算法而言一般没有亚指数攻击算法 SM2椭圆曲线公钥密码算法:我国自主知识产权的商用密码算法,是ECC(Elliptic Curve Cryptosyste ...
- <2021SC@SDUSC>博客(9)山东大学软件工程应用与实践Jpress代码分析(8)
2021SC@SDUSC Lucene和ElasticSearch 在上一篇博客中提到的Elasticsearch是一个基于Lucene搜索引擎为核心构建的开源,分布式,RESTful搜索服务器.这里 ...
- PBOC3.0中使用的国密SM2算法
一.知识准备 PBOC3.0规范就是<中国金融集成电路(IC)卡规范>3.0版本. SM2是国密局推出的一种他们自己说具有自主知识产权的非对称商用密码算法.本身是基于ECC椭圆曲线算法的, ...
- 2021SC@SDUSC山东大学软件学院软件工程应用与实践--Ebiten代码分析 源码分析(三)
2021SC@SDUSC 目录 一.概述 二.代码分析 1.Update() 2.Draw() 3.Layout() 一.概述 本文将介绍ebiten在RunGame函数中逐帧执行的Update()方 ...
- 2021SC@SDUSC山东大学软件学院软件工程应用与实践--Ebiten代码分析 源码分析(四)
2021SC@SDUSC 目录 一.概述 二.代码分析 1.graphics.QuadVertices() 2.mipmap.Mipmap() 3.i.mipmap.DrawTriangles() 一 ...
- 2021SC@SDUSC基于人工智能的多肽药物分析问题(六)
基于人工智能的多肽药物分析问题(六) 2021SC@SDUSC 1. 卷积神经网络 1.1 卷积神经网络优势 在学习卷积神经网络之前,使用的是全连接神经网络,但是: 如果用全连接神经网络处理大尺寸图像 ...
- 2021SC@SDUSC山东大学软件学院软件工程应用与实践--YOLOV5代码分析(四)general.py-2
2021SC@SDUSC 目录 前言 is_writeable函数 is_docker函数 is_colab函数 is_pip函数 is_ascii函数 file_size函数 check_onlin ...
- 2021SC@SDUSC山东大学软件学院软件工程应用与实践--quark renderer代码分析 第十二篇 绘画系统分析(3):连线(line)
2021SC@SDUSC 这是绘画系统的第三个大部分,连线,连线的内容包括最上层的链接线抽象类,和细分的直线,折线,贝塞尔曲线以及内外旋轮曲线五个部分. 首先是连接线抽象类. 连接线抽象类,需要成为连 ...
- 谈谈PBOC3.0中使用的国密SM2算法
转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/39780825 作者:小马 一 知识准备 SM2是国密局推出的一种他们自己说具有自主 ...
最新文章
- mybatis中传入String类型参数异常
- 三、Netty的粘包半包问题解决
- LVM逻辑卷管理命令
- 【NLP】毕设学习笔记(二)transformer
- 中芯国际:公司客户需求强劲 订单饱满
- srsLTE源码学习:RLC,无线链路控制子层抓包rlc_pcap.h,rlc_pcap.cc
- oracle+gsm安装,针对Oracle的10G版本提升SCOTT为DBA脚本!
- 梯度和法向量的统一理解
- 平房误差函数_平方误差函数(square error function)与平方损失函数(square loss function)...
- 素数判断和大合数分解_素数合数分解公式与原理 质数秘密已解开
- 海洋cms php环境 多少,海洋cms
- python对excel某一列求和-如何对某一列自动分组,统计求和
- 数学建模——核军备竞赛
- 为什么现在更多需要用的是 GPU 而不是 CPU,比如挖矿甚至破解密码?
- 计算机输入d为啥返回桌面,电脑进入游戏怎么返回桌面
- JSP 编译和运行过程与JSP源码简单分析
- matlab实现模糊控制器并仿真,用Matlab实现空调温度模糊控制器的设计与仿真
- python 操作redis集群
- 高性能计算--HPCC--他人评述
- 爬取 bilibili 纪录片数据数据可视化