Algoritmo di scambio di chiavi Diffie Hellman - Usi e vantaggi

Sommario:

Anonim

Introduzione all'algoritmo di scambio di chiavi Diffie Hellman

L'algoritmo di scambio di chiavi Diffie Hellman è una delle prime implementazioni pratiche dello scambio di chiavi pubbliche nel campo della crittografia. L'algoritmo di scambio di chiavi Diffie Hellman è uno dei modi in cui è possibile generare una chiave condivisa e condividere il segreto tra due parti in modo tale da essere certi che nessuno sarà in grado di curiosare sulla comunicazione. C'è un fatto importante da tenere a mente sull'algoritmo è che non stiamo condividendo le informazioni nello scambio, invece, stiamo creando una chiave che può essere successivamente utilizzata per scambiare informazioni. Poiché questa tecnica ci consente di creare una chiave di crittografia con l'altra parte, possiamo quindi iniziare a crittografare i messaggi in corso e ricevere. Uno stabilito, anche se qualcuno registra i dati di trasmissione, non è possibile decrittografare i dati.

Diffie Hellman Algoritmo di scambio di chiavi per la generazione di chiavi

L'algoritmo si basa sulla crittografia a curva ellittica, che è un metodo per eseguire la crittografia a chiave pubblica basata sulla struttura algebrica delle curve ellittiche su campi finiti. DH utilizza anche la funzione botola proprio come molti altri modi per eseguire la crittografia a chiave pubblica. La semplice idea di comprendere l'algoritmo DH è la seguente

1. La prima parte prende due numeri primi gep e li dice alla seconda parte.

2. La seconda parte quindi seleziona un numero segreto (chiamiamolo a) e quindi calcola g una mod p e invia il risultato alla prima parte, chiamiamo il risultato A. Tieni presente che il numero segreto non viene inviato a chiunque, solo il risultato è.

3. Quindi la prima parte fa lo stesso, seleziona un numero segreto b e calcola il risultato B in modo simile al

4. passaggio 2. Quindi, questo risultato viene inviato alla seconda parte.

5. La seconda parte prende il numero B ricevuto e calcola B a mod p

6. La prima parte prende il numero A ricevuto e calcola A b mod p

È qui che diventa interessante, la risposta nel passaggio 5 è la stessa della risposta nel passaggio 4. Ciò significa che entrambe le parti riceveranno la stessa risposta, indipendentemente dall'ordine di esponenziazione.

(g a mod p) b mod p = g ab mod p
(g b mod p) a mod p = g ba mod p

Il numero che abbiamo inserito nei passaggi 4 e 5 verrà considerato come chiave segreta condivisa. Ora questa chiave può essere utilizzata per eseguire qualsiasi crittografia dei dati che verranno trasmessi come pesce palla, AES, ecc.

Algoritmo Diffie Hellman

1. chiave = (Y A ) XB mod q -> è uguale a quello calcolato da B

2. Elementi pubblici globali

  • q: q è un numero primo
  • a: a <q e α è la radice primitiva di q

3. Generazione delle chiavi per l'utente A

  • Seleziona una chiave privata X A Qui, X A

Ora, calcolo della chiave pubblica Y A Y A = a XA mod q

4. Generazione delle chiavi per l'utente B

  • Seleziona una chiave privata X B Qui, X B
  • Ora, Calcolo della chiave pubblica Y B Y B = a Xb mod q

5. Calcolo della chiave segreta per A

  • chiave = (Y B ) XA mod q

6. Calcolo della chiave segreta per B

  • chiave = (Y A ) XB mod q

Esempio

1. Alice e Bob usano entrambi i numeri pubblici P = 23, G = 5

2. Alice ha selezionato la chiave privata a = 4 e Bob ha selezionato b = 3 come chiave privata

3. Entrambi, Alice e bob ora calcolano il valore di xey come segue:

  • Alice: x = (5 4 mod 23) = 4
  • Bob: y = (5 3 mod 23) = 10

4. Ora, sia Alice che Bob si scambiano numeri pubblici.

5. Alice e Bob ora calcolano le chiavi simmetriche

  • Alice: k a = y a mod p = 10 4 mod 23 = 18
  • Bob: k b = x b mod p = 4 3 mod 23 = 18

6. 18 è la chiave segreta condivisa.

Usi dell'algoritmo Diffie Hellman

Oltre a utilizzare l'algoritmo per la generazione di chiavi pubbliche, ci sono alcuni altri luoghi in cui è possibile utilizzare l'algoritmo DH:

  • Crittografia: l' algoritmo di scambio di chiavi Diffie Hellman può essere utilizzato per eseguire la crittografia, uno dei primi schemi per farlo è stata la crittografia ElGamal. Un esempio moderno di questo è chiamato Integrated Encryption Scheme che fornisce sicurezza contro il testo in chiaro e gli attacchi agli appunti scelti.
  • Accordo con password autenticata: quando due parti condividono una password, è possibile utilizzare un accordo con chiave autenticata da password per impedire all'Utente di attaccare nel mezzo. Questo accordo chiave può assumere la forma di Diffie-Hellman. Secure Remote Password Protocol è un buon esempio basato su questa tecnica.
  • Segretezza diretta: i protocolli basati sulla segretezza diretta possono generare nuove coppie di chiavi per ogni nuova sessione e possono scartarle automaticamente alla fine anche al termine della sessione. In questi protocolli segreti di Segretezza, il più delle volte, viene utilizzato lo scambio di chiavi Diffie Hellman.

Vantaggi dell'algoritmo Diffie Hellman

  • Il mittente e il destinatario non hanno bisogno di alcuna conoscenza reciproca.
  • Una volta scambiati i tasti, la comunicazione dei dati può essere effettuata attraverso un canale non sicuro.
  • La condivisione della chiave segreta è sicura.

Svantaggi dell'algoritmo Diffie Hellman

  • L'algoritmo non può essere citato in giudizio per qualsiasi scambio di chiavi asimmetrico.
  • Allo stesso modo, non può essere utilizzato per la firma di firme digitali.
  • Dal momento che non autentica alcuna parte nella trasmissione, lo scambio di chiavi Diffie Hellman è suscettibile a un attacco man-in-the-middle.

Conclusione

Grazie ai suoi vantaggi, lo scambio di chiavi Diffie Hellman si è rivelato un utile sistema di scambio di chiavi. Mentre è davvero difficile per qualcuno ficcare il naso nella rete per decrittografare i dati e ottenere le chiavi, è ancora possibile se i numeri generati non sono del tutto casuali. Inoltre, il sistema di scambio di chiavi rende possibile fare un uomo in attacco medio, per evitarlo, entrambe le parti dovrebbero essere molto attente all'inizio dello scambio.

Articolo raccomandato

Questa è stata una guida per l'algoritmo di scambio di chiavi Diffie Hellman. Qui discutiamo gli usi, i diversi algoritmi, i vantaggi e gli svantaggi. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Algoritmi di apprendimento automatico
  2. Algoritmo di crittografia
  3. Algoritmi di classificazione
  4. Tipi di algoritmi