Valore dell'hash nella firma digitale

2

Sto tagliando usando SHA 256 e firmando un payload con una chiave privata. Il payload non contiene alcuna password e sarebbe HTTP (S) POSTed sul lato server. Il payload contiene alcuni dati di app dinamici e costanti come il timestamp corrente e una costante di stringa. L'idea è di fidarsi di questi dati una volta che la convalida della firma ha avuto successo sul lato server usando la chiave pubblica. Quali benefici o valori ha l'hashing nel contesto attuale?

Grazie

    
posta DesignPill 04.05.2016 - 06:17
fonte

1 risposta

1

Non è possibile firmare blocchi di dati di grandi dimensioni utilizzando uno degli schemi di firma asimmetrici comunemente utilizzati.

Per firmare dati più grandi, dovresti dividerlo in blocchi e firmare, ma se lo fai senza noces / padding / etc, è molto insicuro.

Se utilizzi una libreria di alto livello per le tue firme, molto probabilmente già hash i dati che gli dai da firmare in modo da non doverlo fare da soli.

Puoi dare un'occhiata a questa risposta che riguarda la dimensione massima che puoi cifrare con RSA, ma nella crittografia RSA e la firma è praticamente la stessa operazione. Qui sono alcuni dettagli in più.

Quindi se hai una chiave 4096 bit (dovresti avere almeno quella dimensione) puoi iscriverti a 501 byte. Dal momento che desideri firmare più di questo, nella maggior parte dei casi, devi cancellare i dati e firmare l'hash.

Un altro punto è che la maggior parte delle operazioni di crittografia asimmetriche sono molto lente rispetto all'hashing o alla crittografia simmetrica, quindi non vuoi firmare migliaia di blocchi e quindi verificarli.

    
risposta data 04.05.2016 - 08:42
fonte

Leggi altre domande sui tag