在椭圆曲线各个方案中,密钥的基本信息就是记载用户的公私钥。在OpenSSL中,为了便于密钥的使用和管理,还在其中附加了所在椭圆曲线的信息,甚至还增加了更多的信息。详情如下:
typedef struct ec_key_st EC_KEY;
struct ec_key_st {
int version;
EC_GROUP *group;
EC_POINT *pub_key;
BIGNUM *priv_key;
unsigned int enc_flag;
point_conversion_form_t conv_form;
int references;
EC_EXTRA_DATA *method_data;
扫描二维码关注公众号,回复:
5735611 查看本文章
} /* EC_KEY */;
简要介绍下上面列举出的部分参数,这部分信息也可参见代码中的ec_lcl.h文件。
- group 记载了密钥所在的椭圆曲线点群信息。
- pub_key 公钥。
- priv_key 私钥。
- method_data 记载了密钥中所使用的某些方法,比如做数字签名的方法。
别的参数涉及的并不多,所以在这里就不做介绍了,有兴趣的话可以参见ec_lcl.h文件或者参见[4]。