Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОСЫ / Informatsionnaya_bezopasnost.doc
Скачиваний:
481
Добавлен:
15.02.2016
Размер:
688.13 Кб
Скачать

8.Криптографические методы закрытия данных. Симметричные криптосистемы

Симметричные криптографические системы или системы с секретным ключом

В таких системах ключи шифрования/дешифрования либо одинаковы, либо легко выводятся один из другого.

СХЕМА шифр/дешифр информации в общем случае

I (исх инф) I’ (шифротекст)

ШИФРАТОР

F(I,K)

K (секр ключ)

I’ (шифротекст) I (исходный текст)

ДЕШИФРАТОР

F-1(I’,K’)

K’ (секр ключ)

Симметричное шифрование предполагает использование одной секретной единицы – ключа, который позволяет отправителю зашифровывать сообщение, а получателю – расшифровывать его. При этом длина секретного ключа является одним из важнейших критериев оценки надежности шифра.

Все многообразие существующих методов симметричного шифрования сводится к следующим классам преобразований:

  1. моно и многоалфавитные подстановки (замены) – этот метод заключается в замене символов исходного текста на другие по некоторому правилу. В общем случае это правило таково:

Ci=(Oi+ki) mod A , где Oi – позиция в алфавите (или в таблице ASCII) текущего символа открытого текста; ki – текущий коэффициент сдвига; A – мощность алфавита; Сi – позиция элемента закрытого текста

  1. перестановки – несложный метод криптографического преобразования, основное назначение которого состоит в создании диффузии (рассеивания) исходного сообщения, используется исключительно в сочетании с другими методами

  2. Блочные шифры – представляют собой последовательность основных методов преобразования, применяемую к блоку (части) шифруемого текста. Блочные шифры на практике встречаются чаще, чем чистые преобразования того или иного класса в силу их более высокой криптостойкости. Российский и Американский стандарты симметричного шифрования основаны именно на этом классе шифров. Блочная криптосистема разбивает открытый текст O на последовательные блоки равной длины O1, O2,...On, кратных байту или 32-битовому слову, и зашифровывает каждый блок с помо­щью обратимого преобразования Ek, выполненного с помощью ключа К  Ek(O)=Ek(O1), Ek(O2),.… Блочный алгоритм реализуется последовательностью операций, проводимых с элементами ключа и открытого текста, а так же производными от них величинами. Выбор элементов алгоритма шифрования достаточно велик, однако элементарные операции должны обладать хорошим криптографическими свойствами и допускать удобную программную и техническую реализацию.

Обычно в качестве элементов преобразования используются следующие операции:

  • Побитовое сложение по модулю 2 (обозначение операции ) двоичных векторов (XOR):

0Å0=0

0Å1=1

1Å0=1

1Å1=0

  • Табличная подстановка, при которой исходная группа битов отображается в другую группу битов. Это так называемые S-box преобразования (Substitution – подстановка)

  • Забеливание – сложение в начале и конце шифрования двоичного вектора данных с дополнительными подключами (эффективная против большинства атак и недорогая операция)

  • Перестановка битов двоичных векторов - перемещение, с помощью которого биты сообщения переупорядочиваются – перемешивание – взбивание

  • Циклический сдвиг на некоторое число битов (shr/shl)

  • Сжатие или расширение двоичного вектора

  • Сложение целых чисел по определенному модулю:

например, по модулю 232 или 216(устарело), обозначение операции -+

  • Умножение целых чисел по некоторому модулю (A·B) mod N= остаток от целочисленного деления A·B на N (232 или 216)

Эти операции циклически повторяются в блочном алгоритме, образуя так называемые раунды. Входом каждого раунда является выход предыдущего раунда и ключ, который получен по определенному правилу из ключа шифрования K. Ключ раунда называется подключом. Алгоритм блочного шифрования может быть представлен в общем виде следующим образом:

Практическая стойкость алгоритмов блочного шифрования зависит и от особенностей соединения операций в последовательности, и от длины ключа.

Блочный алгоритм преобразовывает n-битовый блок незашифрованного текста в n-битовый блок зашифрованного текста. При маленькой длине блока такая подстановка плохо скрывает статистические особенности незашифрованного текста. Известно, что блок длины 64 бита уже хорошо скрывает статистические особенности исходного текста.

Примерами блочных систем являются алгоритмы блочного шифрования, принятые в качестве стандартов шифрования данных в США и России – DES/AES и ГОСТ-28147-89, соответственно.

4. поточные шифрыприменяют изменяющиеся во времени преобразования к отдельным наборам битов или символов, составляющих открытый текст. Припоточномшифровании каждый знак шифротекста является функцией значения и положения знака открытого текста. Знаками бывают биты, байты и редко единицы текста крупнее этих. Поточные криптосистемы обычно используют шифры замены.

Поточнаякриптосистема разбивает открытый текст O на буквы или битыo1,o2,… и зашифровывает каждый знак Oi с помощью обратимого преобразования, в соответствии со знакомключевого потока.

Такие системы называют системами гаммирования, а последовательность называют гаммой. Гаммирование – метод, который заключается в наложении обратимым способом на открытые данные некоторой псевдослучайной последовательности символов, генерируемой на основе ключа. Для генерации гаммы променяют программы-генераторы случайных чисел.

Поточные шифры преобразуют открытый текст в зашифрованный по одному биту за операцию. Генератор потока ключей вырабатывает поток битов ключа, который складывается операцией XOR с потоком битов открытого текста, в результате получается поток битов зашифрованного текста. Для дешифрования XOR выполняется над битами шифра и того же ключа

Соседние файлы в папке ГОСЫ