Come funzionano le coppie di chiavi soprattutto nel contesto delle firme crittografiche?

2

È il caso che qualsiasi messaggio crittografato con una chiave privata può essere decifrato con la sua chiave pubblica corrispondente e qualsiasi messaggio crittografato con una chiave pubblica può essere decodificato con la chiave privata corrispondente assumendo gli stessi metodi utilizzati (RSA vs DSA vs ECDSA)? Se questo è il caso, allora una firma digitale è solo un altro messaggio riguardante il messaggio che è stato firmato (anche se è solo un hash di esso). Se si utilizzano set di chiavi corrispondenti (ad esempio la coppia di chiavi infame), è possibile utilizzare uno dei due per crittografare e quello opposto per decodificare. È davvero così semplice?

OK, ecco il contesto. So che se voglio inviare un messaggio criptato e firmato a qualcun altro, devo usare due chiavi: la mia chiave privata per la firma e la chiave pubblica del destinatario per crittografare il messaggio. E nel caso di RSA so come avviene quella sequenza (con solo la chiave simmetrica che viene crittografata con la chiave pubblica del destinatario). Ciò che sembra implicito è che il digest del messaggio che viene crittografato con la chiave privata del mittente viene quindi decodificato con la chiave pubblica del mittente per confrontare i digest e verificare la firma e quindi il messaggio. Quindi sembra che i messaggi crittografati con la chiave privata di un utente possano essere decifrati con la loro chiave pubblica. So che i messaggi non vengono normalmente inviati in questo modo (viene utilizzata la chiave pubblica del destinatario) ma sembra che un messaggio potrebbe essere crittografato con una chiave privata anche se non so perché qualcuno lo faccia ( stupidamente insicuro). Sono corretto?

    
posta Cyberis 03.10.2015 - 18:37
fonte

1 risposta

2

As long as matching sets of keys (i.e. the infamous key pair) are used you can use either one to encrypt and the opposite one to decrypt.

No, perché la crittografia con una chiave privata e la firma con una chiave pubblica non sono né definiti né sicuri per RSA. Per schemi come ECDSA non puoi nemmeno direttamente criptare.

And in the case of RSA I know how that sequence happens.

Davvero? Direi che spetta al protocollo definire come avviene la "sequenza". Ci sono discussioni su sign-then-encrypt e encrypt-then-sign too.

What seems implied is that the message digest which is encrypted with the sender's private key is then decrypted with the sender's public key ...

No, non dovresti pensare alla verifica della firma come decrittazione, nemmeno per RSA. In RSA, ci sono diversi schemi di riempimento. Solo "RSA da manuale" è simile - in altre parole, entrambi si basano sull'esponenziazione modulare.

So it seems that messages encrypted with a user's private key could be decrypted with their public key.

Bene, sì, ma solo per RSA da manuale, che è completamente non sicuro .

In generale, non si dovrebbe mai usare la chiave privata per crittografare. La crittografia è mantenere le informazioni riservate, se qualcuno può decodificare con la chiave pubblica , quindi lo schema non ha alcun senso.

    
risposta data 03.10.2015 - 23:43
fonte

Leggi altre domande sui tag