Сайт о телевидении

Сайт о телевидении

» » Краткий обзор основ криптографии. Механизмы защиты информации

Краткий обзор основ криптографии. Механизмы защиты информации

Классификация криптографических систем

Существует несколько классификаций криптографических систем (шифров). Рассмотрим некоторые из них.

I. По области применения различают криптосистемы ограниченного и общего использования.

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

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

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

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

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

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

Рис. Классификация криптографических алгоритмов

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

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

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

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

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

Потоковые – процедура преобразование применяется к отдельному символу сообщения;

Блочные – процедура преобразование применяется к набору (блоку) символов сообщения;

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

По стойкости шифры делятся на три группы:

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

340 Глава 18. Криптографическая защита

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

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

Условно можно выделить три принципиально разных этапа в развитии математического аппарата криптографии.

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

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

Работы Диффи и Хеллмана (70-е годы) послужили толчком для бурного развития новых направлений математики: теории односторонних функций, доказательств с нулевым разглашением. В наше время прогресс именно в этих направлениях определяет практические возможности криптографии.

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

сложность и стойкость криптографического закрытия должны выбираться в зависимости от объема и степени секретности данных;

надежность закрытия должна быть такой, чтобы секретность не нарушалась в том случае, когда злоумышленнику становится известен метод закрытия;

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

выполнение процедур прямого и обратного преобразований должно быть формализованным. Эти процедуры не должны зависеть от длины сообщений;

ошибки, возникающие в процессе выполнения преобразования, не должны распространяться на текст в полной мере и по системе;

вносимая процедурами защиты избыточность должна быть минимальной.

Классификация криптографических методов

В настоящее время не существует законченной и общепринятой классификации криптографических методов, так как многие из них находятся в стадии развития и становления. Наиболее целесообразной представляется классификация, представленная на рис. 18.1.

Классификация криптографических методов 341

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

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

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

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

342 Глава 18. Криптографическая защита

Рис. 18.1. Классификация криптографических методов

Требования к криптографическим методам защиты информации

Раскрытие зашифрованных текстов (в первую очередь нахождение ключа) осуществляется при помощи методов криптоанализа. Основными методами криптоанализа являются:

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

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

Классификация криптографических методов 343

Поскольку криптографические методы ЗИ применяются давно, то уже сформулированы основные требования к ним.

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

2. Из-за трудности запоминания объем ключа не должен быть большим.

3. Из-за трудностей, связанных со сложными преобразованиями, процессы шифрования должны быть простыми.

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

5. Из-за трудностей передачи объем шифротекста не должен быть значительно больше открытого текста.

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

требованиям претерпевает существенные изменения.

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

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

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

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

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

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

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

Системы шифрования с секретным ключом к используются издавна и до настоящего времени и основаны на классическом принципе использования единственного ключа &, секретного для всех, кроме допущенных пользователей. Алгоритмы зашифрования и расшифрования реализуют при ключе к взаимно обратные функции Е к и Е к х > т.е. Е к (х) - у и Е к у) = х. Такие криптосистемы называют симметричными в связи с тем, что ключи для зашифрования и для расшифрования или совпадают, или обладают определенной симметрией. Защита информации с помощью симметричных систем обеспечивается секретностью ключа к.

Появление в 1975 г. систем с открытым ключом (авторы - американские криптографы У. Диффи и М. Хеллман) стимулировалось потребностью развивающихся компьютерных сетей в новых ключевых протоколах. Другое их название - асимметричные системы , в них ключ шифрования е и ключ расшифрования (1 не связаны явным отношением симметрии или равенства. Алгоритмы зашифрования и расшифрования также реализуют взаимно обратные функции: Е е (х) = у и Е (1 (у) = х. Ключ шифрования е может быть открытым , доступным для всех, но расшифровать сообщение можно, только зная секретный ключ (1 расшифрования. Ключ с1 часто называют закрытым ключом во избежание путаницы с ключом симметричной системы.

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

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

Методы анализа криптографических систем можно разделить в соответствии с математической природой на три класса: методы опробования , или алгоритмические методы, алгебраические , или аналитические методы ; статистические методы , или частотный анализ.

Методы опробования заключаются в последовательном переборе значений ключа, или части ключа, или значений некоторых функций, зависящих от ключа. Цель опробования - распознавание истинности ключа или сведение исходной задачи к нескольким более простым задачам.

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

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

Методы криптографического анализа (к.а.) классифицируют по области их применения: методы к.а. поточных шифрсистем, блочных шифрсистем, методы анализа хеш-функций и т.д.

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

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

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

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

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

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

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

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

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

Рисунок 2.3 - Принцип работы систем шифрования с ключом

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

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

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

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

Бесключевые:

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

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

Симметричные схемы:

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

Хеш-функции - аналогичные бесключевым, но на основании заранее определенного ключа;

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

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

Асимметричные схемы:

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

ЭЦП - реквизит электронного документа, позволяющий установить отсутствие искажения информации в электронном документе с момента формирования ЭЦП и проверить принадлежность подписи владельцу сертификата ключа ЭЦП. Значение реквизита получается в результате криптографического преобразования информации с использованием закрытого ключа ЭЦП;

Примитивы идентификации.

шифрование криптография алгоритм

Классификация криптографических систем строится на основе следующих трех характеристик:

Число применяемых ключей.

Тип операций по преобразованию открытого текста в шифрованный.

Метод обработки открытого текста.

1) По числу применяемых ключей.

Различают:

Симметричные криптосистемы;

Асимметричные криптосистемы.

Если отправитель и получатель используют один и тот же ключ, система шифрования называется симметричной, системой с одним ключом, системой с секретным ключом, схемой традиционного шифрования. (Например, DES, CAST, RC5, IDEA, Blowfish, классические шифры);

Если отправитель и получатель используют разные ключи, система называется асимметричной, системой с двумя ключами, схемой шифрования с открытым ключом. (RSA, Эль-Гамаля).

2) По типу операций по преобразованию открытого текста в шифрованный.

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

Перестановочные шифры - шифрование основано на изменении порядка следования элементов открытого текста. (Лесенка, перестановка столбцов);

Продукционные шифры - шифрование основано на комбинации нескольких операций замены и перестановки. Продукционные шифры применяются в большинстве реальных современных систем шифрования. (DES).

  • 3) По методу обработки открытого текста.
  • · Блочные шифры - Блочными называются шифры, в которых логической единицей шифрования является некоторый блок открытого текста, после преобразования которого получается блок шифрованного текста такой же длины. Например: DES, шифр Файстеля.
  • · Поточные шифры - подразумевают шифрование всех элементов открытого текста последовательно, одного за другим (бит за битом, байт за байтом). Примерами классических поточных шифров являются шифры Виженера (с автоматическим выбором ключа) и Вернама.

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

3. Типы криптоатак и стойкость алгоритмов

Процесс воссоздания открытого текста (Х) и/или ключа (К) называется криптоанализом.

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

Сложность алгоритма раскрытия является одной из важных характеристик криптосистемы и называется криптостойкостью.

Самым древним и самым простым из известных подстановочных шифров является шифр Юлия Цезаря. В шифре Цезаря каждая буква алфавита заменяется буквой, которая находится на 3 позиции дальше в этом же алфавите.

В общем случае сдвиг может быть любым (от 1 до 25). Если каждой букве назначить числовой эквивалент, то:

Y = Ek(X) = (x + k)mod26

Получаем обобщенный алгоритм Цезаря.

Шифр Цезаря со сдвигом на 13 букв вправо обозначается rot13.

Раскрыть такой шифр можно путем простого последовательного перебора вариантов. Применение простого перебора оправдано следующим:

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

всего 25 вариантов;

известен язык открытого текста.

В большинстве случаев при защите сетей выполняется 1), но не 2). Важная характеристика - 3). Если исходный текст предварительно сжат, то это сильно затрудняет распознавание.

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

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

многобуквенное шифрование, т.е. замещение не отдельных символов открытого текста, а комбинаций нескольких символов;

несколько алфавитов.

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

Примером многобуквенного шифра является также шифр Хилла (1929г.). В его основе лежит алгоритм, который заменяет каждые m последовательных букв открытого текста m буквами шифрованного текста.

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

используется набор связанных моноалфавитных подстановок;

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

Полиалфавитные подстановочные шифры были придуманы в 15-м веке. Леоном Баттистой-Альберти. Они пользовались популярностью до 19 века, когда их начали взламывать.

Самым известным и простым алгоритмом такого рода является шифр Виженера (поточный).

Лучшей защитой от статистических методов криптоанализа (т. е. по частоте появления букв) является выбор ключевого слова, по длине равного длине открытого текста, но отличающегося от открытого текста по статистическим показателям. Такая система была предложена инженером компании AT&T Гилбертом Вернамом в 1918 году. В алгоритме Вернама шифрованный текст генерируется путем побитового выполнения операции XOR для открытого текста и ключа.

Может ли существовать идеальный шифр, который невозможно взломать? Хотите верьте, хотите нет, но абсолютный метод шифрования существует.

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

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

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

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

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

  • 1) Стоимость взлома шифра превышает стоимость расшифрованной информации;
  • 2) Время, которое требуется для взлома шифра, превышает время, в течение которого информация актуальна.

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

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

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

Основные типы криптоатак:

Атака на основе шифртекста.

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

Атака на основе открытого текста.

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

Атака на основе подобранного открытого текста (криптоаналитик может выбирать открытый текст для шифрования).

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

В этом отношении особенно уязвимы шифрованные исходные коды программ из-за частого использования ключевых слов (define, struct, else, return и т.д.). Те же проблемы и у шифрованного исполняемого кода: функции, циклические структуры и т.д.

Лобовое вскрытие (лобовая атака, метод «грубой силы» - путем перебора всех возможных ключей).

Бандитский криптоанализ.

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

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

“Берегитесь людей, превозносящих достоинства своих алгоритмов, но отказывающихся их опубликовать. Доверять таким алгоритмам - все равно, что верить в целебные свойства знахарских снадобий.” (Б. Шнайер)

Лучшие алгоритмы шифрования - это те, которые были опубликованы, годами вскрывались лучшими криптографами мира, и все-таки остались несокрушенными.