Cellular Message Encryption Algorithm

cifrario a blocchi

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
ProgettistiJames A. Reeds III
Prima pubblicazione1991
Dettagli
Dimensione chiave64 bit
Dimensione blocco16-64 bit
Numero di passaggi3
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

I cifrari ECMEA e SCEMA derivano dal CMEA.

Struttura

modifica

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

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]

Voci correlate

modifica

Collegamenti esterni

modifica