Генерация стандартного ключа упрощенного шифрования данных
Стандарт упрощенного шифрования данных (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