Che cosa è esattamente una chiave nella crittografia?

1

Dopo la ricerca e la lettura non sono sicuro di averlo capito completamente. A mia conoscenza, una chiave è una password utilizzata per decodificare un messaggio. Tuttavia, la confusione arriva quando si tratta della chiave pubblica, il destinatario sta inserendo la password per ricevere il messaggio?

    
posta Kev 11.07.2016 - 18:30
fonte

4 risposte

3

Le password riguardano l'accesso al sistema. Sono usati per verificare che tu sia chi dici di essere (ad esempio: accedere alla posta elettronica), o almeno che sei qualcuno a cui è consentito accedere alla risorsa a cui stai tentando di accedere (esempio: un codice per aprire una porta) .

La cosa importante delle password è che vengono inserite in un sistema, quindi è possibile implementare misure extra come il blocco (troppi tentativi errati) o la verifica a 2 fattori (inviare messaggi di testo al telefono).

Chiavi , nel contesto della crittografia, non sono password, ma sono usate per cambiare un messaggio (testo in chiaro) in una forma illeggibile (testo cifrato). Pensaci in questo modo: hai una macchina di crittografia. Si alimenta il testo in chiaro e la chiave nella macchina e si ottengono lettere e numeri criptati (il testo cifrato). Condividi segretamente la tua chiave con il tuo amico, quindi puoi inviargli il tuo testo cifrato e non importa chi lo vede. Dal momento che il tuo amico ha la chiave, ottiene il tuo testo cifrato e lo inserisce nella sua macchina di decrittografia insieme alla sua copia della chiave, e la macchina stampa il testo cifrato originale.

Questo è un po 'più difficile da proteggere: c'è un principio nella crittografia che dice che devi presupporre che un nemico abbia intercettato il testo cifrato e abbia una copia delle macchine di crittografia e decrittografia. Così può provare tutte le volte che gli piace indovinare la chiave e non c'è niente che puoi fare per fermarlo.

Quanto sopra descrive un criptosistema simmetrico , in cui hai tenuto segreta la chiave di crittografia perché la stessa chiave è utilizzata sia per crittografare e decodificare il messaggio (come il blocco di un catenaccio su una porta). Questa è una forma differente di crittosistemi asimmetrici , in cui la chiave di crittografia (la chiave utilizzata per bloccare la porta) è diversa dalla chiave di decodifica (la chiave utilizzata per sbloccare la porta). Questo ha il vantaggio che 2 parti non hanno bisogno di condividere segretamente la chiave prima di comunicare. Ad esempio, pubblico su un forum online

"Bill, qual è il tuo indirizzo? - Per favore cripta la risposta usando la chiave di crittografia 103234".

Ora, Bill può codificare la sua risposta e postarla a tutti, ma perché solo la chiave di crittografia è stata condivisa e ho tenuto la chiave privata per me, quindi solo io posso decifrarla (nemmeno Bill può decrittografarla, anche se conosce già il testo in chiaro). Inoltre, ora chiunque può inviarmi messaggi che solo io posso decifrare.

Nota sulla terminologia: una chiave di sola crittografia viene solitamente chiamata "chiave pubblica" poiché tutti possono vederla; una chiave di sola decrittazione viene solitamente chiamata "chiave privata" poiché non la condividi con nessuno.

Nota tecnica: mentre la crittografia asimmetrica sembra superiore, è molto più intensiva da un punto di vista computazionale (male per, per esempio, crittografia di terabyte di informazioni) rispetto alla crittografia simmetrica

    
risposta data 11.07.2016 - 20:21
fonte
1

Non sono sicuro di poter rispondere perfettamente a questa domanda, ma ci proverò.

Innanzitutto, pensa agli algoritmi simmetrici.
Uno di questi algoritmi è un metodo per codificare (crittografare) un messaggio e deve essere completato con una chiave, in modo da dire esattamente all'algoritmo come codificare il messaggio. Il messaggio cifrato è chiamato testo cifrato. Il destinatario del testo cifrato deve anche inserire la stessa chiave dell'algoritmo di decrittografia per recuperare il messaggio originale dal testo cifrato. Se non hai quella chiave, non puoi leggere il contenuto.

La crittografia a chiave pubblica può essere un po 'confusa, e anche gli esperti di crittografia classici pensavano che fosse impossibile da fare.

Gli algoritmi a chiave pubblica (asimmetrica) sono simili agli algoritmi a chiave privata (simmetrici) in quanto entrambi richiedono una chiave per la crittografia e la decifrazione, tuttavia con il primo, il mittente e il destinatario usano la stessa chiave e devono tenerlo segreto , ma con il secondo, due chiavi diverse vengono utilizzate per queste due operazioni, una pubblica, che il destinatario vuole che tutti abbiano, che venga utilizzata per la crittografia e una seconda, privata, utilizzata per la decrittografia e deve essere tenuto segreto dal destinatario.

Per tornare alla tua analogia con la chiave letterale, puoi pensare ad algoritmi simmetrici come vault, a cui possono accedere solo le persone che possiedono una chiave e algoritmi asimmetrici come caselle di posta dove chiunque può inserire qualcosa, attraverso lo slot ( chiave pubblica), ma può essere aperta solo dal proprietario della casella che ha la chiave della casella di posta elettronica (chiave privata).

    
risposta data 11.07.2016 - 19:22
fonte
1

Le prime forme di crittografia erano basate su algoritmi di crittografia segreti, ma presto divenne evidente che questa era una pessima idea. Se si sospetta che l'algoritmo sia stato approntato dal nemico, possono potenzialmente decodificare tutto e si deve buttare via tutto e ricominciare da capo. E gli algoritmi sono difficili da inventare.

Un'idea migliore è usare una chiave. In un sistema basato su chiavi, l'algoritmo non è segreto, ma la segretezza è tutta condensata in un grande numero casuale chiamato chiave. L'algoritmo di crittografia prende il messaggio in chiaro e lo combina con la chiave utilizzando una lunga serie di processi matematici per produrre il messaggio crittografato. Al fine di invertire l'algoritmo il destinatario deve anche avere la chiave.

Ora l'algoritmo non è segreto, quindi gli esperti possono esaminarlo per confermare che è sicuro, e se la chiave è compromessa, basta buttarla via e scegliere un nuovo numero casuale lungo. Diamine, usa una nuova chiave ogni volta che invii un messaggio, anche se una chiave viene compromessa senza che tu sappia che il nemico può solo leggere un messaggio.

Queste sono le chiavi. Parli anche di password, che sono diverse, e chiavi pubbliche, che sono un tipo speciale di chiave. Entrambi sono usati per risolvere alcuni problemi pratici irritanti con l'uso delle chiavi come parte di un sistema per lo scambio di messaggi.

Il primo problema pratico con le chiavi è che poiché una chiave è solo un grosso numero casuale, gli umani trovano molto difficile memorizzarle. Se il tuo sistema ha bisogno di una persona per ricordare la chiave e non scriverla, allora hai un problema. Una password è una combinazione di lettere e caratteri che un umano può ricordare. Il tuo sistema può usare qualcosa chiamato algoritmo di derivazione della chiave che prende una password e la trasforma in una chiave. I sistemi basati su password non sono buoni come i sistemi che usano solo una chiave, ma è una limitazione degli esseri umani, non molto che possiamo fare.

Quindi non usi veramente una password per decodificare un messaggio, lo usi per generare la chiave e poi usi la chiave per decodificare il messaggio.

L'altro problema pratico con le chiavi è chiamato distribuzione delle chiavi. Prima di poterti inviare un messaggio in sicurezza, dobbiamo conoscerlo entrambi, quindi devo darlo a te. Ma non posso inviarlo crittografato, perché non hai ancora la chiave. E non posso inviarlo in chiaro, perché cosa succede se un cattivo sta ascoltando?

In molti sistemi esiste un modo per scambiare le chiavi su un canale sicuro separato. Ad esempio, M può dare a Bond la chiave che dovrebbe usare prima di iniziare la sua missione, mentre sono ancora al sicuro nella sede dell'MI6.

Ma a volte questo non è possibile, specialmente su Internet, dove di solito abbiamo solo Internet per comunicare. Quindi è richiesto un nuovo trucco, la crittografia a chiave pubblica.

In questo tipo di sistema, ho due chiavi collegate matematicamente. Se un messaggio è crittografato da una delle chiavi, può essere decifrato solo dall'altra. Chiaro una chiave privata e la tengo segreta; Chiaro l'altro la chiave pubblica e dico a tutti di cosa si tratta.

Ora puoi inviarmi un messaggio sicuro crittografandolo con la chiave pubblica. Un utente malintenzionato può ascoltare tutto quello che vuole, ho già detto loro la chiave pubblica, ma non è un bene per loro, solo la persona con l'altra chiave privata (io) può decifrare il messaggio che hai inviato.

Per motivi pratici noiosi, in genere si usa una chiave pubblica / privata solo una volta in una conversazione, proprio all'inizio, in modo da poter scambiare le chiavi in modo sicuro su una linea non sicura e quindi utilizzare un metodo di crittografia a chiave singola per il messaggio effettivo. Quindi non usi una chiave pubblica o privata per decodificare un messaggio, lo usi per scambiare in sicurezza una terza chiave e poi la usi per decodificare il messaggio.

    
risposta data 11.07.2016 - 20:05
fonte
0

To my knowledge, a key is a password used to decrypt a message.

La chiave è costituita da una funzione di derivazione password. La funzione (ad esempio PBKDF2 o un SHA-256 ripetitivo) è progettata per assumere una notevole quantità di carico. (vale a dire 250 ms)

  1. La chiave derivata è più difficile da indovinare della password originale (ovvero difenditi da un cluster in affitto che tenta di forzare la tua chiave)

  2. La chiave derivata corrisponderà più facilmente alla dimensione della chiave desiderata per la crittografia a crittografia giornaliera di tutti i giorni.

However, the confusion comes in when it comes to the public key, is the recipient putting in the password to receive the message?

Ho avuto esattamente la domanda. Sembra impossibile ottenere un sistema sicuro e di uso pubblico, senza che il ricevitore ottenga la chiave segreta prima del tempo.

La crittografia simmetrica è più semplice. La stessa chiave viene utilizzata per la decrittazione e la crittografia.

La crittografia asimmetrica o a chiave pubblica ha una chiave che può essere utilizzata solo per la crittografia e l'altra per la decrittografia.

Se si passano queste chiavi nell'ordine corretto e si combina con un certificato, è possibile accedere al proprio account di Online Banking e la connessione è protetta da intercettazioni o furto d'identità.
(e, senza la necessità di uno scambio di chiavi precedente)

Un'implementazione comune di questo è RSA, utilizza l'operatore "power-of".

Se si prende una calcolatrice economica con i pulsanti Square e Square-Root e si seleziona "Squared" (potenza di 2) su un numero complesso, il risultato sarà istantaneo, in quanto è una semplice moltiplicazione. Tuttavia, la "radice quadrata" su un numero complesso (molto lungo) avrà un piccolo ritardo notevole. Questo perché è matematicamente molto più difficile da annullare. '

In RSA, usiamo la potenza di X, dove X è un enorme (segreto) numero, così che invertire sarebbe davvero piuttosto costoso. Questo diventa la chiave.

Vedi: È possibile avere una chiave per la crittografia, che non può essere utilizzata per la decrittografia?

Esempio di lavoro: Esiste un semplice esempio di una routine di crittografia / decrittografia asimmetrica?

    
risposta data 11.07.2016 - 19:21
fonte

Leggi altre domande sui tag