LOKI
# LOKI

Con il termine LOKI si indica in crittografia una famiglia di algoritmi crittografici sviluppati all'inizio degli anni novanta come possibili sostituti del Data Encryption Standard (DES). Gli algoritmi sono sviluppati sulla base delle analisi effettuate sul DES stesso, da cui riprendono la struttura di base. Il nome LOKI deriva da Loki, il dio della grande astuzia della mitologia norrena.

## LOKI89

Il LOKI89 (ribattezzato successivamente come LOKI) è stato il primo algoritmo della serie ad essere pubblicato, nel 1990, dai crittografi australiani Lawrie Brown, Josef Pieprzyk e Jennifer Seberry. Il LOKI89 è stato presentato come candidato per il RIPE, ma non è stato selezionato.

Il cifrario utilizza un blocco dati lungo 64 bit ed una chiave crittografica lunga anch'essa 64 bit. È basato su una rete di Feistel a 16 passaggi ed ha una struttura molto simile al DES da cui deriva, differenziandosi per la particolare funzione di sostituzione (S-box), per la funzione di permutazione (P-BOX) e per la funzione di "permutazione ad espansione".

Le S-box utilizzano un criterio non lineare sviluppato da Josef Pieprzyk, che le rende più complesse e non prevedibili rispetto a quelle del DES. Le P-box sono state progettate per ottenere un rapido mescolamento degli output delle S-box, così da favorire il cosiddetto effetto valanga, requisito fondamentale di ogni buona rete di Feistel, mantenendo al contempo, rispetto alle P-box del DES, una struttura chiara e semplice.

Dopo la sua pubblicazione, il LOKI89 è stato crittanalizzato risultando vulnerabile ad attacchi condotti con la crittanalisi differenziale. A causa di ciò gli autori ne hanno prodotto una versione modificata che ha preso il nome di LOKI91.

## LOKI91

Il LOKI91 è stato progettato in risposta agli attacchi condotti al LOKI89 (Brown, 1991). Le modifiche includono la rimozione dei mascheramenti della chiave (key whitening) iniziali e finali, una nuova S-box ed altre piccole modifiche al gestore della chiave.

Più specificatamente, la funzione di sostituzione è stata cambiata per minimizzare la probabilità di avere differenti dati in ingresso che restituiscono lo stesso risultato in uscita, un punto debole che viene utilizzato dalla crittanalisi differenziale, rendendolo immune a questo tipo di attacchi. Le modifiche al gestore della chiave (key scheduler) hanno invece ridotto il numero di chiavi equivalenti o correlate, che riducono conseguentemente lo spazio delle chiavi, vale a dire il numero di possibili combinazioni differenti.

Anche se il cifrario è provatamente più robusto e sicuro del LOKI89, ci sono comunque un certo numero di potenziali attacchi che possono violare il cifrario, così come descritto negli studi di Knudsen e Biham. Come conseguenza di ciò questi cifrari dovrebbero essere intesi solo come tentativi di migliorare la struttura dei cifrari a blocchi e non come algoritmi realmente utilizzabili.

