KCDSA

KCDSA ( Korean Certificate-based Digital Signature Algorithm ) är en digital signaturalgoritm skapad av ett team som leds av Korea Internet & Security Agency ( KISA). Det är en ElGamal- variant som liknar Digital Signature Algorithm och GOST R 34.10-94. Standardalgoritmen är implementerad över , men en elliptisk kurvvariant ( EC-KCDSA specificeras också.

KCDSA kräver en kollisionsbeständig kryptografisk hashfunktion som kan producera en utdata i variabel storlek (från 128 till 256 bitar, i 32-bitars steg). HAS-160 , en annan koreansk standard, är det föreslagna valet.

Domänparametrar

  • : ett stort primtal så att för .
  • : en primfaktor av så att för .
  • : ett baselement av ordningen i .

Den reviderade versionen av tilläggsspecifikationen kräver antingen att är primtal eller att alla dess primtalsfaktorer är större än .

Användarparametrar

  • : undertecknarens privata signaturnyckel så att .
  • : undertecknarens offentliga verifieringsnyckel beräknad av där .
  • : ett hash-värde av Cert Data , dvs. .

Specifikationen från 1998 är oklart om det exakta formatet för "Cert Data". I den reviderade specifikationen definieras z som de nedre B-bitarna i den publika nyckeln y, där B är blockstorleken för hashfunktionen i bitar (typiskt 512 eller 1024). Effekten är att det första ingångsblocket motsvarar y mod 2^B.

  • : de nedre B-bitarna av y.

Hash-funktion

  • : en kollisionsbeständig hashfunktion med |q|-bitars sammandrag.

Signering

För att signera ett meddelande :

  • Signeraren väljer slumpmässigt ett heltal och beräknar
  • Beräknar sedan den första delen:
  • Beräknar sedan den andra delen:
  • Om måste processen upprepas från början.
  • Signaturen är

Specifikationen är vag när det gäller hur heltalet ska omtolkas som en bytesträng som matas in till hashfunktionen. I exemplet i avsnitt C.1 överensstämmer tolkningen med med definitionen av I2OSP från PKCS#1/RFC3447.

Verifierar

För att verifiera en signatur på ett meddelande :

  • Verifieraren kontrollerar att och och avvisar signaturen som ogiltig om inte.
  • Verifierare beräknar
  • Verifieraren kontrollerar om . Om så är fallet är signaturen giltig; annars är det inte giltigt.

externa länkar