Федеральный стандарт США — DES
DES является симметричным алгоритмом: для шифрования и дешифрования используется одинаковые алгоритм и ключ (за исключением небольших различий в использовании ключа). Длина ключа равна 56 битам. (Ключ обычно представляется 64-битным числом, но каждый восьмой бит используется для проверки четности и игнорируется.) Ключ, который может быть любым 56-битовым числом, можно изменить в любой момент… Читать ещё >
Федеральный стандарт США — DES (реферат, курсовая, диплом, контрольная)
Стандарт шифрования данных DES (Data Encrypting Standard), который ANSI называет Алгоритмом шифрования данных DEA (Data Encrypting Algorithm), а ISO — DEA-1, за 20 лет стал мировым стандартом. За годы своего существования он выдержал натиск различных атак и при известных ограничениях все еще считается криптостойким.
DES представляет собой блочный шифр, шифрующий данный 64-битовыми блоками. С одного конца алгоритма вводиться 64-битовый блок открытого текста, а с другого конца выходит 64-битный блок шифротекста.
DES является симметричным алгоритмом: для шифрования и дешифрования используется одинаковые алгоритм и ключ (за исключением небольших различий в использовании ключа). Длина ключа равна 56 битам. (Ключ обычно представляется 64-битным числом, но каждый восьмой бит используется для проверки четности и игнорируется.) Ключ, который может быть любым 56-битовым числом, можно изменить в любой момент времени. Криптостойкость полностью определяется ключом. Фундаментальным строительным блоком DES является комбинация подстановок и перестановок. DES состоит из 16 циклов (рис. 5).
Рис. 5.
В общем цикл преобразования представлен на рис. 6. Если Li и Ri — левая и правая половины, полученные в результате i-й итерации, Ki — 48-битный ключ для цикла i, а f — функция, выполняющая все подстановки, перестановки и XOR с ключом, то один цикл преобразования можно представить как.
- (Li, Ri) = (Ri-1, Li
- -1 (XOR) f(Ri-1, Ki)).
DES является шифром Фейстеля и сконструирован так, чтобы выполнялось полезное свойство: для шифрования и дешифрования используеться один и тот же алгоритм.
Единственное отличие состоит в том, что ключи должны использоваться, а обратном порядке.
То есть если при шифровании использовались ключи K1, K2,., K16, то ключами дешифрования будут K16, K15,., K1. Алгоритм использует только стандартную арифметику 64-битовых чисел и логические операции, поэтому легко реализуется на аппаратном уровне.
DES работает с 64-битовыми блоками открытого текста. После первоначальной перестановки блок разбивается на правую и левую половины длиной по 32 бита.
Затем выполняются 16 преобразований (функция f), в которых данные объединяются с ключом. После шестнадцатого цикла правая и левая половины объединяются, и алгоритм завершается заключительной перестановкой (обратной по отношению к первоначальной). На каждом цикле (рис. 6) биты ключа сдвигаются, и затем из 56 битов ключа выбираются 48 битов. Правая половина данных увеличивается до 48 битов с помощью перестановки с расширением, объединяется посредством XOR с 48 битами смещенного и перестановленного ключа, проходит через S-блоков, образуя 32 новых бита, и переставляются снова. Эти четыре операции и выполняются функцией f.
Рис. 6.
Затем результат функции f объединяется с левой половиной с помощью другого XOR. В итоге этих действий появляется новая правая половина, а старая становится новой левой половиной. Эти действия повторяются 16 раз, образуя 16 циклов DES.