智能卡的时钟速率函数
出处:zefsgq 发布于:2008-11-21 10:20:03
1991年中期,NIST(美国国家标准和技术研究所)发表了一个在报文上附加签名的加密算法的设计。这个算法在美国已经标准化了(PIPS 186),被称之为数字签名算法DSA(Digital Signature Algorithm),而描述它的标准则被叫做数字签名标准DSS(Digital Signature Standard)。DSA和RSA算法是两种用得广泛的产生数字签名的方法。DSA算法是El Carnal方法的一种变型。标准化这一算法的背景是需要有一种方法可以被用来产生数字签名,但不能被用来加密数据。因此,DSA算法要比RSA算法复杂。然而,已经证明可以用这一算法来加密数据[Simmons 98]。
和RSA算法不同,DSS算法的安全性不是依赖于大数的因子分解问题,而是离散对数问题。计算表达式y=ax mod P可以很快地执行,即使很大的数也能。然而,相反的过程,对手给定的y,a和p来计算笳,则需要极大的计算量。
对于所有的签名算法,首先必须把要签署的报文用散列算法缩减至预定的长度。于是,NIST提出了一个适合于DSS算法的算法,它被称为安全散列算法SHA-1(Secure HashAlgorithm)①这个MD5变型的散列算法从任何长度的报文均产生160位长的散列值,DSS算法和RSA算法的计算一样,仅用整数执行。
要用DSA算法计算一签名,首先必须确定下列全程量:
P(公开):512位至1 024位素数,其长度应能被“整除;
g(公开):(P-1)的160位的素因子;
g(公开):g=h(p-1)/q,式中凡为满足条件凡<p-1之整数,且g>1。
私有密钥冗必须满足下述条件。
公开密钥y的计算如下:
y=gx mod P
一旦所有必需的密钥和数字都被确定后,则可对报文m签署如下:
(1)产生一随机数品,其中k<g
(2)计算m的散列值: H(m)
(3)计算r: r=(gK mod p)mod q
(4)计算s: s=k-1(H(m)+x.r)mod q
r和s二值即报文的数字签名,DSS算法包含有两个数而不是RSA算法中仅有一个数。
签名的验证执行如下:
(1)计算w:s-1mod q
(2)计算u1=u1=(H(m).w)mod q
(3)计算u2:u2=(r.w)mod q
(4)计算v:v=((gu1.yu2 mod p)mod q
如果条件v=s得到了满是,则报文睨未经改变且签名是真实的。DSA算法的计算时间可参见表1所示。
表1 作为时钟速率函数的DSA算法计算时间举例
(分为加密时间和解密时间。给出的数据有严重的变化,因为它们对密钥
的位结构有依赖性,计算时间可用预先计算来缩短)

目前,还不能说这两种产生签名的算法(DSS和RSA)中的那一个将能长期流行,或者那一个提供较好的长期安全性。原来的意图是标准化一种不能用于加密的签名算法,它导致了DSS算法,但这已经成为泡影。这种算法的复杂性也促使它不能广泛使用。然而,标准事实上是存在的,在很多情况下,用DSS和SRA、产生签名的相关问题依然在议论之中。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
上一篇:智能卡操作系统的鉴别命令
下一篇:实际的FIFO存储器
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 什么是氢氧燃料电池,氢氧燃料电池的知识介绍2025/8/29 16:58:56
- SQL核心知识点总结2025/8/11 16:51:36
- 等电位端子箱是什么_等电位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重复控制的复合控制策略2025/7/29 16:58:24
- 什么是树莓派?一文快速了解树莓派基础知识2025/6/18 16:30:52









