Реферат: Современные криптографические методы
Перестановки.
Также несложный метод криптографического преобразования. Используется, как правило, в сочетании с другими методами.
Гаммирование.
Этот метод заключается в наложении на исходный текст некоторой псевдослучайной последовательности, генерируемой на основе ключа.
Блочные шифры.
Представляют собой последовательность (с возможным повторением и чередованием) основных методов преобразования, применяемую к блоку (части) шифруемого текста. Блочные шифры на практике встречаются чаще, чем “чистые” преобразования того или иного класса в силу их более высокой криптостойкости. Российский и американский стандарты шифрования основаны именно на этом классе шифров.
Стандарт шифрования данных ГОСТ 28147-89
Российский стандарт шифрования является блочным, т. е. преобразование ведется по блокам. Он включает в себя режим замены и два режима гаммирования. Стандарт ГОСТ 28147-89 формировался с учетом мирового опыта, и в частности, были приняты во внимание недостатки и нереализованные возможности алгоритма DES, поэтому использование стандарта ГОСТ предпочтительнее. Эффективность данного стандарта достаточно высока. Системы, основанные на ГОСТ 28147-89, позволяют зашифровать в секунду до нескольких десятков Кбайт данных. В него заложен метод, с помощью которого можно зафиксировать необнаруженную случайную или умышленную модификацию зашифрованной информации.
Введем ассоциативную операцию конкатенации. Если L и R – последовательность бит, то LR обозначает конкатенацию последовательностей, то есть LR - последовательность бит с размерностью равной сумме размерностей L и R, причем биты R следуют за битами L. Кроме того, будем использовать следующие операции сложения:
· A^B - побитовое сложение по модулю 2;
если A+B=>2, то A^B=А+B-2
если A+B<2 , то A^B=А+B, где A и B 1-битные числа.
· A[+]B - сложение по модулю 232 ;
если A+B=>232 , то A[+]B=A+B-232
если A+B<232 , то A[+]B=A+В, где A и B 32-битные числа.
· A{+}B - сложение по модулю 232 -1;
если A+B=>232 -1, то A{+}B=A+B-232 +1
если A+B<232 -1 , то A{+}B=A+B, где A и B 32-битные числа.
Алгоритм криптографического преобразования предусматривает три режима работы. В стандарте ГОСТ используется ключ W длиной 256 бит, представляемый в виде восьми 32-разрядных чисел x (i).
W=X(7)X(6)X(5)X(4)X(3)X(2)X(1)X(0)
Самый простой из возможных режимов - замена.
Пусть открытые блоки разбиты на блоки по 64 бит в каждом, которые обозначим как T(j).
Очередная последовательность бит T(j) разделяется на две последовательности B(0) и A(0) по 32 бита (правый и левый блоки). Далее выполняется итеративный процесс шифрования, описываемый следующими формулами, вид который зависит от i.
· Для i=1, 2, ..., 24, j=(i-1) (mod 8);
A(i) = f (A(i-1) [+]X(j)) ^ B(i-1)
B(i) = A(i-1)
· Для i=25, 26, ..., 31, j=32-i;
A(i) = f (A(i-1) [+]X(j)) ^ B(i-1)
B(i) = A(i-1)
· Для i=32