SRES (32-bit)
Kc (64-bit)
Rysunek nr 1.5: Wejścia i wyjścia algorytmu A3/A8 Źródło: [31]
Istnieją cztery wersje algorytmu COMP128:
> COMP128-1 - pierwsza wersja, która zawiera kilka błędów (korzysta ze słabej kryptograficznie kompresji „motyla” oraz generuje klucz Kc o efektywnej długości 54 bitów - 10 ostatnich bitów klucza ma zawsze wartość ‘0’ [13]).
> COMP128-2 - druga wersja, opublikowana niedługo po przeprowadzeniu pierwszego udanego ataku na algorytm COMP128-1. Likwiduje niektóre błędy w pierwszej wersji algorytmu, ale dalej efektywna długość klucza to 54 bity.
> COMP128-3 - trzecia wersja, która generuje klucz Kc o efektywnej długości 64 bitów. Zwiększyło to bezpieczeństwo algorytmu szyfrującego około 1000 krotnie (do poziomu przewidzianego w specyfikacji GSM).
> COMP 128-4 - czwarta wersja algorytmu, która jest oparta na algorytmie 3GPP (Kasumi), takim samym jaki jest stosowany w systemie UMTS. Jedyna wersja, która nie została jeszcze prawdopodobnie złamana. Niewielu jednak operatorów zdecydowało się na jej wprowadzenie, ze względu na znaczne zmiany i spore koszty takiej transformacji.
1.3.2.3 Schemat działania algorytmu COMP128-1
Algorytm COMP128 jest algorytmem rundowym, wykonującym na zmianę permutację i podstawienia. Działa on na tablicach bajtowych i tylko w celu dokonania permutacji (krok nr 2.4) bajty zamieniane są na bity. Algorytm składa się z ośmiu rund, przy
20