Информационная безопасность. Лекция 7: Введение в криптографию

Введение в криптографию

 

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

На рисунке 1 приведена схема преобразования данных при шифровании:

clip_image002 

Рис.1. Схема преобразования данных при шифровании.

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

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

T = D(E(T))

Второе условие, которому должен удовлетворять шифр, следующее: он должен шифровать данные, то есть делать их непонятными для непосвященного.

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

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

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

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

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

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

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

clip_image004 

Рис. 2. Схема работы симметричного криптоалгоритма.

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

Для целей конфиденциальности схема обмена информацией такова:

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

clip_image006

Рис. 3. Схема работы асимметричного криптоалгоритма для целей конфиденциальности.

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

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

Обмен информацией можно осуществлять следующим образом:

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

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

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

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

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

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

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

You are here: Главная Информатика Защита информации Информационная безопасность. Лекция 7: Введение в криптографию