Perché le firme digitali non rivelano la chiave privata dei mittenti

1

A quanto ho capito, Digital Signatures riguarda la "segnaletica" di un messaggio che utilizza i mittenti Private Key e la sua convalida da parte del destinatario utilizzando Public Key associato al mittente.

Anche se questo sembra abbastanza semplice, l'intero punto della crittografia asimmetrica (a quanto ho capito) è che la chiave privata è nascosta al mondo e necessaria per la decrittografia, rendendo quindi inutilizzabile la chiave pubblicamente disponibile del mittente. attaccante.

Se le firme digitali utilizzano la chiave privata di un mittente per crittografare i dati, sicuramente la chiave privata diventa vulnerabile e il messaggio può essere attaccato utilizzando gli stessi attacchi di decrittazione comunemente usati contro i dati simmetricamente crittografati.

RSA non sarebbe tenuto in grande considerazione se fosse effettivamente suscettibile al difetto che ho appena delineato, il che mi fa sospettare di aver frainteso qualcosa.

    
posta user4493605 18.06.2017 - 11:24
fonte

2 risposte

6

Sembra che ci sia una certa confusione sulla differenza tra la firma digitale e la crittografia diretta dei messaggi. Se firmo digitalmente qualcosa, ho davvero bisogno di una chiave privata per farlo. Ma puoi prendere la mia chiave pubblica e verificare che il detentore di questa chiave pubblica abbia effettivamente firmato.

Per quanto riguarda la decrittazione. Sì, è necessaria una chiave privata per decodificare un messaggio di qualche tipo. Tuttavia, ciò che facciamo è scambiare in mano le chiavi pubbliche e cifrare il messaggio con la tua chiave pubblica non mia (o entrambe a seconda dell'algoritmo o dello scopo ). In questo modo solo il detentore della chiave privata associata a quella chiave pubblica può decrittografarlo (ad esempio tu).

Per rendere questo un po 'più chiaro sono diversi modi di utilizzare tutto RSA, fondamentalmente ad un livello elevato:

  • Encrypt (plaintext, publicKey) = RSA (OAEP (testo normale), publicKey) = testo cifrato
  • Decifra (cipherText, privateKey) = OAEP (RSA (cipherText, privateKey)) = testo semplice

Mentre la firma è leggermente diversa:

  • Segno (plainText, privateKey) = RSA (Hash (testo normale), privateKey) = firma [s]
  • Verifica (plainText; s; publicKey) = RSA (s, publicKey) = output
  • se output == Hash (plainText) la firma è verificata

Questo è grezzo, ma mostra la differenza di alto livello tra di loro. La chiave privata non è mai conosciuta da nessuna delle parti. Ma possono ancora decifrare e verificare utilizzando le proprie chiavi private e le altre chiavi pubbliche.

    
risposta data 18.06.2017 - 11:40
fonte
0

The whole point of Asymmetric encryption (as I understand it) is that the private-key is hidden to the world and necessary for decryption,

No, ciò renderebbe la crittografia simmetrica . La caratteristica distintiva della crittografia asimmetrica è che è possibile crittografare qualcosa con una chiave pubblica, ma utilizzare solo la chiave privata corrispondente per decodificarlo. Oppure, nel caso di RSA, puoi cambiarlo e crittografare qualcosa con la tua chiave privata che può essere decifrata con la chiave pubblica. Contrariamente a ciò con la crittografia simmetrica, in cui puoi decifrare il testo cifrato con la stessa chiave con cui lo hai crittografato, il che significa che non puoi avere una cosa come una chiave pubblica, ma solo privata.

 If Digital Signatures use the private key of a sender to encrypt data, surely the private key becomes vulnerable, and the message can be attacked using the same decryption attacks commonly used against symmetrically encrypted data.

Come accennato, RSA è "reversibile" in quanto è possibile crittografare con la chiave pubblica o privata in modo che l'altro sia utilizzato per decrittografarlo.

La crittografia dei dati con la tua chiave privata non rende quella chiave disponibile per il mondo, altrimenti sarebbe uno schema di crittografia completamente inefficace.

    
risposta data 18.06.2017 - 21:14
fonte

Leggi altre domande sui tag