Cosa succede quando si esegue la crittografia con la chiave privata? [duplicare]

8

Ho una domanda teorica. C'è un sistema di chiavi pubbliche. Person1 vuole inviare un messaggio privato a person2. Dalla mia comprensione, la persona1 dovrebbe cifrare il loro messaggio con la chiave pubblica. Cosa succede se la persona1 userebbe la propria chiave privata per la crittografia? Il messaggio è ancora privato o può essere letto da altri?

Saluti, Filipe

    
posta Filipe 16.02.2015 - 13:31
fonte

4 risposte

9

Per la crittografia, la persona 1 crittografa il proprio messaggio con la chiave pubblica persona 2 , non con la propria chiave pubblica. Quindi solo la persona 2 può decodificarlo, poiché solo la persona 2 ha la chiave privata corrispondente.

La crittografia con la chiave privata viene utilizzata per dimostrare l'autenticità. Se la persona 1 crittografa un messaggio con la propria chiave privata, la persona 2 può decrittografarlo con la chiave pubblica della persona 1, il che dimostra che la persona 1 ha originato il messaggio poiché avrebbe potuto essere crittografato solo con la propria chiave privata.

Tutti presuppongono che tu abbia un modo sicuro e verificabile per le persone 1 & 2 per scambiare le chiavi pubbliche, che è sempre il bit difficile.

    
risposta data 16.02.2015 - 13:39
fonte
6

Se si cripta un messaggio con la propria chiave privata, può essere letto (decrittografato) da chiunque abbia la propria chiave pubblica. Poiché la chiave pubblica è destinata a essere, ovviamente, pubblica, il messaggio non è più privato. Il messaggio può ora essere considerato firmato, perché con la chiave pubblica verificata chiunque può essere certo che il messaggio sia autentico.

    
risposta data 16.02.2015 - 14:25
fonte
5

Il bit sulle chiavi pubbliche / private che sono rispettivamente per la crittografia / firma non è un fatto generale di crittografia a chiave pubblica: è specifico per la RSA, dove le chiavi pubbliche e private hanno (almeno nel libro di testo) la stessa forma. Passa a Diffie-Hellman e / o ai sistemi basati su ECC e i due tipi di chiavi sembrano completamente diversi, quindi non puoi crittografare con una chiave privata.

La risposta breve alla tua domanda è che se Person1 ha la chiave privata di Person2 allora qualcosa è già andato storto, e molto probabilmente nessuno otterrà alcuna sicurezza. Questo genere di cose accade tutto il tempo (penso che github abbia un messaggio di errore speciale per le persone che incollano una chiave privata nel campo in cui è prevista l'installazione di una chiave pubblica SSH per l'autenticazione con chiave SSH).

La risposta completa: se Person1 utilizza la propria chiave privata, se sta facendo RSA da manuale, chiunque con la chiave pubblica di Person1 può recuperare il messaggio. E le chiavi pubbliche sono, beh, dovrebbero essere pubbliche. Nel mondo reale, le chiavi RSA e altre strutture dati sono rimosse dal libro di testo e una libreria crittografica ragionevole non dovrebbe offrire l'opzione di crittografare con una chiave privata in primo luogo. Avresti anche in genere sottochiavi separati per la crittografia e la firma, che di nuovo verrebbero archiviati in diversi formati (è una pessima idea usare la stessa chiave per entrambi, anche se teoricamente).

Nel libro di testo RSA, hai un modulo pubblico N, un esponente pubblico e un esponente privato d. In modalità di crittografia, si calcola un ciphertext c da un messaggio m come c = m ^ e (mod N); per decifrare calcoli m = c ^ d (mod N). Per firmare m, pubblichi s = H (m) ^ d (mod N) e per verificare una firma s controlli che H (m) = s ^ e (mod N). Quindi le operazioni pubbliche e segrete sono intercambiabili. In realtà non importa quale si chiama e e quale si chiama d, i due sono intercambiabili: x ^ e ^ d (mod N) = x ^ d ^ e (mod N) = x (mod N) per tutti 0 < x < N. (Beh, quasi tutti - finché non si colpisce un fattore di N. Nel qual caso si è comunque un brindisi.)

    
risposta data 16.02.2015 - 16:44
fonte
0

La chiave pubblica e privata sono collegate matematicamente, quindi tutto ciò che è crittografato con la chiave privata può essere decifrato solo con la chiave pubblica e viceversa.

Quindi entrambe le chiavi possono essere utilizzate per crittografare o decrittografare un messaggio, e l'altra chiave per fare il contrario.

    
risposta data 16.02.2015 - 13:41
fonte

Leggi altre domande sui tag