结构推理 简述DSS的算法步骤。
【正确答案】(1)全局公钥
   p:满足2L-1<p<2L的大素数,其中512≤L≤1024且L是64的倍数;
   q:p-1的素因子,满足2159<q<2160,即q长为160比特;
   g:g≡h(p-1)/qmod p,其中h是满足1<h<p-1且使得h(p-1)/q mod p>1的任一整数。
   (2)用户私钥x
   x是满足0<x<q的随机数或伪随机数。
   (3)用户公钥y
   y≡gxmod p。
   (4)用户为待签消息选取的秘密数k
   k是满足0<k<q的随机数或伪随机数。
   (5)签名过程
   用户对消息M的签名为(r,s),
   其中r≡(gkmod p)rood q,s≡[k-1(H(M)+xr)]mod q,H(M)是由SHA求出的杂凑值。
   (6)验证过程
   设接收方收到的消息为M',签名为(r',s')。计算
   w≡(s')-1mod q,u1≡[H(M')w]mod q
   u2≡r'w mod q,v≡[(gu1yu2)mod p]mod q
   检查r与r'是否相等,若相等,则认为签名有效。
【答案解析】