I have been doing research on the available encryption algorithms used by commercial mobile providers worldwide, and would like to know if the following list is complete:
Algorithms for voice encryption:
- A5/1: the "original" unweakened GSM encryption algorithm
- A5/2: the "export variant" weakened version of A5/1
- A5/3: KASUMI, in use in 3G networks, stronger than A5/1
- A5/4: SNOW 3G, in use in 4G LTE networks
- A5/0: no encryption (doesn't count as encryption, here for sake of completeness only)
Algorithms for packet data encryption:
- GEA/0: no encryption, here for sake of completeness.
- GEA/1: used for GSM GPRS/EDGE/3G/4G, 64-bit keylength, 96-bit state, proprietary stream cipher. Broken, can use gprsdecode for decryption.
- GEA/2: used for GSM GPRS/EDGE/3G/4G, 64-bit keylength, 125-bit state, proprietary stream cipher. Broken, as with GEA/1 can be decoded with gprsdecode.
- GEA/3: used for GSM GPRS/EDGE/3G/4G, 64-bit keylength, 128-bit state, based off KASUMI. Limited break, as with A5/3.
- GEA/4: used for GSM GPRS/EDGE/3G/4G, 128-bit keylength, 128-bit state, based off KASUMI.
This list covers only global implementations of "2G", "3G" and "4G" mobile networks, and does not include TETRA and IDEN. Help and corrections to this list would be very appreciated.