
- •1. Общие положения
- •1.2. Когда и зачем нужно защищать информацию?
- •1.3. Язык сообщения
- •1.4. Тайнопись
- •1.5. Коды и их назначение
- •1.6. Криптография и криптоанализ
- •1.7. Основной объект криптографии
- •1.8. Что такое ключ
- •1.9. Атака на шифр. Стойкость шифра
- •1.10. Сложность вскрытия шифра
- •1.11. Принцип Кирхгофа
- •2. Древняя история криптографии
- •3. Современная криптография
- •3.1. Классификация криптографических систем
- •3.2. Основные классы симметричных криптосистем
- •3.3. Шифр замены
- •3.4. Шифр перестановки
- •3.5. Шифр Энигмы
- •4. Блочные шифры
- •4.1. Общие сведения о блочных шифрах
- •4.2. Сеть Фейштеля
- •4.3. Шифр взбивания. Стандарт des
- •4.3.1. Описание алгоритма
- •4.3.2. Анализ эффективности алгоритма
- •4.4. Отечественный стандарт шифрования данных
- •4.4.1. Режим простой замены
- •4.4.2. Режим гаммирования
- •4.4.3. Режим гаммирования с обратной связью
- •4.5. Режимы применения блочных шифров
- •5. Новый криптостандарт блочного шифрования сша
- •5.1. Общие сведения о конкурсе aes
- •5.1.1. Финалист aes – шифр mars
- •5.1.2. Финалист aes – шифр rc6
- •5.1.3. Финалист aes – шифр Serpent
- •5.1.4. Финалист aes – шифр TwoFish
- •5.2. Победитель aes – шифр Rijndael
- •6. Поточные шифры
- •6.1. Регистры сдвига с обратной связью
- •6.2. Шифр a5
- •6.3. Шифр rc4
- •6.4. Шифр seal
- •7. Асимметричные криптосистемы
- •7.1. Общие сведения об асимметричных криптоалгоритмах
- •7.2. Односторонние функции и функции-ловушки
- •7.3. Алгоритм rsa
- •Длина ключа
- •Применение rsa
- •7.4. Криптосистема Эль-Гамаля
- •7.5. Алгоритм Диффи-Хелмана
- •7.6. Механизм распространения открытых ключей
- •7.6.1. Обмен ключами по алгоритму Диффи-Хеллмана
- •8. Сравнительная характеристика шифров
- •9. Электронные цифровые подписи
- •9.1. Постановка задачи
- •9.2. Алгоритмы электронной цифровой подписи
- •9.2.1. Цифровые подписи, основанные на асимметричных криптосистемах
- •9.2.2. Стандарт цифровой подписи dss
- •9.2.3. Стандарт цифровой подписи гост р 34.10-94
- •9.3. Цифровые подписи, основанные на симметричных криптосистемах
- •9.4. Функции хэширования
- •9.4.1. Функция хэширования sha
- •9.4.2. Функция хэширования гост р 34.11-94
- •9.4.3. Функция хэширования md5
- •Библиографический список
- •Оглавление
1.5. Коды и их назначение
К шифрам не относятся и коды – системы условных обозначений или названий, применяемых при передаче информации. Кодирование часто применяется для повышения качества передачи. Хорошо известны и широко используются коды, исправляющие ошибки при передаче сообщений по каналам связи или хранении данных в памяти ЭВМ. Другой многочисленный класс кодов представлен средствами сжатия данных, например различные архиваторы. Употребление этих кодов вызвано не секретностью, а стремлением сэкономить на стоимости передачи и хранения сообщения. Файлы текстов, изображений и программ содержат информацию с сильно отличающимися свойствами и программы их кодирования должны быть разными. Если архиватор хорошо сжимает текст, то это вовсе не означает, то он также хорош для сжатия изображений.
Для текстовых файлов часто употребляется кодировка Хаффмана. Она заключается в том, что символы текста заменяются цепочками бит различной длины. Чем чаще символ, тем короче обозначающая его цепочка. При кодировании Лемпела и Зива, представляющим собой развитие метода Хаффмана, кодируются не символы, а часто встречающиеся последовательности бит вроде слов и отдельных фраз.
Особняком стоит кодирование графической, аудио-, видеоинформации. При этом возможно сжатие с потерями и без.
Хотя криптологи различают шифры и коды, потому что для практических работ это разные системы, но коды представляют собой шифр простой замены слов. Обычно кодовые таблицы состоят из словаря, где каждому слову присвоен кодовый элемент.
Коды могут служить и для сокрытия смысла сообщения. Например, сообщение "Над всей Испанией ясное небо" отнюдь не предвещало хорошей погоды, а послужило кодовым сигналом начала гражданской войны. Однако область применения кодирования для сокрытия смысла ограничена одиночными сообщениями. Краткое кодированное сообщение, не имея ключа в виде кодовых таблиц, вскрыть очень трудно, а то и невозможно.
1.6. Криптография и криптоанализ
Дипломатические, военные и промышленные секреты обычно передаются или хранятся не в исходном виде, а после шифрования. В отличие от тайнописи, которая прячет сам факт наличия сообщения, шифровки передаются открыто, а прячется только смысл. Итак, криптография обеспечивает сокрытие смысла сообщения с помощью шифрования и открытие его расшифровыванием, которые выполняются по специальным криптографическим алгоритмам с помощью ключей у отправителя и получателя.
Классическую схему передачи секретных сообщений криптографическим преобразованием можно представить следующим образом.
|
Шифрование |
Передача |
Дешифрование |
Текст |
|
|
|
Ключ |
|
|
|
|
Отправитель |
Канал связи |
Получатель |
Здесь нужно отметить следующие особенности и отличия от обычных коммуникационных каналов. Отправителем сообщение шифруется с помощью ключа, и полученная шифровка передается по обычному открытому каналу связи получателю. Ключ отправляется получателю по закрытому каналу, гарантирующему секретность. Имея ключ и шифровку, получатель выполняет расшифровывание и восстанавливает исходное сообщение. В зависимости от целей от целей засекречивания эта схема может видоизменяться. Например, в компьютерной криптографии обычен случай, когда отправитель и получатель одно и то же лицо. При этом роль закрытого канала играет память. Тем не менее, налицо все элементы этой схемы.
Криптографические преобразования призваны для достижения двух целей по защите информации:
обеспечение недоступности информации для лиц, не имеющих ключа;
поддержка с требуемой надежностью обнаружения несанкционированных искажений.
По сравнению с другими методами защиты информации классическая криптография гарантирует защиту лишь при условиях, что
использован эффективный криптографический алгоритм;
соблюдены секретность и целостность ключа.
Некриптографические средства не в состоянии дать такую же степень защиты информации и требуют значительно больших затрат. Например, сейфы, сигнализация, водяные знаки, индивидуальные печати и т.д. А криптографический подход надежнее и проще: если ключ подошел, то информации можно доверять.
Шифрование и расшифрование, выполняемые криптографами, а также разработка и вскрытие шифров криптоаналитиками составляют предмет науки криптологии (от греческих слов криптос - тайный и логос - мысль). В этой науке преобразование шифровки в открытый текст (сообщение на оригинальном языке, называемое "клер") может быть выполнено в зависимости от того, известен ключ или нет. Условно ее можно разделить на криптографию и криптоанализ. Криптография связана с шифрованием и расшифровыванием конфиденциальных данных в каналах коммуникаций. Она также используется для исключения возможности искажения информации или подтверждения ее происхождения. Криптоанализ занимается вскрытием шифровок без знания ключа и примененной системы шифрования. Эта процедура называется еще взломкой шифра. Итак, криптографы стремятся обеспечить секретность, а криптоаналитики ее сломать.
Криптология – наука, состоящая из двух ветвей: криптографии и криптоанализа.
Криптография – наука о способах преобразования (шифрования) информации с целью ее защиты от незаконных пользователей.
Криптоанализ – наука (и практика ее применения) о методах и способах вскрытия шифров.
Теперь понятно соотношение криптографии и криптоанализа: криптография – защита (разработка шифров), а криптоанализ – нападение (атака на шифры). Эти две дисциплины тесно связаны друг с другом. Не бывает хороших криптографов, не владеющих методами криптоанализа, т.к. стойкость разработанного шифра можно доказать только с помощью проведения различных атак на шифр, становясь мысленно в положение противника.
Однако терминология еще не совсем устоялась. Например, за рубежом криптоаналитики называют себя взломщиками кодов (breaker), нападающими (attacker), а взломщики компьютерных систем нарекли себя воришками (sneaker). Вряд ли правильно выделять взлом шифров в отдельную дисциплину. Совершенствуя схему шифрования, неизбежно приходится рассматривать и пути ее взлома, а конструируя устройство засекречивания данных, необходимо предусмотреть в нем блок контроля качества. Поэтому часто говорят о криптографах, которые занимаются задачами шифрования, расшифровывания и анализа. Далее криптоанализ будет рассматриваться как область криптологии, проверяющей и доказывающей устойчивость шифров как теоретически, так и практически. Возможность компьютера производить миллионы операций в секунду очень усложнила и криптографию, и криптоанализ. Поэтому в дальнейшем машинные шифры будем называть криптографическими системами.