IDEA: algoritmo di cifratura a blocchi (International Data Encryption Algorithm)

IDEA: algoritmo di cifratura a blocchi (International Data Encryption Algorithm) — sicuro e efficiente a 128 bit, usato in PGP/OpenPGP; blocchi 64 bit e 8,5 round per proteggere i dati

Autore: Leandro Alegsa

In crittografia, l'International Data Encryption Algorithm (IDEA) è un cifrario a blocchi progettato da Xuejia Lai e James Massey del Politecnico di Zurigo nel 1991. Doveva essere un sostituto dello standard di crittografia dei dati. IDEA è molto simile a un precedente cifrario chiamato Proposed Encryption Standard (PES), ma con alcuni miglioramenti. Per questo motivo, IDEA è stato chiamato per la prima volta IPES (Improved PES).

Principi di funzionamento

IDEA opera su blocchi di dati di 64 bit e utilizza una chiave di 128 bit. Il cifrario è strutturato in una sequenza di otto trasformazioni identiche (giri) seguite da una trasformazione finale di uscita (il mezzo giro), quindi si parla di 8,5 giri in totale. I processi di cifratura e decifratura sono simili dal punto di vista strutturale ma differiscono nell'ordine e nei valori delle sottochiavi utilizzate.

Il design di IDEA si basa sull'interazione di tre tipi di operazioni elementari eseguite su parole da 16 bit:

  • Addizione modulo 2^16 (ossia modulo 65536).
  • Moltiplicazione modulo 2^16 + 1 (ossia modulo 65537), con la convenzione che il valore 0 è mappato su 65536 durante le operazioni moltiplicative.
  • Operazione bitwise eXclusive OR (XOR).

Queste operazioni sono deliberate scelte in modo da essere «algebricamente incompatibili», cioè difficili da combinare in un'unica struttura lineare o semplice, aumentando la resistenza del cifrario alle tecniche di crittoanalisi note.

Struttura interna del round

Ogni round tratta il blocco da 64 bit suddiviso in quattro parole da 16 bit. All'interno di un round vengono applicate sei sottochiavi diverse, mentre il mezzo round finale ne usa quattro, per un totale di 52 sottochiavi. Ogni sottochiave è lunga 16 bit.

In termini pratici, le operazioni del round combinano moltiplicazioni e addizioni modulari con operazioni XOR e altre semplici combinazioni logiche, in modo da ottenere diffusione e confusione sui bit del blocco. La decifratura richiede l'uso degli inversi modulari (moltiplicativi o additivi) delle sottochiavi e l'inversione dell'ordine delle stesse.

Schedatura delle chiavi

Le 52 sottochiavi da 16 bit sono ricavate dalla chiave principale a 128 bit secondo un procedimento semplice ma efficace:

  • Le prime otto sottochiavi (K1..K8) sono prese direttamente dalla chiave principale: K1 è la parola a 16 bit meno significativa e K8 la più significativa, come indicato nel formato originale.
  • Dopo l'estrazione del primo gruppo di otto parole si effettua una rotazione a sinistra della chiave principale di 25 bit; si estraggono quindi le successive otto parole e si ripete il processo.
  • Sono necessarie sei rotazioni per ottenere tutte le 52 sottochiavi richieste.

Sicurezza e crittoanalisi

I progettisti di IDEA hanno analizzato la resistenza del cifrario contro diversi tipi di attacchi, in particolare la crittoanalisi differenziale. Le proprietà miste delle operazioni modulari e dell'XOR rendono difficile definire approssimazioni lineari o differenziali semplici per l'intero algoritmo.

Nel corso degli anni sono stati pubblicati vari studi crittanalitici. Sono state identificate alcune classi di chiavi deboli (ad esempio Daemen et al., 1994), ma queste sono estremamente rare e possono essere evitate con semplici contromisure pratiche. Non sono stati segnalati attacchi pratici che compromettano la versione completa a 8,5 giri per tutte le chiavi: gli attacchi più efficaci valgono solo per versioni ridotte del cifrario (ad esempio 6 giri), e non esiste tuttora (almeno fino a studi noti pubblicati attorno agli anni 2000) un attacco completo e pratico contro l'IDEA pieno.

In sintesi:

  • Non sono stati trovati attacchi lineari o differenziali che rompano l'IDEA completo in modo pratico.
  • Esistono attacchi teorici contro versioni ridotte del cifrario; il miglior attacco pubblicato a certe date riusciva a rompere IDEA ridotto a 6 giri.
  • La ricerca crittanalitica continua a migliorare la comprensione delle proprietà dell'algoritmo, ma l'IDEA rimane, per quanto noto pubblicamente, resistente a una rottura pratica quando usato correttamente.

Uso pratico, licenze e brevetti

IDEA è stato usato in Pretty Good Privacy (PGP) v2.0 dopo che il cifrario usato in v1.0, BassOmatic, è risultato essere inadeguato. IDEA può essere usato con lo standard OpenPGP ed è stato adottato in varie implementazioni commerciali e software crittografico.

Il cifrario è brevettato in diversi paesi; il nome "IDEA" è inoltre un marchio di fabbrica. Per molti anni la licenza mondiale è stata gestita da una società chiamata MediaCrypt, che concedeva permessi d'uso soprattutto per applicazioni commerciali; l'uso non commerciale era spesso consentito senza costi. I brevetti relativi a IDEA sono scaduti intorno agli inizi degli anni 2010, rendendo oggi l'algoritmo libero da restrizioni di brevetto nella maggior parte delle giurisdizioni.

Prestazioni e confronto con altri algoritmi

Per molti anni IDEA è stato considerato molto sicuro e relativamente efficiente su hardware e piattaforme software dell'epoca. Tuttavia, con il progresso dell'hardware e la standardizzazione di algoritmi più moderni (in particolare la selezione dell'AES, ovvero Rijndael), alcuni autori hanno iniziato a preferire alternative più veloci o con implementazioni hardware/software più semplici.

Bruce Schneier, noto esperto di crittografia, commentò in passato: "A mio parere, è il migliore e più sicuro algoritmo di blocco disponibile al pubblico in questo momento". (Applied Cryptography, 2° ed.) Tuttavia, in seguito (1999) non raccomandava più IDEA come scelta principale a causa della disponibilità di algoritmi crittografici più veloci, di progressi nella crittoanalisi e della presenza di brevetti.

Considerazioni finali

IDEA è un esempio importante di progetto crittografico degli anni '90: combina idee matematiche e pratiche (operazioni modulari e XOR) in una struttura relativamente semplice ma efficace. Anche se oggi non è più tra gli algoritmi più usati nei nuovi progetti (in parte per via della diffusione dell'AES), rimane storicamente rilevante e, con i brevetti ormai scaduti, continua a essere disponibile per uso generale e studio accademico.

Un giro di criptaggio di IDEA utilizzando sei sottochiaviZoom
Un giro di criptaggio di IDEA utilizzando sei sottochiavi

Domande e risposte

D: Che cos'è l'algoritmo internazionale di crittografia dei dati (IDEA)?


R: IDEA è un cifrario a blocchi progettato da Xuejia Lai e James Massey del Politecnico di Zurigo nel 1991. Era destinato a sostituire il Data Encryption Standard e contiene una serie di otto trasformazioni identiche (round) e una trasformazione in uscita (il mezzo round).

D: Come funziona IDEA?


R: IDEA opera su blocchi di 64 bit, utilizzando una chiave di 128 bit. Lo fa per un totale di 8,5 round. I processi di crittografia e decrittografia sono simili. IDEA trae gran parte della sua sicurezza dall'intreccio di operazioni di gruppi diversi - addizione e moltiplicazione modulare e OR esclusivo bitwise (XOR) - che sono scelti per essere "algebricamente incompatibili". Ciascuno degli otto round utilizza sei sottochiavi, mentre il mezzo round ne utilizza quattro; per un totale di 52 sottochiavi. Ogni sottochiave ha una lunghezza di 16 bit.

D: IDEA è brevettata?


R: Sì, è brevettato in diversi Paesi, ma può essere utilizzato da chiunque per uso non commerciale. Il nome "IDEA" è anche un marchio registrato, con brevetti che scadono nel 2010-2011. Oggi è concesso in licenza a livello mondiale da MediaCrypt.

D: IDEA è stato utilizzato in Pretty Good Privacy (PGP)?


R: Sì, è stato utilizzato nel PGP v2, dopo che BassOmatic - il cifrario utilizzato nel v1 - è risultato infrangibile. Oggi può essere utilizzato anche con lo standard OpenPGP.

D: Sono stati segnalati attacchi riusciti contro IDEA?


R: Non sono ancora stati segnalati attacchi lineari o differenziali di successo contro di esso; tuttavia sono state trovate alcune classi di chiavi deboli, ma sono così rare che possono essere facilmente evitate quando si utilizza l'algoritmo in modo sicuro. A partire dal 2007, il miglior attacco che si applica a tutte le chiavi può rompere IDEA se ridotto a 6 round (la versione completa ne utilizza 8).

D: Cosa ha detto Bruce Schneier su IDEA?


R: Nel 1996 scrisse che era "il migliore e più sicuro algoritmo a blocchi disponibile" all'epoca; tuttavia, nel 1999 non lo raccomandava più a causa della disponibilità di algoritmi più veloci e di alcuni progressi nella crittoanalisi, oltre a problemi di brevetto relativi al suo utilizzo.


Cerca nell'enciclopedia
AlegsaOnline.com - 2020 / 2025 - License CC3