Принцип работы алгоритма KASUMI в UMTS заключается в использовании 64-битного размера блока и 128-битного ключа в 8-раундовой схеме Фейстеля. ru.ruwiki.ru moluch.ru
Алгоритм обрабатывает 64-битное слово в двух 32-битных частях: левой (Li) и правой (Ri). en.wikipedia.org Входное слово — это объединение левой и правой половин первого раунда. en.wikipedia.org
В каждом раунде происходит следующее: en.wikipedia.org
- Правая половина преобразуется в XOR с выводом функции round. en.wikipedia.org
- Половины меняются местами. en.wikipedia.org
- Правая половина выходного слова преобразуется побитово и поворачивается влево на один бит. en.wikipedia.org
- Результат применяется к левой половине входных данных, чтобы получить левую половину выходных данных. en.wikipedia.org
Каждый раунд KASUMI получает ключи из общего ключа K следующим образом: ru.ruwiki.ru
- 128-битный ключ K разделяется на 8. ru.ruwiki.ru moluch.ru
- Вычисляется второй массив. ru.ruwiki.ru moluch.ru
- Ключи для каждого раунда вычисляются из соотношения циклического сдвига влево на определённое количество бит. moluch.ru