文件名称:DSA简介-树莓派4b+opencv4+python 打开摄像头的实现方法
文件大小:2.26MB
文件格式:PDF
更新时间:2024-06-22 11:26:04
opensll 加密 解密 数据安全 网络安全
18.1 DSA简介 Digital Signature Algorithm (DSA)算法是一种公钥算法。其密钥由如下部分组成: 1)p 一个大素数,长度为 L(64的整数倍)比特。 2)q 一个 160比特素数。 3)g g=h(p-1)/q mod p,其中 h小于 p-1。 4)x 小于 q。 5) y y=gx mod p。 其中 x为私钥,y为公钥。p、q和 g是公开信息(openssl中称为密钥参数)。 DSA签名包括两部分,如下: r = (gk mod p) mod q s = (k-1 (H(m) + xr)) mod q 其中,H(m)为摘要算法; DSA验签如下: w = s-1 mod q u1 = (H(m) * w) mod q u2 = (rw) mod q v = ((gu1 * yu2) mod p) mod q 如果 v=r,则验证通过。 18.2 openssl的 DSA实现 Openssl的 DSA实现源码在 crypto/dsa目录下。主要源码如下: 1) dsa_asn1.c DSA密钥参数(p、q和 g)、DSA公钥(pub_key、p、q和 g)以及DSA私钥(priv_key、 pub_key、p、q和 g)的 DER编解码实现。 2)dsa_depr.c 生成 DSA密钥参数。 3)dsa_err.c DSA错误处理。 4)dsa_gen.c 生成 DSA密钥参数。 5)dsa_key.c