Confusione nel sistema a chiave pubblica

5

Ho letto quanto segue su PKI:

Using a public key system, a user may encrypt a portion of a document using his or her private key. This message will later be decrypted by the recipient using the sender’s public key. Assuming that the sender’s private key is secure, the recipient can assume basic authenticity of the encrypted portion of the document in that only the sender holds the private key used to encrypt the message. Thus, the encrypted portion of the message is said to have been “digitally signed” by the sender.

enter image description here

Ho alcune domande sulla seguente riga:

This message will later be decrypted by the recipient using the sender’s public key

Diciamo che ho la chiave pubblica del mittente. E diciamo che ho anche la chiave pubblica di "satan" (che non appartiene al mittente originale).

  1. Ho pensato che la chiave privata sia utilizzata per firmare e decifrare / decifrare , quindi perché dice che " un utente può crittografare una parte di un documento usando la sua chiave privata "?

  2. Se provo a decifrare con la chiave pubblica del mittente (come scritto sopra), come faccio a sapere che il messaggio non è stato alterato? E come faccio a sapere se la decrittografia è riuscita?

  3. Quale sarà il risultato se provo a decifrare il messaggio usando la chiave pubblica "satan"?

    • Nessun dato?

    • Errore di indicazione della chiave errata?

    • Dati malevoli?

posta Royi Namir 24.02.2012 - 17:41
fonte

3 risposte

9

Il tuo testo è scritto molto male. Non c'è da stupirsi se ti sei confuso.

1)

a user may encrypt a portion of a document using his or her private key.

Sembra una descrizione mal scritta della firma RSA. Con la firma RSA, si cripta essenzialmente un hash del messaggio con la propria chiave privata.

2) La chiave pubblica dei mittenti viene utilizzata per verificare la firma. E poiché la firma contiene un hash dell'intero documento, sai che non è stato manomesso.

3) È un po 'oscuro. Se decifri con un semplice RSA non ripianato, avrà successo per la maggior parte dei blocchi e darà un senso di parola. Quando si utilizza il padding si avrà un errore di padding. Ma dal momento che questa operazione non ha senso, non è necessario pensarci.

Il modo in cui i messaggi sono crittografati in un sistema a chiave pubblica è:

  1. Firma l'hash del messaggio con la tua chiave privata
  2. Genera una chiave simmetrica casuale e crittografa il messaggio (e potenzialmente la firma) con esso.
  3. Cripta la chiave simmetrica con la chiave pubblica del ricevitore e combinala con il testo cifrato.

Crittografando la chiave con la chiave pubblica del destinatario, significa che solo il proprietario della chiave privata associata può decifrare la chiave simmetrica e quindi il messaggio.

Firma l'intero messaggio con la tua chiave privata, significa che il destinatario verifica che la firma corrisponda alla chiave pubblica del mittente e che l'hash incorporato nella firma corrisponda al documento. In questo modo può essere sicuro che l'intero messaggio non viene modificato e inviato dal proprietario della chiave privata del mittente.

    
risposta data 24.02.2012 - 17:55
fonte
5

Il tuo blocco di testo sembra indirizzato a un principiante. L'ultima riga indica il risultato effettivo:

Thus, the encrypted portion of the message is said to have been “digitally signed” by the sender.

Quindi domanda 1. Sì, si firma con una chiave privata e si verifica la firma con la chiave pubblica. L'operazione effettiva coinvolta è la stessa. Stai "crittografando" il testo utilizzando un numero elevato. Se il numero è una chiave privata o una chiave pubblica non fa alcuna differenza, anche se ci sono trucchi di sicurezza associati all'utilizzo della chiave errata per un'operazione.

Per la domanda 2, sai che il messaggio non è stato modificato perché solo la chiave privata può firmare il messaggio. Questa è la base di tutta la crittografia asimmetrica: una chiave è cara e l'altra è resa pubblica. Attraverso questo, si crea la caratteristica di non ripudio dell'invio: l'impossibilità di richiedere che il messaggio non sia stato inviato dal titolare della chiave privata. Se la chiave privata è stata compromessa, tutte le scommesse sono disattivate.

Per la domanda 3, i risultati dipendono dall'implementazione sebbene sospetto che in molti casi si verifichino dei dubbi.

    
risposta data 24.02.2012 - 17:49
fonte
2

Le risposte precedenti sono molto buone, ma c'è talmente tanta confusione in questa domanda che credo che più spiegazione sia sempre migliore.

  • Ho pensato che la chiave privata sia utilizzata per la firma e la decifrazione / decrittografia, quindi perché dice che "un utente può crittografare una parte di un documento usando la sua chiave privata"?

Viene utilizzato per decrittografare i dati crittografati dalla tua chiave pubblica. Inoltre può firmare qualsiasi cosa e le persone con la tua chiave pubblica saranno in grado di verificare la tua identità.

  • Se provo a decifrare con la chiave pubblica del mittente (come scritto sopra), come faccio a sapere che il messaggio non è stato alterato? E come faccio a sapere se la decrittografia è riuscita?

Decifri con la tua chiave privata , cripta con la tua chiave pubblica . La decrittografia non può fallire silenziosamente, se un file di output è qui, allora va tutto bene. Tuttavia, le implementazioni potrebbero essere interrotte.

  • Quale sarà il risultato se provo a decifrare il messaggio usando la chiave pubblica "satan"? Nessun dato ? Errore che indica chiave errata? Dati di tipo Gibberish?

Non puoi decifrare con altre chiavi pubbliche. Se provi con tutte le chiavi private tranne la destra, non funzionerà. L'errore che indica la chiave errata è il risultato più probabile. Ci si potrebbe aspettare che le implementazioni bizzarre producano comunque un file di output con dati senza senso.

    
risposta data 26.02.2012 - 10:11
fonte

Leggi altre domande sui tag