Wikipedia / KCDSA
Wikipedia / KCDSA
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, but an elliptic curve variant (EC-KCDSA) is also specified.
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
.
.
.
.
User parameters
.
.
: a hash-value of Cert Data.
The 1998 spec is unclear about the exact format of the "Cert Data". In the revised spec, z is defined as being the bottom B bits of the public key y, where B is the block size of the hash function in bits (typically 512 or 1024). The effect is that the first input block corresponds to y mod 2^B.
: the lower B bits of y.
Hash Function
: a collision resistant hash function with |q|-bit digests.
Signing
:
, the process must be repeated from the start.
using the definition of I2OSP from PKCS#1/RFC3447.
Verifying
:
and rejects the signature as invalid if not.
. If so then the signature is valid; otherwise it is not valid.
EC-KCDSA
EC-KCDSA is essentially the same algorithm using Elliptic-curve cryptography instead of discrete log cryptography.
The domain parameters are:
over a finite field.
in other treatments of elliptic-curve cryptography.)
The user parameters and algorithms are essentially the same as for discrete log KCDSA except that modular exponentiation is replaced by point multiplication. The specific differences are:
External links