top of page

ESPANSIONE

In questo capitolo parleremo dell'ultimo algoritmo crittografico, ovvero l'espansione, basato sulla conversione di dati binari in BASE64. 

Cos'è la BASE64 ?

La BASE64 è un sistema di numerazione posizionale che usa 64 simboli, e viene utilizzato principalmente come codifica di dati binari nelle E-mail per convertire i dati in formato ASCII.

L'algoritmo che effettua la conversione suddivide i file in gruppi da 6 bit, i quali possono quindi contenere valori da 0 a 63.

Ogni possibile valore viene convertito in un carattere ASCII secondo la seguente tabella:

L'algoritmo causa un aumento delle dimensioni dei dati del 33%, poichè ogni gruppo di 3 byte viene convertito in uno da 4.

Esempio di conversione

Dai 3 byte che contengono i valori ABC, partendo dalla loro rappresentazione binaria, applichiamo l'algoritmo:

Quindi, la sequenza di valori ABC viene converitita nella sequenza QUJD.

Nel caso in cui i bit non siano multipli di 6, vengono aggiunti da 0 a 2 simboli '=' (padding character), sufficienti a raggiungere un multiplo di 4 simboli: ciascun padding character indica, pertanto, l'aggiunta di una coppia di bit nulli.

Quindi, preso un singolo byte di valore A, esso viene convertito nella sequenza QQ==, il singolo valore B viene convertito in Qg==, mentre la sequenza AB diventa QUI=.

Il padding non è comunque indispensabile per la codifica, infatti, alcune implementazioni (come il caso in questione) non lo utilizzano.

L'algoritmo crittografico

L'algoritmo di codifica dell'espansione consiste in una conversione in BASE64 dell'immagine binaria in chiaro, di una sequenza casuale assegnata dal server ad ogni apertura di sessione e della chiave assegnata insieme ad essa, il tutto combinato sempre tramite operazione di XOR secondo la formula:

 

CRY â‰¡ (SEQ64 âŠ• IMG64) âŠ• KEY64

La decodifica, di conseguenza, avviene secondo la formula inversa:

 

IMG64 ≡ (CRY ⊕ KEY64) âŠ• SEQ64

 

e si conclude con la riconversione dell'immagine risultante in binario.

Da notare che, per quanto riguarda la codifica, la conversione della sequenza e della chiave avvengono solo all'inizio della sessione, vale a dire una volta che sono state ricevute dal partecipante.

Needham-Schroder

Il protocollo de Needham-Schroder, con l'algoritmo dell'espansione, diventa così:

© 2016. Proudly created by Yeromark Webdesigning.

bottom of page