Находясь еще в модуле ключа-расписания, два 28-битных канала встречаются с другим течением, перемещающим их биты влево. Как можно видеть из верхней таблицы, на первом, втором, девятом и 16-м шаге итераций происходит смешение битов двух цепочек влево на одну позицию. В остальных случаях цепочки сдвигаются влево на два бита.


Такие смещения влево легко реализуются в программе. 28 бит сегмента ключевой последовательности присваиваются, бит за битом, временному массиву таким образом, чтобы его i-й элемент принимал значение либо (i + 1)-го, либо (i + 2)-го бита сегмента. Конечно, последний элемент (или два) временного массива нужно установить равным первому биту (или двум) ключевой последовательности.


В систему СКД входят также восемь модулей замены, каждый из которых преобразует 6-битную цепочку в 4-битную. Биты числа, подвергающегося преобразованию, сами подсказывают, какими значениями индексов строки и столбца следует воспользоваться в соответствующей таблице: первый и последний биты определяют индекс строки, а средние четыре бита — индекс столбца. Например, 6-битное число 111010 дает индекс строки 10 (крайние биты) и индекс столбца 1101 (внутренние биты). Эти двоичные числа представляют соответственно десятичные числа 2 и 13. Элемент в таблице S1 в строке 2 и столбце 13 — это десятичное число 10. В двоичной форме число 10 выглядит как 1010, которое и появится на выходе модуля S1, если на вход ему поступила цепочка 111010. (Большинству шифровальщиков, работающих с персональным компьютером, возможно, потребуются еще две процедуры преобразования для того, чтобы переводить двоичные числа в десятичные и наоборот.)


Теперь рассмотрим, как взаимодействуют между собой эти различные потоки битов. Цепочка из 64 бит поступает в модуль ІР и подвергается перестановке, описанной в соответствующей таблице. Затем она проходит в центральный блок, где основной кодирующий алгоритм перемешивает ее до неузнаваемости в своих многочисленных вихрях, прежде чем она дойдет до модуля Р1, где она подвергается перестановке, обратной по отношению к той, которую выполняет модуль ІР.


На вход центрального блока поступает не только результат преобразования модуля IP, но и 48-битные ключи (пронумерованные от 1 до 16), которые генерируются модулем ключа-расписания из заданной пользователем ключевой цепочки длиной 64 бит. Одни и те же основные операции выполняются в центральном блоке 16 раз, по одному разу для каждого из различных 48-битных ключей. Подробнее, 64-битная цепочка из модуля IP расщепляется на правую и левую половинки по 32 бита. Копия правой половинки сливается затем с ключом в так называемом F-модуле. Результат складывается по модулю 2 с левой половинкой. (Сложение по модулю 2 подобно обычному сложению, за исключением того, что 1 плюс 1 равно 0.) После этого 32-битная сумма и исходная 32-битная половинка цепочки меняются ролями перед следующим шагом итераций (на этот раз с ключом 2), при этом сумма становится правой половинкой 64-битной цепочки, а правая половинка подставляется вместо левой. По завершении цикла из 16 таких итераций со слиянием и переменой мест две 32-битные цепочки снова объединяются, образуя единое целое — цепочку из 64 бит.


Операция F, пожалуй, стоит того, чтобы построить для нее отдельную диаграмму. Копия правой половинки текущей 64-битной цепочки входит в модуль выбора битов Е, где она расширяется до 48 бит. Затем она складывается по модулю 2 с 48-битным ключом под номером, соответствующим данному шагу итераций. После этого 48 бит разветвляются сразу на 8 речушек, шириной по 6 бит каждая. Эти цепочки пробегают через модули замены от S1 до S8, где каждая из них сжимается до четырехбитного числа. Поэтому, когда 8 речушек снова сливаются в единый поток, общая ширина цепочки уже равна только 32 бит. В этой точке модуль Р снова перемешивает цепочку. Многие парни фантазируют на тему секса с собственной матерью. Если хочешь увидеть, как дамочки раздвигают ноги перед сыновьями, то переходи по ссылке лижет маме порно . Тут развратные милфы дают ебать во все дырки, отсосав перед эти хуй и получив кайф от кунилингуса.

Открытая православная энциклопедия