Cellular Message Encryption Algorithm

Da Wikipedia, l'enciclopedia libera.
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, ovviamente, 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) United States Patent 5159634, United States Patent and Trademark Office.. 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 modermo.

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]

  1. ^ David Wagner, Bruce Schneier, John Kelsey: Cryptanalysis of the Cellular Message Encryption Algorithm - Advances in Cryptology - CRYPTO 1997
  2. ^ Thomas Chardin, Raphaël Marinier: Cryptanalysis of the Improved Cellular Message Encryption Algorithm

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]