Cellular Message Encryption Algorithm: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti. |
|||
Riga 17:
== Struttura ==
L'algoritmo è descritto nel brevetto {{US patent|5159634}}. Si tratta di un cifrario orientato ai [[byte]], con un [[dimensione blocco|blocco dati]] variabile da 16 a 64 [[bit (informatica)|bit]] (2-6 byte) ed una [[chiave crittografica|chiave]] [[dimensione 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 ==
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 [[attacco con testo in chiaro noto|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<ref>Thomas Chardin, Raphaël Marinier: [https://eprint.iacr.org/2008/445.pdf Cryptanalysis of the Improved Cellular Message Encryption Algorithm]</ref>
|