Рисунок 1.3 - Структурная схема алгоритма А5/1
) А5/2 (алгоритм с пониженной криптостойкостью, путём добавления ещё одного регистра (17 бит), управляющего сдвигами остальных);
Рисунок 1.4 - Структурная схема алгоритма А5/2
) А5/3 (основан на алгоритме Касуми);
Как уже упоминалось, данный шифр является шифром Фейстеля с восьмью раундами. В качестве входных данных используются 128-битный ключ K и строка S. Входная строка делится на правую R0 и левую L0 части, равные по 32 бита каждая. На каждом из восьми раундов обе части преобразуются по следующему правилу:
i = L i - 1; L i = R i - 1 XOR f (L i - 1, RK i) (1.1)
где f определяет функцию раунда, принимающую в качестве аргументов ключ раунда RК i и 32-битное входное значение. Ключ раунда RKi состоит реально из трёх ключей KLi , KOi и KIi , за генерацию которых ответственен элемент распределения ключей (key Scheduling Unit). Функция f состоит из трёх функций FL, FO и FI, которые и используют 3 соответствующих ключа. Функция FL принимает 32-битный входной параметр и с помощью 32-битного ключа KLi генерирует выход также размерности 32 бита.
Рисунок 1.5 - Функция FL
где: ∩ - функция логического «И»,- функция логического «ИЛИ»,
<<< - 1 бит переместить влево.
Функция FO принимает 32-битный входной параметр и два 48-битных ключа KOi и KIi. Последний используется при вызове функции FI.
Рисунок 1.6 - Реализация функции FO
Функция FI принимает 16-битный входной параметр и 16-битный ключ KIi,j и генерирует на их основе 16-битный выход.
а) б)
Рисунок 1.5 - а) Схема реализации шифра Kasumi; б) Функция FI
Из схемы нетрудно выяснить, какие логические операции использует каждая из этих функций. Стоит лишь отметить, что функция FI использует S-box S7 и S9, осуществляющие преобразования входных 7-ми и соответственно 9-ти бит в выходные 7 и 9 бит. На нечётных раундах первой исполняется функция FL, а на чётных - FO.
Итак, сгенерированный алгоритмом Касуми ключ выдаётся впоследствии алгоритмом GEA3 и используется для кодирования данных, транслируемых между мобильной станцией и обслуживающим узлом.
1.3.3 Алгоритм А8
A8 - алгоритм формирования ключа шифрования. По причине безопасности формирование Kc происходит в Sim-карте.
Рисунок 1.6 - Блок-схема вычисления Кс
Фактически алгоритмы A3 и А8 можно было бы реализовать в форме одного-единственного вычисления. Например, в виде единого алгоритма, выходные данные которого состоят из 96 бит: 32 бита для образования SRES и 64 бита для образования Кс. Следует отметить, что длина значимой части ключа Кс, выданная алгоритмом А8, устанавливается группой подписей GSM MoU и может быть меньше 64 бит. В этом случае значимые биты дополняются нулями для того, чтобы в этом формате всегда были использованы все 64 бита.
Всякий раз, когда какая-либо мобильная станция проходит процесс аутентификации, данная мобильная станция и сеть также вычисляют ключ шифрования Кс, используя алгоритм А8 с теми же самыми вводными данными RAND и Ki, которые используются для вычисления SRES посредством алгоритма A3.
Читайте также
Проектирование и разработка интернет-магазина Компьютерная техника
Разработка
сайтов для компаний является актуальной и востребованной сферой деятельности,
т.к. сайт фирмы в сети Интернет представляет собой достаточно дешевый и
массовый способ рекл ...
Применение пространственной фильтрации для улучшения радиоголографических изображений объектов, находящихся за препятствиями
В настоящее время активно развивается раздел науки, посвященный
радиовидению. Это связано с тем, что радиовидение может найти свое применение в
широкой сфере деятельности человека для об ...
Проектирование цифрового устройства для реализации типовых микроопераций
Разработать функциональную и принципиальную схему операционного
устройства исходя из основных параметров по вариантам.
Также требуется предоставить блок схемы алгоритмов выполнения опе ...