Samiksha Jaiswal (Editor)

KCDSA

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

KCDSA (Korean Certificate-based Digital Signature Algorithm) is a digital signature algorithm created by a team led by the Korea Internet & Security Agency (KISA). It is an ElGamal variant, similar to the Digital Signature Algorithm and GOST R 34.10-94. The standard algorithm is implemented over G F ( p ) , but an elliptic curve variant (EC-KCDSA) is also specified.

Contents

KCDSA requires a collision-resistant cryptographic hash function that can produce a variable-sized output (from 128 to 256 bits, in 32-bit increments). HAS-160, another Korean standard, is the suggested choice.

Domain parameters

  • p : a large prime such that | p | = 512 + 256 i for i = 0 , 1 , , 6 .
  • q : a prime factor of p 1 such that | q | = 128 + 32 j for j = 0 , 1 , , 4 .
  • g : a base element of order q in G F ( p ) .
  • User parameters

  • x : signer's private signature key such that x Z q .
  • y : signer's public verification key computed by y = g x ¯ ( mod p ) , where x ¯ = x 1 ( mod q ) .
  • z : a hash-value of Cert Data, i.e., z = h ( Cert Data ) .
  • Signing

  • Signer randomly picks an integer k Z q and computes w = g k mod p
  • Then computes the first part: r = h ( w )
  • Then computes the second part: s = x ( k r h ( z m ) ) ( mod q )
  • The signature is ( r , s )
  • Verifying

  • Verifier computes e = r h ( z m )
  • Then he checks if r = h ( y s g e mod p )
  • References

    KCDSA Wikipedia