Cellular Message Encryption Algorithm
In crittografia il Cellular Message Encryption Algorithm, abbreviato CMEA, è un cifrario a blocchi che è stato utilizzato per rendere sicuri i telefoni cellulari negli Stati Uniti d'America. Il CMEA è una delle 4 primitive crittografiche specificate in uno standard della Telecommunications Industry Association (TIA): specificatamente, era usato per cifrare il canale di controllo piuttosto che i dati vocali. Nel 1997 un gruppo di crittografi ha pubblicato diversi attacchi al cifrario, dimostrando che aveva diverse vulnerabilità[1]. Sono state anche formulate ipotesi secondo le quali la National Security Agency (NSA) avesse fatto pressioni sugli sviluppatori dell'algoritmo affinché realizzassero un cifrario debole, ma l'NSA ha sempre negato ogni ruolo nella progettazione o nella selezione dell'algoritmo.
Cellular Message Encryption Algorithm (CMEA) | |
---|---|
Generale | |
Progettisti | James A. Reeds III |
Prima pubblicazione | 1991 |
Dettagli | |
Dimensione chiave | 64 bit |
Dimensione blocco | 16-64 bit |
Numero di passaggi | 3 |
Migliore crittanalisi | |
338 testi in chiaro scelti violano i blocchi di qualunque grandezza; 40-80 testi in chiaro noti violano i blocchi di 24 bit; 4 testi in chiaro noti violano i blocchi di 16 bit | |
Struttura
modificaL'algoritmo è descritto nel brevetto (EN) US5159634, United States Patent and Trademark Office, Stati Uniti d'America.. Si tratta di un cifrario orientato ai byte, con un blocco dati variabile da 16 a 64 bit (2-6 byte) ed una chiave grande solo 64 bit (6 byte): entrambi questi valori sono inusualmente piccoli per un cifrario moderno.
L'algoritmo consiste di soli 3 passaggi sui dati: un'operazione di diffusione non lineare da-sinistra-a-destra, un mescolamento lineare non basato sulla chiave, ed un'altra diffusione non lineare che è di fatto l'inversa della prima. Le operazioni non lineare usato una tabella basata sulla chiave denominata T-box, che a sua volta usa una tabella non basata sulla chiave denominata CaveTable. L'algoritmo è auto-reversibile: ri-cifrare il testo in chiaro con la stessa chiave equivale a decifrarlo.
Sicurezza
modificaLo CMEA è altamente insicuro: un attacco con testo in chiaro scelto può violare l'algoritmo con qualunque dimensione del blocco utilizzando solo 338 testi in chiaro scelti. Per la versione con blocchi di 24 bit (la dimensione solitamente utilizzata per crittografare ogni cifra premuta sul cellulare) bastano invece da 40 ad 80 testi in chiaro noti, che scendono a 4 soltanto nel caso di blocchi di 16 bit.
È stata realizzata anche una versione "migliorata" dell'algoritmo denominata CMEA-I, ma la situazione non è molto migliore: un attacco adattivo con testo in chiaro scelto è capace di violare il cifrario con meno di 850 testi in chiaro[2]
Note
modifica- ^ David Wagner, Bruce Schneier, John Kelsey: Cryptanalysis of the Cellular Message Encryption Algorithm - Advances in Cryptology - CRYPTO 1997
- ^ Thomas Chardin, Raphaël Marinier: Cryptanalysis of the Improved Cellular Message Encryption Algorithm
Voci correlate
modificaCollegamenti esterni
modifica- L'attacco allo CMEA, su schneier.com.
- Il coinvolgimento dell'NSA (ipotesi e smentita), su snapshield.com. URL consultato il 17 giugno 2004 (archiviato dall'url originale il 17 giugno 2004).