Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




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

 

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

 

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

ШИФРАТОР F(I,K)

K (секр ключ)

 

 

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

ДЕШИФРАТОР F-1(I’,K’)

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

 

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

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

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

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

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

3. Блочные шифры – представляют собой последовательность основных методов преобразования, применяемую к блоку (части) шифруемого текста. Блочные шифры на практике встречаются чаще, чем чистые преобразования того или иного класса в силу их более высокой криптостойкости. Российский и Американский стандарты симметричного шифрования основаны именно на этом классе шифров. Блочная криптосистема разбивает открытый текст 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= a+b, если a+b < 232,

а + b= a+b-232, если a+b і 232, где + обычное сложение целых чисел;

 

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

 

a {+} b= a+b, если a+b < 232 - 1,

а {+} b= a+b-(232 – 1), если a+b і 232 - 1, где + обычное сложение целых чисел

 

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

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

 

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

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

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

 

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

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

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

 

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

 

 

Шифротекст
Открытый текст

 
 


Генератор ключей
1101001101100101

 

 

Примерами поточной криптосистемы является система Вернама (одноразовый блокнот), где

В свою очередь поточные криптосистемы делятся на синхронные и самосинхронизирующиеся.

Синхронные поточные криптосистемы характеризуются тем, что в них ключевой поток получается независимо от открытого и шифрованного текстов.

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

генератором ключевого потока (гаммы) может быть либо детерминированным, либо случайным. Детерминированный генератор зависит от секретного ключа. Случайный сам вырабатывает секретный ключ, но очень большой длины, что непрактично в реализации.

 

Стойкость поточных шифров зависит от длины гаммы и качества генератора

 

Один из режимов работы отечественной симметричной криптосистемы ГОСТ 28147-89 выполняет гаммирование открытых данных, разбитых на 64-разрядные блоки, в сочетании с алгоритмическим преобразованием заменой. Гамма также вырабатывается блоками длиной 64 бит каждый. Очередной бит открытого текста складывается операцией XOR с очередным битом гаммы. Шифрование выполняется согласно формуле:

С = O Е G = O Е E(L + constanta2, R {+} constanta1)

где:

E – функция шифрования в режиме простой замены от двух 32-разрядных аргументов

(L , R ) = E(S)

S - синхропосылка или начальное заполнение, это 64-битовый элемент, необходимый для инициализации генератора гаммы

L = L +constanta2

R = R {+} constanta1 для i = 1, 2, …, n (n – число блоков исходного сообщения)

constanta1 и constanta2 – константы, заданные в ГОСТ

 

Процесс дешифрования предполагает использование той же самой синхропосылки, которая не является секретным эле­ментом шифра и может храниться в памяти ЭВМ (предопределенная синхропосылка) или передаваться по каналам связи вместе с шифрованны­ми данными (что приведет к увеличению шифровки на 8 байт).

 

В ГОСТ допускается режим гаммирования с обратной связью:

 

С1 = O1 Е G1= O1 Е E(S)

С = O Е G = O Е E(Сi-1) для i = 1, 2, …, n (n – число блоков исходного сообщения)

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

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

На данный момент реализовано много алгоритмов симметричного шифрования:

- DES (Америка) – Data Encryption Standard 56-битовый ключ/16 раундов (сеть или шифр Фейстеля)

- 3DES – Triple DES - тройной DES – можно использовать 1-2-3 56-разрядных ключа/16*(1-2-3) раундов

Как национальный стандарт DES устарел, его сменили на

- AES - Advanced Encryption Standard с 128 -192 или 256-разрядным ключом (основан на бельгийском алгоритме Rijndael), не относится к шифрам Фейстеля, имеет архитектуру КВАДРАТ

- Twofish 128-192-256/16 относится к шифрам Фейстеля, основным недостатком является дороговизна смены ключа шифрования, это объясняется тем, что реализация криптоалгоритма требует выполнения целого ряда предварительных операций над ключом (из-за зависимости генерации S-box от подключей

- FEAL 64-128/4

- Blowfish 448/16 – один из стандартов шифрования в защищенных каналах связи

- ГОСТ 28147-89 (Россия) в ГОСТ 28147 - 256-битовый ключ/ 32 раунда (сеть или шифр Фейстеля

 

  1. Криптографические методы закрытия данных. Несимметричные криптосистемы
Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...