DSA ha bisogno di padding?

0

Quindi ho letto su wikipedia che le firme digitali hanno bisogno di padding (come PSS) e so che questo è vero per RSA. Ma ora mi chiedo se DSA abbia bisogno anche del padding?

    
posta Raphael Ahrens 01.03.2013 - 13:51
fonte

1 risposta

2

La risposta breve è no o sì, a seconda di come la si guarda.

Con RSA, come specificato in PKCS # 1 , il messaggio da firmare è il primo hash e il valore hash è "convertito" in un modulo intero n (dove n è il modulo, una parte della coppia di chiavi RSA). Nelle vecchie versioni dello standard, quella conversione è in effetti una sorta di padding (i byte aggiuntivi sono concatenati al valore hash e il risultato è interpretato come un modulo intero n con la convenzione big-endian). Il nuovo padding, denominato "PSS", è un po 'più complesso e implica più lavoro di una semplice concatenazione, ma lo chiamiamo ancora "padding", per lo più fuori dalla tradizione.

I dettagli del padding si sono rivelati molto importanti per la sicurezza di RSA come schema di firma (l'esponenziazione modulare di RSA è malleabile , che è un problema per le firme, e il padding risolve il problema).

In DSA, come specificato in FIPS 186-3 , l'input il messaggio è anche hash, e il valore hash è anche convertito in un numero intero modulare (modulo q , la dimensione del sottogruppo usato dalla chiave ). Ciò richiede la conversione di "alcuni byte" in "un intero", che potrebbe essere chiamato anche "padding" (non è più assurdo che chiamare PSS un tipo di "padding"). Accade che DSA abbia molti meno requisiti per questa conversione, quindi è definito con un processo di conversione piuttosto semplice: il valore hash viene troncato o espanso alla lunghezza di q (in bit), aggiungendo zeri (sulla "sinistra"); quindi la sequenza risultante di byte viene convertita in un intero (di nuovo la convenzione big-endian) e ridotto modulo q (poiché la sequenza è stata fatta per corrispondere alla lunghezza di q , questa riduzione è computazionalmente facile).

Quindi possiamo dire che c'è del padding in DSA, ma un padding semplice con solo zero.

    
risposta data 01.03.2013 - 15:44
fonte

Leggi altre domande sui tag