OpenSSL密码库算法笔记——第5.4.6章 椭圆曲线的无穷远点

前面已经提到无穷远点为椭圆曲线加法群的单位元,记为O。这个无穷远点在仿射坐标系下是无法表示的,在Jacobi射影坐标系下为(\gamma^2 ,\gamma^3,0),\gamma\neq 0,。为了实现起来方便,在代码中将无穷远点简化为Z分量为0,而不再去考虑X坐标和Y坐标的关系。

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

int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point)

功能:    设置无穷远点

输入:    grouppoint

输出:   

返回:    1【正常】 or  0【出错】

出处:    ec_lib.c

调用:        int ec_GFp_simple_point_set_to_infinity(const EC_GROUP *group, EC_POINT *point)

备注:     point->Z 0

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

    既然在实现中只是将无穷远点设置为Z ← 0,那么判断点是否为无穷远点就变成判断该点的Z分量是否为零。

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

int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *point)

功能:    判断点是否为无穷远点

输入:    grouppoint

输出:   

返回:    1【是无穷远点】 or  0【不是无穷远点】

出处:    ec_lib.c

调用:        int ec_GFp_simple_is_at_infinity(const EC_GROUP *group, const EC_POINT *point)

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

你可能感兴趣的:(openssl)