International Data Encryption Algorithm
IDEA (International Data Encryption Algorithm) e' un algoritmo utilizzato per la crittografia di messaggi, sviluppato da Xuejia Lai e James Massey. Nel 1990 Lai e Massey mettono a punto l'algoritmo PES (Proposed Encryption Standard) che viene poi irrobustito in IPES (Improved Proposed Encryption Standard). Nel 1992 l'algoritmo diventa IDEA e fa parte della versione ufficiale del PGP (Pretty Good Privacy). E' un algoritmo di cifratura a blocchi simmetrico, per cui necessita di una chiave per cifrare ed una per decifrare.
Descrizione dell'algoritmo
Le operazioni utilizzate da IDEA sono le seguenti:
- addizione senza riporto modulo 216
- moltiplicazione modulo 216
- XOR (or-esclusivo)
La lunghezza delle chiavi di cifratura/decifratura e' di 128 bit mentre i blocchi cifrati sono da 64 bit ciascuno con modalità cipher feedback.La chiave di 128 bit viene partizionata in 52 sottochiavi di 16 bit mentre i 64 bit del testo in chiaro sono divisi in 4 blocchi da 16 bit. 4 blocchi e sei sottochiavi sono presi in ingresso da 8 iterazioni tutte uguali, infine 4 sottobocchi e 4 sottochiavi sono presi in ingresso da una trasformazione finale fornisce il testo cifrato. Per ognuna delle 8 iterazioni, i 4 sottoblocchi sono soggetti ad operazioni di moltiplicazione e addizione con 4 delle sei sottochiavi. I 4 sottoblocchi cosi' ottenuti sono combinati insieme con lo XOR in modo che i due blocchi risultanti siano dati in ingresso ad una funzione di moltiplicazione/addizione che combina i sottoblocchi con le due sottochiavi. Il risultato, due sottoblocchi viene combinato con lo XOR con i 4 sottoblocchi dell' operazione precedente in modo da avere l'output di quattro sottoblocchi da 16 bit ognuno.
Sicurezza
Ad oggi non risulta che IDEA sia stato violato da attacchi.