Data Encryption Standard.
Этот алгоритм является типичным представителем блочных шифров. Он может быть реализован как программно так и аппаратно. Скорость шифрования может достигать до нескольких мегабайт в секунду. Алгоритм Des использует в качестве входных блоков 64 битные блоки.
Общую схему можно представить в следующем виде:
Алгоритм Des представляет собой комбинацию двух основных методов шифрования – подстановки и перестановки. Основным комбинационным блоком алгоритма Des является применение к тесту единичной комбинации этих двух методов. Эта операция носит название раунд. Таких раундов в алгоритме 16.
Алгоритм Des имеет следующую структурную схему:
64 блок начального текста преобразуется с помощью матрицы начальной перестановки IP. Полученная последовательность разбивается на два 32 битных блока левая(L0) содержит 32 старших бита а правая младших бита. Затем над ними выполняется итеративный процесс шифрования состоящий из 16 раундов. Результаты итей операции можно описать в следующем соотношениями Li=Ri- - i=1,2..16; Ri=Li- + f(Ri-,Ki) i=1,2..16
f- функция шифрования. Аргументы – последовательность от R-1 и 48 битного раундового ключа который является результатом преобразования исходного 64 битного ключа.
Таким образом из приведенной схемы следует что после 16 раундов правая и левая половины объединяются и алгоритм завершается заключительной перестановкой которая обратна первоначальной. Таким образом этот алгоритм является инверсным, то есть при расшифровании все действия выполняются в обратном порядке, это означает что при расшифровании после перестановки на первой итерации будет использован ключ K16 затем K15 и так далее.