OpenSSL/EC
外观
< OpenSSL
OpenSSL EC 库提供了一套广泛的功能,用于对有限域上的椭圆曲线执行操作。一般来说,椭圆曲线是指具有以下形式方程的曲线:
y^2 = x^3 + ax + b
EC_GROUP 结构用于表示椭圆曲线的定义。曲线上的点使用 EC_POINT 结构存储。EC_KEY 用于保存私钥/公钥对,其中私钥只是一个 BIGNUM,公钥是曲线上的一个点(由 EC_POINT 表示)。
该库包含许多不同函数的替代实现。每个实现都针对不同的场景进行了优化。无论使用哪种实现,接口都保持不变。当调用接口函数时,库会处理调用正确的实现。实现由 EC_METHOD 结构表示。
有关创建和销毁 EC_GROUP 对象,请参阅 EC_GROUP_new。有关操作 EC_GROUP 对象的函数,请参阅 EC_GROUP_copy。
用于创建、销毁和操作 EC_POINT 对象的函数在 EC_POINT_new 页面中进行了说明,而用于对 EC_POINT 执行数学运算和测试的函数在 EC_POINT_add 中进行了介绍。
有关使用私钥和公钥的信息,请参阅 EC_KEY_new。实现涵盖在 EC_GFp_simple_method 中。
有关将曲线参数编码和解码为 ASN1 的信息,请参阅 d2i_ECPKParameters。