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