OpenSSL密码库算法笔记——第5.3.2章 椭圆曲线点群的建立,释放和复制
方法集合设定好之后,就可以开始新建一个椭圆曲线点群了。新建点群的函数如下:
───────────────────────────────────────
EC_GROUP *EC_GROUP_new(const EC_METHOD *meth)
功能: 利用给定方法集meth新建椭圆曲线点群
输入: meth
输出: -
返回: 新建的椭圆曲线点群【正常】 or NULL【出错】
出处: ec_lib.c
调用:
▼ int ec_GFp_mont_group_init(EC_GROUP *group)
▼▼int ec_GFp_simple_group_init(EC_GROUP *group)
备注: 新建点群,同时初始化大部分参数。
───────────────────────────────────────
新建群时将大部分参数初始化为零(或NULL)。
使用完的椭圆曲线点群应该及时释放掉,接下来看看怎样释放椭圆曲线点群。
───────────────────────────────────────
void EC_GROUP_free(EC_GROUP *group)
功能: 释放椭圆曲线点群
输入: group
输出: -
返回: -
出处: ec_lib.c
调用:
▼ void ec_GFp_mont_group_finish(EC_GROUP *group)
▼▼void ec_GFp_simple_group_finish(EC_GROUP *group)
───────────────────────────────────────
点群的复制是必不可少的。
───────────────────────────────────────
int EC_GROUP_copy(EC_GROUP *dest, const EC_GROUP *src)
功能: 复制椭圆曲线点群
输入: src
输出: dest ← src
返回: 1【正常】 or 0【出错】
出处: ec_lib.c
调用:
▼ int ec_GFp_mont_group_copy(EC_GROUP *dest, const EC_GROUP *src)
▼▼int ec_GFp_simple_group_copy(EC_GROUP *dest, const EC_GROUP *src)
───────────────────────────────────────
OpenSSL密码库算法笔记——第5.3.2章 椭圆曲线点群的建立,释放和复制相关推荐
- OpenSSL密码库算法笔记——第5.1.1章 椭圆曲线点群的定义
下面定义的椭圆曲线点群不仅包含了域的信息和曲线的信息,甚至还包括了很多别的有利于实现的信息. 椭圆曲线点群的定义如下. typedef struct ec_group_st EC_GROUP; s ...
- OpenSSL密码库算法笔记——第5.3.1章 椭圆曲线点群的算法集
在使用椭圆曲线之前,必需先设定好曲线上的算法集,只有这样在应用中才知道应该使用哪些函数. 下面就来看看怎样设定好曲线上的方法集. ─────────────────────────────────── ...
- OpenSSL密码库算法笔记——第5.3.3章 椭圆曲线点群信息的基本操作
新的群建好之后,就可以开始对这个群进行一些基本得操作了,如需要把很多必要的信息(如特征p.Weierstrass方程参数a.b.基点和阶等)添加进群里面去,同时在必要时还需要将这些信息读出来. 先来看 ...
- OpenSSL密码库算法笔记——第5.3.4章 椭圆曲线点群的补充说明
在§5.3.3设置椭圆曲线特征等函数中会遇到编码函数ec_GFp_mont_field_encode和解码函数ec_GFp_mont_field_decode,其实这两个函数是在做大整数和Montgo ...
- OpenSSL密码库算法笔记——第5.1.2章 椭圆曲线算法集
在定义椭圆曲线点群时出现了描述曲线所用算法的参数const EC_METHOD *meth,这一节就来看看这个参数有什么用处. 椭圆曲线算法集的定义如下. typedef struct ec_meth ...
- OpenSSL密码库算法笔记——第5.4.6章 椭圆曲线的无穷远点
前面已经提到无穷远点为椭圆曲线加法群的单位元,记为O.这个无穷远点在仿射坐标系下是无法表示的,在Jacobi射影坐标系下为,.为了实现起来方便,在代码中将无穷远点简化为Z分量为0,而不再去考虑X坐标和 ...
- OpenSSL密码库算法笔记——第5.4.2章 椭圆曲线上点的射影坐标表示
射影坐标又分成好几种--标准射影坐标.Jacobi射影坐标.Chudnovsky射影坐标. 在标准射影坐标中,射影点(x, y, z),z≠0,对应仿射点(x/z, y/z),椭圆曲线的射影方程为y2 ...
- OpenSSL密码库算法笔记——第5.1.3章 椭圆曲线点的定义
有了椭圆曲线后,自然就得考虑曲线上的点.点的表示有很多种,最简单最常见的是用仿射坐标(x, y)表示,但使用仿射坐标会使得点的运算速度很慢,所以出现了多种射影坐标.在代码中选择使用的是仿射坐标和Jac ...
- OpenSSL密码库算法笔记——第5.4.9章 椭圆曲线点的加法
先来回忆下前面提到的仿射点的加法. 曲线上的两个放射点P1=(x1,y1)和P2=(x2,y2)做加法P3=P1+P2=(x3,y3),当P1=P2时,称此时的加法运算为二倍点运算.如果P1≠-P2, ...
最新文章
- 实验三-密码破解技术
- golang 常量简介
- vb.net2019-多线程并行计算(6)
- /hbase/WALs/desktop,xxxxxxxx-splitting is non empty: Directory is not empty
- ServiceStack.Ormlit 事务
- Debug ASP.NET Core 2.0源代码
- Java——集合的遍历之迭代遍历
- win7您需要来自计算机管理员的权限,win7需要提供管理员权限才能打开文件怎么解决...
- java File_encoding属性
- 计算机晶体管怎么工作原理,晶体管的工作原理和实际作用
- java开发专用英语,JAVA开发常用英语词汇
- OpenStack 企业私有云的若干需求(7):电信行业解决方案 NFV
- 课程笔记-三维点云处理01 ——Introduction and Basic Algorithms
- 小博的软件测试学习笔记(V1.0)
- HDU 3085 Nightmare Ⅱ【BFS +曼哈顿距离+综合性较强】
- 没有50W彩礼 女友被强行拽走! Python分析全国彩礼情况,心凉了!
- reportportal 集成 robotframework 自动化执行及结果可视化
- php中的如何将拼接到一起,如何将两个视频拼接在一起?视频拼接方法
- 装饰大楼,备用钥匙,IOIOI卡片占卜总结
- CAD库中统计PBN运行航路条数和总距离