DSA algorithm research

xiaoxiao2021-03-06  20

Digital Signature Algorithm (DSA) is a variant of Schnorr and Elgamal signature algorithms, which is used as DSS (DigitalSignature Standard) by the US NIST. The following parameters are applied in the algorithm:

P: L bits long prime numbers. L is a multiple of 64, and the range is 512 to 1024;

Q: P - 1 of 160BITS is used;

G: g = h ^ ((p-1) / q) MOD P, H satisfying H

1;

x: x

Y: Y = g ^ x mod p, (p, q, g, y) is a public key;

H (x): One-way hash function. SHA (Secure Hash Algorithm) is selected in DSS.

P, q, g can be shared by a group of users, but in practical applications, use public modulus may bring a certain threat. The signature and verification agreement are as follows:

1. p produces random number K, K

2. P calc calculate r = (g ^ k mod p) mod

S = (k ^ (- 1) (h (m) xr)) mod

The signature result is (M, R, S).

3. Calculate w = s ^ (- 1) mod

U1 = (h (m) * w) mod

U2 = (r * w) MOD Q

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

If V = R, the signature is considered to be valid.

DSA is based on integer limited domain discrete logs, and its security is similar to RSA. An important feature of DSA is that the number of two prime is open, this

When you use others's P and Q, you can confirm whether they are randomly generated even if they don't know the private key. The RSA algorithm does not do.

转载请注明原文地址:https://www.9cbs.com/read-45561.html

New Post(0)