我是靠谱客的博主 激动板栗,最近开发中收集的这篇文章主要介绍OpenSSL密码库算法笔记——第5.4.4章 椭圆曲线点的比较,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

对点的比较有必要先解释一下。怎样判断两个点P1=(x1, y1, z1)和P2=(x2, y2, z2)相等呢?很明显不能根据各分量对应相等来判断点相同,正确的做法是判断这两个点对应过去的仿射点是否相等。即比较(x1/z12, y1/z13)和(x2/z22, y2/z23)是否相等。为了避免做逆运算,可以消去分母:

    如果某个点的Z分量为1,很明显(5.3)式就可以简化。这就是在点的定义中加入参数Z_is_one的原因。

下面来解释点的比较函数。

───────────────────────────────────────

int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b)

功能:    判断两个点是否相同

输入:    groupab

输出:   

返回:    1【不相同】 or 0【相同】 or 1【出错】

出处:    ec_lib.c

调用:        int ec_GFp_simple_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b)

───────────────────────────────────────

最后

以上就是激动板栗为你收集整理的OpenSSL密码库算法笔记——第5.4.4章 椭圆曲线点的比较的全部内容,希望文章能够帮你解决OpenSSL密码库算法笔记——第5.4.4章 椭圆曲线点的比较所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部