Перестановка Р
2.4.6 Исключающее или с L[i-1]. Таким образом, ваше R[i] = L[i-1] xor P(S[1](B[1])...S[8](B[8])), где B[j]- это 6-и битный блок от E(R[i-1])xorK[i]. (Функция для R[i] - более кратко записана как R[i]=L[i-1] xor f(R[i-1],K[i].)
2.4.7 L[i]=R[i-1].
2.4.8 Переход к пункту 2.4.1 до тех пор пока не применен K[16].
2.5 Выполнить следующие перестановки на блоке R[16]L[16].
Последняя перестановка(IP-1)
Это было описание использования алгоритма DES для шифрования одного 64-битного блока. Для расшифровки используйте подобные вычисления, но используйте ключи K[i] в обратном порядке. То есть вместо ключа K[1] применяйте K[16], затем K[15] и так далее до K[1].
Для шифрования или расшифрования более чем 64 битного блока имеются официальные режимы (определенные в FIPS PUB 81). Один из них - вычисления для каждого блока в ряде. Он назван режимом электронной кодовой книги. Более сильный метод заключается в суммировании по модулю два блока открытого текста с блоком шифртекста, прежде зашифрованным. (Первый блок складывается по модулю два с секретным 64 - битным инициализирующим вектором (IV). Этот инициализирующий вектор - обычно случайная величина, которая содержится вместе с ключом.) Данный метод называется связыванием шифр-блоков (Сifer Block Chaining, CBC). Другие два режима - режим с выходной обратной связью (Output Feedback mode, OFB) и шифрование с обратной связью (Cifer Feedback mode, CFB), распространяющие искажения в открытом тексте, что применяется для проверки целостности информации.
Пусть открытый текст a1, a2, ... ,an шифруется в режиме СВС на ключе К, в результате чего получается шифротекст b1, b2 , ... ,bn. Из блока bn шифротекста выделяются первые m битов, которые и составляют вектор аутентификации U (проверочный вектор) для сообщений, передаваемых в незашифрованном виде. Если сообщение передается в зашифрованном виде, то вектор U можно образовать из первых m битов выходного блока алгоритма, полученного при зашифровании последнего блока шифротекста bn в режиме ECB. Изменение хотя бы одного бита открытого сообщения в обоих случаях приводит к изменению вектора U с вероятностью, близкой к 1-2-m , в силу зависимости каждого бита проверочного вектора от каждого бита открытого сообщения.
При хранении сообщения в файлах (или передаче его по линии связи) вектор U хранится (пересылается) вместе с сообщением. Обнаружение искажения происходит после генерации проверочного вектора и сравнения его с хранящимся (присланным) вектором. Величина m определяется пользователем исходя из требуемого уровня надежности аутентификации данных. В частности, согласно требованиям Федерального Стандарта 1027 США величина m меньше 24.
Для заполнения блоков имеется несколько режимов. Один из них - простое дополнение нулей. Второй предлагается в FIPS PUB 81, если данные являются двоичными, заполните блок битами, противоположными последнему биту данных, или, если данные -в ASCII - формате, заполните блок случайными символами и поместите ASCII -символ, определяющий количество заполняющих символов в последний байт блока.
Число различных ключей DES-алгоритма равно 256 = 7*1016 . После опубликования алгоритма в США открыто обсуждались его криптографические свойства. Недавние исследования показали, что современная технология позволяет создать вычислительное устройство стоимостью около 1 млн. долларов, способное вскрыть секретный ключ с помощью полного перебора в среднем за 3,5 часа. Параллельно в ходе исследований DES были разработаны два мощных метода криптоанализа итеративных шифров типа DES: дифференциальный криптоанализ и линейный криптоанализ. Эти методы реализуются быстрее полного перебора, но требуют большого количества специальных открытых текстов (около 1014 и 1013 блоков соответственно).
Из-за небольшого размера ключа было принято решение использовать DES-алгоритм для закрытия коммерческой (несекретной) информации. Практическая реализация перебора всех ключей в данных условиях экономически нецелесообразна, так как затраты на реализацию перебора не соответствуют ценности информации, закрываемой шифром.
Дата добавления: 2015-08-26; просмотров: 578;