Инструменты пользователя

Инструменты сайта


examination:mszki:question40

Симметричные и асимметричные алгоритмы шифрования

Алгоритмы шифрования делятся на два больших класса: симметричные (AES, ГОСТ, Blowfish, CAST, DES) и асимметричные (RSA, El-Gamal). Симметричные алгоритмы шифрования (или криптография с секретными ключами) основаны на том, что отправитель и получатель информации используют один и тот же ключ. Этот ключ должен храниться в тайне и передаваться способом, исключающим его перехват.

Обмен информацией осуществляется в три этапа:

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

2) отправитель, используя ключ, зашифровывает сообщение, которое пересылается получателю;

3) получатель получает сообщение и расшифровывает его.

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

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

Схема обмена информацией следующая:

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

• отправитель, используя открытый ключ получателя, зашифровывает сообщение, которое пересылается получателю;

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

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

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

Симметричные алгоритмы

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

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

Схема связи с использованием симметричной криптосистемы, где М - открытый текст, К - секретный ключ, передаваемый по закрытому каналу, Еn(М) - операция зашифрования, а Dk(M) - операция расшифрования

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

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

Асимметричные алгоритмы

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

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

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

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

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

- Как самостоятельные сpедства защиты пеpедаваемых и хpанимых данных.

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

- Сpедства аутентификации пользователей (электронная цифровая подпись).

examination/mszki/question40.txt · Последние изменения: 2014/01/15 08:20 (внешнее изменение)