Dsa 算法

简介: 引用:http://baike.baidu.com/view/444139.htm#7 算法中应用了下述参数:     p:L bits长的素数。L是64的倍数,范围是512到1024;     q:p - 1的160bits的素因子;     g:g = h^((p-1)/q) mod p,h满足h < p - 1, h^((p-1)/q) mod p > 1;     x:x < q,x为私钥 ;     y:y = g^x mod p ,( p, q, g, y )为公钥;     H( x ):One-Way Hash函数。

引用:http://baike.baidu.com/view/444139.htm#7

算法中应用了下述参数:

 

  p:L bits长的素数。L是64的倍数,范围是512到1024;

 

  q:p - 1的160bits的素因子;

 

  g:g = h^((p-1)/q) mod p,h满足h < p - 1, h^((p-1)/q) mod p > 1;

 

  x:x < q,x为私钥 ;

 

  y:y = g^x mod p ,( p, q, g, y )为公钥

 

  H( x ):One-Way Hash函数。DSS中选用SHA( Secure Hash Algorithm )。

 

  p, q, g可由一组用户共享,但在实际应用中,使用公共模数可能会带来一定的威胁。签名及验证协议如下:

 

  1. P产生随机数k,k < q;

 

  2. P计算 r = ( g^k mod p ) mod q

 

  s = ( k^(-1) (H(m) + xr)) mod q

 

  签名结果是( m, r, s )。

 

  3. 验证时计算 w = s^(-1)mod q

 

  u1 = ( H( m ) * w ) mod q

 

  u2 = ( r * w ) mod q

 

  v = (( g^u1 * y^u2 ) mod p ) mod q

 

  若v = r,则认为签名有效。

 

  DSA是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。RSA算法却作不到。

相关文章
|
3月前
|
算法 安全 数据安全/隐私保护
DSA与RSA的区别、ECC(椭圆曲线数字签名算法(ECDSA))
DSA与RSA的区别、ECC(椭圆曲线数字签名算法(ECDSA))
152 0
|
9月前
|
算法 安全 Java
【算法】Java实现DSA算法
DSA(Digital Signature Algorithm)是一种数字签名算法,用于生成和验证数字签名。DSA是美国国家标准局(NIST)于1991年发布的一种非对称加密算法,其设计目的是替代RSA算法在数字签名领域的应用。
117 0
|
算法 Java
Java数字签名——DSA算法
  RSA数字加密算法参考:http://www.cnblogs.com/LexMoon/p/javaRSA.html   DSS: 数字签名标准   DSA: 数字签名算法   DSA仅仅包含数字签名   ————————————————————————————————————   密钥...
1790 0
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到&quot;hand.txt&quot;文件。
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
1月前
|
算法
【MATLAB】语音信号识别与处理:移动中位数滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:移动中位数滤波算法去噪及谱相减算法呈现频谱
23 2
|
1月前
|
算法
【MATLAB】语音信号识别与处理:一维信号NLM非局部均值滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:一维信号NLM非局部均值滤波算法去噪及谱相减算法呈现频谱
39 1
|
5天前
|
机器学习/深度学习 人工智能 算法
基于DCT和扩频的音频水印嵌入提取算法matlab仿真
本文介绍了结合DCT和扩频技术的音频水印算法,用于在不降低音质的情况下嵌入版权信息。在matlab2022a中实现,算法利用DCT进行频域处理,通过扩频增强水印的隐蔽性和抗攻击性。核心程序展示了水印的嵌入与提取过程,包括DCT变换、水印扩频及反变换步骤。该方法有效且专业,未来研究将侧重于提高实用性和安全性。
|
9天前
|
文字识别 算法 计算机视觉
图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
15 0
|
12天前
|
机器学习/深度学习 算法
【MATLAB】GA_ELM神经网络时序预测算法
【MATLAB】GA_ELM神经网络时序预测算法
286 9