DSA数字签名算法

DSA数字签名算法在线工具,生成DSA密钥对、DSA数字签名和DSA验证。

场景一:根据密钥长度生成DSA密钥对。
1.1、请输入DSA私钥的证书密码。
证书密码
1.2、请选择DSA密钥长度。
密钥长度
场景二:使用DSA私钥生成数字签名。
2.1、请上传或输入DSA私钥。
2.2、请设置生成参数。
Hash算法
证书密码
场景三:使用DSA公钥验证数字签名。
3.1、请上传或输入DSA公钥。
3.2、请设置验证参数。
Hash算法
  操作文档

一、DSA数字签名算法文档

1.1、DSA数字签名算法介绍

DSA数字签名算法是一种可逆的非对称签名算法,由公钥和私钥构成密钥对,私钥用于生成消息的数字签名,公钥来验证这种签名。数字签名提供信息鉴定(接收者可以验证消息的来源),完整性(接收方可以验证消息未被修改)和不可否认性(发送方不能错误地声称它们没有签署消息)。


1.2、操作步骤

DSA主要使用场景为数字签名、而非加密解密,DSA数字签名算法主要包含三个操作步骤:密钥生成(生成DSA密钥对)、数字签名(使用DSA私钥)、签名验证(使用DSA公钥)。


二、DSA数字签名算法使用须知

  • 默认参数:均已设置推荐值,您也可以根据实际需求进行调整;
  • 证书密码:证书密码专指DSA私钥密码,一般为空、无须设置;
  • 秘钥长度:FIPS186-4联邦信息处理标准规定,DSA秘钥长度(L, N)必须为 (1024, 160)、(2048, 224)、(2048, 256) 、 (3072, 256) 其中一种,从安全与性能考虑,一般推荐使用(2048, 224);
  • Hash:当原始文本较短时,你可以选择直接使用原始文本签名,否则推荐使用Hash签名;
  • 签名结果:为防止乱码和保证传输结果,此在线工具的数字签名信息一律使用Base64编码的字符串。


三、DSA数字签名算法使用方式

3.1、场景一:生成DSA公钥和私钥

首先输入证书密码(一般为空,无须输入),然后选择密钥长度,最后点击按钮即可得到对应的DSA密钥对,你可以预览、复制和下载DSA密钥对到本地。


3.2、场景二:使用DSA私钥生成数字签名

用于生成DSA数字签名,具体操作方式为:首选输入证书私钥(证书有私钥密码时输入,否则留空),然后选择Hash算法和输入原始文本,最后点击对应按钮进行数字签名。

其中签名方式有两种,分别是:直接使用原始文本签名和Hash函数签名,一般推荐使用SHA-256算法。


3.3、场景三:使用DSA公钥验证数字签名

用于对数字签名进行信息鉴定,保证原文的完整性和不可否认性,具体操作方式为:首先选择Hash算法,然后输入原始文本、DSA公钥和数字签名,最后点击对应按钮进行验证。

其中参数、原文和数字签名匹配时,则验证结果返回true,否则返回false。