Здавалка
Главная | Обратная связь

Сравнительная характеристика шифров



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

1. Нужно определить, над какими объектами исходного текста производятся криптографические преобразования: над отдельными битами, байтами или блоками. Например, в шифре Энигмы операции производятся побайтно, а в DES оперируют одновременно со множеством бит, называемом блоком. Свойство системы использовать блоки бит называется блочностью.

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

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

4. Системы шифрования могут быть как симметричными, с одним ключом, так и асимметричными, с разными ключами для шифрования и расшифровывания. Основное отличие между ними состоит в том, что в асимметричной системе знание одного ключа недостаточно для раскрытия соответствующего ему второго ключа.

Тип систем Блочность Сверточность Транзитивность Симметричность
Потоковые - - - +
Блочные + - + -
С открытым ключом + - + +
Сверточные + + + +

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

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

Стандартным методом потокового шифрования является вариант шифрования DES. Известные следующие продукты: микросхема HS3447 Cipher I фирмы Harris Semiconductor, алгоритм B152 в приборе B-CRYPT фирмы British Telecom, за $1000 Mesa432 фирмы Western DataCom, реализующий стандарт передачи данных V.32 и за $5000 Secure фирмы Cylink со стандартом X.25.

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

Но есть и недостатки.

Если ко всем блокам применить один и тот же ключ, то даже при сравнительно большой длине блока (как в DES) возможен криптоанализ "со словарем". Блок небольшого размера может повторяться в сообщении вследствии большой избыточности открытого текста. Это может привести к тому, что идентичные блоки открытого текста в сообщении будут представлены идентичными блоками текста шифровки. Это даст шанс криптоаналитику в угадывании текста и атаке на ключ.

Размножение ошибок внутри блока. Результатом изменения одного бита в принятом блоке шифровки будет неправильное расшифрование всего блока.

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

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

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

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

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

2. Такие шифры, в отличие от блочных, могут не требовать начальной синхронизации. Это значит, что если какая-то часть сообщения будет пропущена при приеме, то оставшаяся часть его все равно может быть расшифрована.

Недостатки:

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

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

Размножение ошибок может быть и положительным свойством, если важно, чтобы данные принимались точно и даже одна ошибка в них недопустима. Т.к. сплошной поток ошибок может быть обнаружен несравненно легче, чем одиночный сбой, то в данном случае размножение ошибок уже не является недостатком шифра.

Стоит упомянуть особый вид сверточного шифрования, представляющий большой практический интерес. В простейшем случае имеем код со скоростью X. Это означает, что каждый бит сообщения ti на выходе схемы кодирования заменяется на два бита, например, ti+ti-1 и ti+ti-1+ti-2. Декодирование этого кода сложно и осуществляется обычно методом динамического программирования. При этом достаточно сохранять в памяти лишь четыре варианта возможных входных последовательностей. В процессе декодирования сохраняются лишь те варианты, которые лучше согласованы с входными данными. Для сверточных кодов со скоростью k/n на k входных бит приходится n выходных комбинаций этих бит. Есть возможность случайным образом управлять этими комбинациями, что и приводит к особому виду шифрования. Его свойства следующие.

1. Декодирование этого шифра сложно, но может быть выполнено в реальном времени с минимальной задержкой.

2. Есть возможность создания шифров, устраняющих ошибки.

3. Можно управлять размножением ошибок. Например, выбор выходных комбинаций бит ti+ti-1 и ti+ti-2 в коде со скоростью X при двух искажениях в трех последовательных битах приводит к тому, что ошибки начнут катастрофически размножаться.

Таким образом, существует возможность реализации в одном алгоритме целого набора шифров, резко различающихся по своим свойствам. К недостаткам таких шифров относят увеличение объема сообщения с преобразованием его в шифровку и сложность схемы декодирования при больших значениях n. Однако эти недостатки не настолько серьезны, чтобы исключить возможность применения указанной схемы в связных коммуникациях или аппаратуре ЭВМ.

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

Возможно, что большинство систем шифрования со сверткой будет основано на применении алгоритмов блочного шифрования в специальном варианте (например, DES).

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

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

 

Тип систем Размножение ошибок Аутентификация Алгоритм Скорость
Потоковые Нет Нет Нет типовых Большая
Блочные Есть Нет DES и аналоги Большая
С открытым ключом Есть Есть RSA, ЭльГамаля Очень низкая
Сверточные Есть Есть Делаются на основе блочных Большая

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

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

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

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








©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.