Domanda

Domani ho un esame di sviluppo avanzato, ma sono bloccato sull'argomento della crittografia.L'ho letto su http://support.microsoft.com/kb/246071.Tuttavia sono ancora confuso.

Se un messaggio viene crittografato utilizzando la crittografia asimmetrica, utilizzando la chiave pubblica, come farà il decrittatore a conoscere la chiave privata con cui decrittografarlo?Sicuramente l’unico modo per farlo è rendere pubblica la chiave privata, ma ciò vanifica l’obiettivo della crittografia asimmetrica.

Qualcuno può spiegarlo in modo che un non tecnico possa capirlo?È solo la crittografia asimmetrica che non capisco, non la crittografia simmetrica.Grazie in anticipo.

Saluti,

Richard

Modificare:Quindi riassumendo tutte le risposte nel caso di un'applicazione web (l'uso specifico per cui ho bisogno di sapere a riguardo):

  1. L'utente visita un sito web;
  2. All'utente viene richiesto di fornire una chiave pubblica;
  3. L'utente crea una coppia di chiavi pubblica e privata, mantiene privata quella privata e restituisce la chiave pubblica al server;
  4. Il server utilizza la chiave pubblica per crittografare tutto ciò che deve essere inviato all'utente e invia le informazioni all'utente;
  5. L'utente utilizza la propria chiave privata per decrittografare la risposta dal server;
  6. L'utente fa ciò di cui ha bisogno e invia una risposta al server, utilizzando la chiave privata per crittografarla;
  7. Il server decrittografa utilizzando la chiave pubblica.I passaggi da 4 a 7 possono continuare molte volte, oppure possono verificarsi solo una volta, oppure solo 4 e 5.

E' tutto corretto?Se è così, dovrebbe essere tutto ciò che mi serve sapere per l'esame.Non credo che avrei bisogno di saperne di più per ottenere il massimo del 40% nel caso in cui dovesse sorgere una domanda su questo argomento - menzionerò comunque l'esistenza di certificati e firme.

Grazie per tutto l'aiuto

Saluti,

Richard

Modificare:Beh, sono appena tornato dall'esame ed è andato abbastanza bene, credo.Ma non è stata sollevata alcuna domanda sulla crittografia...L'aiuto è stato comunque apprezzato.Ringrazia tutti.

Saluti,

Richard

È stato utile?

Soluzione

Alice crea la sua chiave privata + chiave pubblica. Tiene la sua chiave privata privata. Fa il suo pubblico a chiave pubblica.

Bob prende di Alice (Public Key dovrebbe innanzitutto verificare, che è davvero la chiave pubblica di Alice!), E l'utilizza per crittografare un messaggio, che manda ad Alice.

Alice può decrittografare il messaggio con la propria chiave privata.

Altri suggerimenti

Una chiave privata deve essere conosciuta solo dal suo utente legittimo e non distribuita.La sua controparte, la chiave pubblica, può essere distribuita a chiunque.

In base a ciò si possono ottenere 4 operazioni:

  • crittografare utilizzando la chiave pubblica
  • decifrare utilizzando la chiave privata
  • firmare utilizzando la chiave privata
  • verificare la firma utilizzando la chiave pubblica

Il prossimo problema che potresti incontrare è il legame di un'identità con una chiave pubblica (poiché non vorrai crittografare qualcosa o fidarti di qualcosa firmato con la chiave pubblica di un impostore).Esistono vari modelli di distribuzione della chiave pubblica.In genere, puoi avere:

  • UN rete di fiducia, dove le persone firmano l'associazione reciproca tra la chiave pubblica e l'identità:questo è tipicamente il modello PGP.
  • UN infrastrutture a chiave pubblica (PKI) in cui si ottiene che le autorità di certificazione producano certificati, spesso con elementi intermedi, in una gerarchia ad albero.(Anche PGP può utilizzare questo modello, ma sembra meno comune.)

Altri hanno fornito una descrizione "generico" e io approfondire il lato vita reale.

La maggior parte standard di crittografia asimmetrici moderni non funzionano con chiavi pubbliche e private prime, ma con involucri più complesse, come ad esempio certificati X.509 o chiavi OpenPGP (si tratta di due più popolari infrastrutture di crittografia asimmetrica oggi). Entrambi i certificati e le chiavi OpenPGP contengono informazioni extra che permette loro di essere facilmente identificati, cercato e gestito.

Ora, il blocco di dati crittografati comprende di solito la parte pubblica (vale a dire il certificato o la chiave OpenPGP pubblica) utilizzato per la crittografia, o almeno la ID (hash di questa parte pubblica). Il destinatario dei dati di solito ha (o dovrebbe avere) entrambe le parti pubbliche e private (chiavi private di solito sono tenuti insieme con i certificati o chiavi OpenPGP pubbliche) a portata di mano. Così, quando il destinatario riceve i dati crittografati, lui sa che ha bisogno di guardare la memorizzazione di chiavi private per la parte pubblica con data ID (o per determinata parte del pubblico quando è incluso nei dati criptati).

Esistono casi in cui non è incluso. Poi il destinatario non ha nulla a che fare, ma cercare tutte le chiavi private disponibili per la decrittazione. Ma questi casi sono rari, come per impostazione predefinita il certificato o la chiave di id sono presenti nel blocco di dati crittografati.

La chiave pubblica viene fornita al "criptato" dal "decryptor", quindi, per definizione, il "decryptor" conosce la chiave privata (perché è parte della coppia di chiavi creata dal "decrittografia".

diciamo Let "decrittografia" = D, e "criptato" = E.

D precedentemente inviato la sua chiave pubblica di E, quindi E può crittografare il mesage. Perché solo D conosce la propria chiave privata, solo D saprà decifrare il messaggio E appena lo ha mandato (ricordate: una chiave viene utilizzata per crittografare, l'altra per decifrare). In questo modo, si ottiene la privacy.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top