文件名称:DSA数据结构-树莓派4b+opencv4+python 打开摄像头的实现方法
文件大小:2.26MB
文件格式:PDF
更新时间:2024-06-22 11:26:04
opensll 加密 解密 数据安全 网络安全
18.3 DSA数据结构 DSA数据结构定义在 crypto/dsa.h中,如下所示: 1) DSA_SIG 签名值数据结构 typedef struct DSA_SIG_st { BIGNUM *r; BIGNUM *s; } DSA_SIG; 签名结果包括两部分,都是大数。 2) DSA_METHOD struct dsa_method { const char *name; DSA_SIG * (*dsa_do_sign)(const unsigned char *dgst, int dlen, DSA *dsa); int (*dsa_sign_setup)(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp); int (*dsa_do_verify)(const unsigned char *dgst, int dgst_len, DSA_SIG *sig, DSA *dsa); /* 其他 */ int (*dsa_paramgen)(DSA *dsa, int bits,unsigned char *seed, int seed_len, int *counter_ret, unsigned long *h_ret,BN_GENCB *cb); int (*dsa_keygen)(DSA *dsa); }; 本结构是一个函数集合,DSA 的各种计算都通过它来实现。drypto/dsa_ossl.c 中实现了一个默认的 DSA_METHOD。如果用户实现了自己的 DSA_METHOD, 通过调用 DSA_set_default_method或 DSA_set_method,用户可以让 openssl采用自 己的 DSA计算函数。 主要项意义如下: name:DSA_METHOD的名字; dsa_do_sign:签名算法函数;