DSA 数字签名流程详解 - 从密钥生成到验证
-
生成密钥对:首先,生成一对公私钥,公钥用于验证签名,私钥用于签名。DSA 算法使用的是离散对数问题,因此需要选择一个大素数 p 和一个因子 q。
-
签名:在签名前,需要先对待签名的消息做哈希处理,得到一个固定长度的摘要。然后,使用私钥对摘要进行加密,得到签名值。
-
验证:接收到签名后,需要使用签名者的公钥对签名值进行解密,得到原始摘要。再对原始摘要做哈希处理,得到一个固定长度的摘要。最后,比较该摘要与发送方发送的摘要是否一致,若一致,则认为签名有效。
-
公钥分发:为了让其他人能够验证签名,签名者需要将自己的公钥发布出去,供其他人使用。
-
撤销:如果私钥泄露或者签名者丧失了可信性,需要撤销其公钥,以防止其继续进行签名。
原文地址: https://www.cveoy.top/t/topic/opMb 著作权归作者所有。请勿转载和采集!