Генерация стандартного ключа упрощенного шифрования данных

Опубликовано: 23 Декабря, 2021

Стандарт упрощенного шифрования данных (S-DES) - это простая версия алгоритма DES. Он похож на алгоритм DES, но имеет меньший размер и меньше параметров, чем DES. Это было сделано в образовательных целях, чтобы упростить понимание DES. Это блочный шифр, который принимает блок обычного текста и преобразует его в зашифрованный текст. Требуется блок размером 8 бит.

Это шифр с симметричным ключом, то есть они используют один и тот же ключ как для шифрования, так и для дешифрования. В этой статье мы собираемся продемонстрировать генерацию ключа для алгоритма шифрования и дешифрования s-des. Мы берем случайный 10-битный ключ и создаем два 8-битных ключа, которые будут использоваться для шифрования и дешифрования.

Концепция генерации ключа: в алгоритме генерации ключа мы принимаем 10-битный ключ и преобразуем его в два 8-битных ключа. Этот ключ используется как отправителем, так и получателем.

При генерации ключа мы используем три функции:

1. Перестановка P10

2. Перестановка P8

3. Левый Shift

Шаг 1. Мы приняли 10-битный ключ и переставили биты, поместив их в таблицу P10.

 Ключ = 1 0 1 0 0 0 0 0 1 0
(k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) = (1, 0, 1, 0, 0, 0, 0, 0, 1, 0)

P10 Перестановка: P10 (k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) = (k3, k5, k2, k7, k4, k10, k1, k9, k8, k6) 
После P10 получаем 1 0 0 0 0 0 1 1 0 0

Шаг 2: Мы делим ключ на 2 половины по 5 бит каждая.

 л = 1 0 0 0 0, г = 0 1 1 0 0

Шаг 3: Теперь мы применяем сдвиг влево на один бит для каждой клавиши.

 л = 0 0 0 0 1, г = 1 1 0 0 0

Шаг 4: объедините оба ключа после шага 3 и переставьте биты, поместив их в таблицу P8. Результатом данной таблицы является первый ключ K1.

 После объединения LS-1 получаем 0 0 0 0 1 1 1 0 0 0
Перестановка P8: P8 (k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) = (k6, k3, k7, k4, k8, k5, k10, k9)
После P8 получаем Key-1: 1 0 1 0 0 1 0 0

Этап 5: Выходной сигнал, полученный на этапе 3, т.е. 2 половины после сдвига влево на один бит, снова должен пройти процесс сдвига влево на два бита.

 Выход шага 3 - l = 0 0 0 0 1, r = 1 1 0 0 0 
После двухбитового сдвига - l = 0 0 1 0 0, r = 0 0 0 1 1

Шаг 6: объедините 2 половинки, полученные на шаге 6, и переставьте их, поместив в таблицу P8. Результатом данной таблицы является второй ключ K2.

 После объединения LS-2 = 0 0 1 0 0 0 0 0 1 1
Перестановка P8: P8 (k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) = (k6, k3, k7, k4, k8, k5, k10, k9)
После P8 получаем Key-2: 0 1 0 0 0 0 1 1

Окончательный результат:

 Ключ-1: 1 0 1 0 0 1 0 0
Ключ-2: 0 1 0 0 0 0 1 1