Cellular Message Encryption Algorithm
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 | |
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.
I cifrari ECMEA e SCEMA derivano dal CMEA.
Struttura
[modifica | modifica wikitesto]L'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
[modifica | modifica wikitesto]Lo 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 | modifica wikitesto]- ^ 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
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- 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).