Qual è lo scopo di "g" - generatore del gruppo moltiplicativo

1

Attualmente sto iniziando a studiare i diversi protocolli di sicurezza e mi sono imbattuto nel protocollo di password remota sicura SRP. Riesco a capire le formule matematiche dietro di esso e il calcolo, ma non capisco il motivo / lo scopo dell'uso della "g" - > un generatore del gruppo moltiplicativo.

Perché "g" è un valore statico

perché dovrebbe essere predefinito, perché non assegnato dinamicamente

perché "g" ha il valore di 2 nella maggior parte delle implementazioni, quindi perché non 3,4,5,6,7,8, ..

ciò che è così importante su questo parametro che deve essere incluso nel calcolo,

qual è il purpouse del generatore del gruppo moltiplicativo c'è qualche relazione speciale che devo essere consapevole nella matematica?

cosa succede quando g è 1

Ho letto la definizione di wikipedia dei Generatori ma ancora non capisco quale sia la ragione, PERCHE 'abbiamo bisogno di usarli, cioè cosa succede quando il gruppo Z è ciclico, perché questo è un vantaggio o meno.

    
posta Tito 14.08.2014 - 15:20
fonte

1 risposta

1

SRP è una delle grandi raccolte di algoritmi che operano in un gruppo ciclico . Un gruppo ciclico è costituito dagli elementi 1, g , g 2 _, g 3 _, ... fino ad un certo valore g r -1 dove r è l'ordine di gruppo (il il più piccolo numero intero non zero tale che g r = 1). Quindi g è "statico" perché in realtà fa parte della definizione del campo di gioco: SRP opera nel gruppo ciclico generato da un dato valore g , usando la moltiplicazione modulo un dato primo N come legge di gruppo. Nota che sia il client che il server devono essere d'accordo su g e N , e lo stesso g e N devono essere usati per un dato utente. È più facile per il server se lo stesso g e N , cioè lo stesso gruppo ciclico, sono usati per tutti gli utenti; e condividere lo stesso gruppo non è un problema per la sicurezza.

Per scopi crittografici, abbiamo bisogno di un gruppo tale che logaritmo discreto sia difficile, ma i calcoli sono facili (queste due condizioni implica che abbiamo bisogno di un gruppo ciclico, ma non di un qualsiasi gruppo ciclico). Ciò richiede che N sia abbastanza grande, e anche che r (l'ordine di g ) sia tale da essere un multiplo di abbastanza grande primo (almeno 160 bit). SRP raccomanda che N venga scelto come "sicuro primo", ovvero N = 2 q +1 dove q è anche un numero intero. Se N è un primo sicuro, l'ordine di qualsiasi g nell'intervallo 2 .. N -2 è necessariamente q o 2 q , quindi appropriato.

Se scegli g = 1, ottieni un gruppo ciclico di ordine 1 e tutti i tuoi valori saranno 1; qualsiasi password sarà accettata e non vi è alcuna sicurezza. Allo stesso modo, se scegli g = N -1, ottieni un gruppo ciclico di ordine 2, che non è sostanzialmente migliore.

Tuttavia, qualsiasi valore compreso tra 2 e N -2 sarà buono per g (se N è un primo sicuro). Quindi, possiamo usare g = 2, che è ottimale per le prestazioni (anche se il guadagno è lieve se confrontato con un g casuale)

    
risposta data 14.08.2014 - 15:55
fonte

Leggi altre domande sui tag