martedì 13 novembre 2012

Crittografia simmetrica inattaccabile

La crittografia simmetrica consiste nella applicazione di un algoritmo ad un insieme di dati(ad esempio un testo), che abbia la proprietà di essere invertibile utilizzando la stessa chiave cifrante o una chiave che sia facilmente calcolabile dalla chiava cifrante.La "chiave" deve essere in possesso di entrambe le parti , quindi è essenziale per la sicurezza condividerla attraverso un canale sicuro, inoltre si può affermare ,in linea generale ed indipendentemente dall' algoritmo utilizzato, che più la chiave è lunga più è sicura. Gli algoritmi di crittografia simmetrica sono molto veloci da un punto di vista computazionale, molto di più di quelli a chiave pubblica(vedi PGP) per questo motivo sono in gran parte utilizzati dove la velocità è un fattore determinante per le prestazioni. Come avviene per esempio nei protocolli di rete crittografici quali SSL, in questo caso le due parti si scambiano la chiave simmetrica in modo sicuro con un protocollo a chiave pubblica, e poi iniziano a comunicare criptando il resto della comunicazione con chiave simmetrica condivisa.Se volete dare uno sguardo agli algoritmi attualmente più utilizzati potete andare su questa pagina http://danieler.altervista.org/aes.html dove è possibile criptare online un testo con molti algoritmi .Un caso particolare della crittografia simmetrica è il "cifrario di Vernam" detto anche "One Time Pad", in esso la chiave condivisa (detta Pad) deve avere la stessa lunghezza del testo in chiaro, e se il Pad è generato casualmente ed è utilizzato UNA SOLA VOLTA, questo cifrario diventa "matematicamente inattaccabile". Anche se è inattaccabile il suo funzionamento ,nella forma classica, è semplicissimo si sceglie un cifrario facendo corrispondere ad un numero una determinata lettera (es. a=1 b=2....z=25), poi si sommano le lettere del testo in chiaro con quelle corrispondenti del Pad, se la somma supera 25(questo numero dipende dalla lunghezza del cifrario) si ricomincia a contare le successive dall' inizio del cifrario , quindi si prende la lettera risultante da questa "somma circolare" come "testo cifrato".  Ecco un esempio:


c(3)  i(9)  a(1)  o(13) testo chiaro
a(1)  c(3)  a(1)  p(14) Pad
d(4) n(12)  b(2)  b(27) testo criptato


Questo metodo di cifratura è stato utilizzato ai tempi della guerra fredda, e in 20 anni gli americani riuscirono a decifrare pochissimi messaggi che si scambiavano i sovietici, e riuscirono a decifrarli solo perché i mittenti utilizzarono per più di una volta lo stesso Pad. Ancora oggi il cifrario di Vernam è considerato un "cifrario perfetto". Da un punto di vista informatico il cifrario di Vernam è facilmente implementabile visto che la somma circolare corrisponde all' operazione xor fra i singoli bit, come esempio potete visitare questa pagina http://danieler.altervista.org/vernan.html dove ho utilizzato i codici ascii di lettere e numeri come cifrario, e l'operazione xor fra i bit per codifica e decodifica.

Nessun commento:

Posta un commento