Общие принципы построения симметричных криптосистем
Криптосистемой с секретными ключами называют систему, соответствующую схеме, показанной на Рис. 6.
Рис. 6. Криптосистема с секретными ключами
Впервые эта схема была приведена в статье К.Шеннона 1949г. и до настоящего времени является актуальной для систем с секретными ключами. Здесь важно понимать, что X, Y и Z - случайные величины. Вполне понятно, что статистические свойства открытого текста X определяются источником сообщений; однако статистические свойства секретного ключа Z находятся под контролем криптографа.
Важная часть такой системы - "защищенный канал", по которому секретный ключ, порожденный в источнике ключа и защищенный от криптоаналитика, передается предполагаемому получателю. Для того чтобы подчеркнуть факт использования одного и того же ключа в шифраторе источника и дешифраторе получателя сообщений, криптосистемы с секретными ключами называют также одноключевыми, или симметричными, системами, а также системами классического шифрования. k знаков ключа - это символы некоторого конечного алфавита. Источник сообщений порождает открытый текст. Шифратор образует криптограмму как функцию X и Z. Криптограмма Y является функцией одного лишь открытого текста X, конкретный вид которой определяется секретным ключом Z. Дешифратор способен также выполнить обратное преобразование. Криптоаналитик противника видит только криптограмму Y и образует оценку открытого текста X и/или оценку секретного ключа Z.
Все многообразие существующих симметричных криптографических методов можно свести к следующим классам преобразований:
1. Моно- и многоалфавитные подстановки (замены). Наиболее простой вид преобразований, заключающийся в замене символов исходного текста на другие (обычно того же алфавита) по более или менее сложному правилу. Для обеспечения высокой кpиптостойкости требуется использование больших ключей.
2. Перестановки. Символы исходного текста переставляются по некоторому правилу. Используется, как правило, в сочетании с другими методами.
3. Гаммиpование. Этот метод заключается в наложении на исходный текст некоторой псевдослучайной последовательности, генерируемой на основе ключа.
4. Блочные шифры. Криптосистемы с секретным ключом подразделяются на два вида: блочные (block) и поточные (stream). Поточные криптосистемы работают с сообщением как с единым потоком, блочные криптосистемы представляют собой блочные (групповые) шифропреобразования. Блочная криптосистема разбивает открытый текст на последовательные блоки и зашифровывает каждый блок с помощью одного и того же обратимого преобразования, выбранного с помощью ключа. Любое из них можно рассматривать как последовательность операций, проводимых с элементами ключа и открытого текста, а так же производными от них величинами. Произвол в выборе элементов алгоритма шифрования достаточно велик, однако "элементарные" операции должны обладать хорошим криптографическими свойствами и допускать удобную техническую или программную реализацию. Обычно используются операции:
- побитового сложения по модулю 2 двоичных векторов (XOR)
- сложение или умножение целых чисел по некоторому модулю
- перестановка битов двоичных векторов;
- табличная замена элементов двоичных векторов.
Практическая стойкость алгоритмов шифрования зависит и от особенностей соединения операций в последовательности. Блочные шифры на практике встречаются чаще, чем "чистые" преобразования того или иного класса в силу их более высокой кpиптостойкости. Наиболее надежные и распространенные алгоритмы приведены в следующей таблице:
Таблица 1
Алгоритмы симметричного шифрования
Тип | Описание |
ГОСТ №28147-89 | Российский стандарт шифрования. Используется 256-битовый ключ. Шифруется блок из 64 бит, предусматривает три режима шифрования данных (простая замена, гаммирование, гаммирование с обратной связью) и один дополнительный режим выработки имитовставки |
DES (Data Encryption Standard) | Алгоритм шифрования, используемый как стандарт шифрования данных правительством США. Шифруется блок из 64 бит, используется 64-битовый ключ (требуется только 56 бит), 16 проходов. Может работать в 4 режимах: · Электронная кодовая книга (ECB-Electronic Code Book) - обычный DES, использует два различных алгоритма. · Цепочечный режим (CBC-Cipher Block Chaining), в котором шифрование блока данных зависит от результатов шифрования предыдущих блоков данных. · Обратная связь по выходу (OFB-Output Feedback), используется как генератор случайных чисел. · Обратная связь по шифратору (CFB-Cipher Feedback), используется для получения кодов аутентификации сообщений. |
3-DES или тройной DES | 64-битный блочный шифратор, использует DES 3 раза с тремя различными 56-битными ключами. Достаточно стоек ко всем атакам |
Каскадный 3-DES | Стандартный тройной DES, к которому добавлен механизм обратной связи, такой как CBC, OFB или CFB. Очень стоек ко всем атакам. |
FEAL (быстрый алгоритм шифрования) | Блочный шифратор, используемый как альтернатива DES Вскрыт, хотя после этого были предложены новые версии. |
IDEA (международный алгоритм шифрования) | 64-битный блочный шифратор, 128-битовый ключ, 8 проходов Предложен недавно; хотя до сих пор не прошел полной проверки, чтобы считаться надежным, считается более лучшим, чем DES |
Skipjack | Разработано АНБ в ходе проектов правительства США "Clipper" и "Capstone". 64-битный блочный шифратор, 80-битовые ключи используются в режимах ECB, CFB, OFB или CBC, 32 прохода |
RC2 | 64-битный блочный шифратор, ключ переменного размера Приблизительно в 2 раза быстрее, чем DES Может использоваться в тех же режимах, что и DES, включая тройное шифрование Конфиденциальный алгоритм, владельцем которого является RSA Data Security |
RC4 | Потоковый шифр, байт-ориентированный, с ключом переменного размера. Приблизительно в 10 раз быстрее DES. Конфиденциальный алгоритм, которым владеет RSA Data Security |
RC5 | Имеет размер блока 32, 64 или 128 бит, ключ с длиной от 0 до 2048 бит, от 0 до 255 проходов Быстрый блочный шифр Алгоритм, которым владеет RSA Data Security |
CAST | 64-битный блочный шифратор, ключи длиной от 40 до 64 бит, 8 проходов Неизвестны способы вскрыть его иначе как путем прямого перебора. |
Blowfish. | 64-битный блочный шифратор, ключ переменного размера до 448 бит, 16 проходов, на каждом проходе выполняются перестановки, зависящие от ключа, и подстановки, зависящие от ключа и данных. Быстрее, чем DES. Разработан для 32-битных машин |
Устройство с одноразовыми ключами | Шифратор, который нельзя вскрыть. Ключом (который имеет ту же длину, что и шифруемые данные) являются следующие 'n' бит из массива случайно созданных бит, хранящихся в этом устройстве. У отправителя и получателя имеются одинаковые устройства. После использования биты разрушаются, и в следующий раз используются другие биты. |
Поточные шифры | Быстрые алгоритмы симметричного шифрования, обычно оперирующие битами (а не блоками бит). Разработаны как аналог устройства с одноразовыми ключами, и хотя не являются такими же безопасными, как оно, по крайней мере практичны. |
Далее будут рассмотрены классические шифры, на базе которых и построены практически все современные криптосистемы, и более подробно – стандарты шифрования DES и ГОСТ №28147-89.
Дата добавления: 2015-08-26; просмотров: 3074;