Разработкой методов преобразования информации с целью обеспечения ее конфиденциальности и целостности занимается криптография (в переводе с греческого означает «тайнопись»). О важности сохранения информации в тайне знали уже в древние времена, когда с появлением письменности появилась и опасность прочтения ее нежелательными лицами. Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. С широким распространением письменности криптография стала формироваться как самостоятельная наука.
Одно из основных понятий криптографии - шифр (от арабского «цифра»; арабы первыми стали заменять буквы на цифры для защиты конфиденциальной информации). Шифр - совокупность методов и способов обратимого преобразования информации с целью ее защиты от несанкционированного доступа. В данном определении под преобразованием понимаются два обратных процесса: шифрование и дешифрование
Шифрование (зашифрование) — процесс применения шифра к защищаемой информации, т.е. преобразование защищаемой информации (открытого текста) в шифрованное сообщение (шифртекст, шифрограмму, криптограмму) с помощью определенных правил, содержащихся в шифре [2].
|
|
Дешифрование — процесс преобразование шифрованного сообщения в защищаемую информацию с помощью определенных правил, содержащихся в шифре [2].
Любой шифр состоит, как минимум, из двух составляющих: алгоритма и ключа преобразования.
Алгоритм криптографического преобразования — набор математических правил, определяющих содержание и последовательность операций по шифрованию и дешифрованию информации [4].
Ключ – конкретное состояние некоторых параметров алгоритма криптографического преобразования, обеспечивающее выбор одного преобразования из совокупности всевозможных для данного алгоритма.
Используя понятие ключа, процессы шифрования и дешифрования можно описать в виде следующих соотношений:
f(P, K1) = C, (1)
g(C, K2) = P, (2)
где P, C - открытое и шифрованное сообщение;
f, g - алгоритмы шифрования и дешифрования;
К1, К2 - ключи шифрования и дешифрования.
В зависимости от особенностей алгоритма криптографического преобразования шифры можно разделить на следующие классы.
Криптографические алгоритмы | ||||||||||||
Одноключевые (симметричные) | Двухключевые (асимметричные) | Квантовые | Комбини-рованные (составные) | |||||||||
Замены | Перестановки | Аддитивные (гаммирования) | Детермини-рованные | Вероят-ностные |
Рис.1. Классификация криптографических алгоритмов
|
|
В одноключевых шифрах для шифрования и дешифрования используется один и тот же ключ (К1 = К2).
В шифрах замены отдельные части открытого текста (буквы, слова, числа и т.п.) при шифровании заменяются на другие буквы, числа, значки и т.п. Таким образом, для записи открытых текстов и шифрограмм используются два разных алфавита, между символами которыми есть взаимнооднозначное соответствие.
В шифрах перестановки все символы открытого текста попадают в шифрограмму в неизменном виде, но меняют свое местоположение.
В аддитивных шифрах символы алфавита заменяются числами, которые затем складываются по модулю с числами секретной числовой последовательности (гаммы, зависящей от ключа) или непосредственно ключа. Обычно для шифрования используется сложение по модулю 2.
В двухключевых шифрах для шифрования и дешифрования используется два совершено разных ключа.
При использовании детерминированного алгоритма шифрование и расшифрование посредством одной пары ключей возможно только единственным способом.
Вероятностный алгоритм при шифровании может давать разные шифртексты, которые при расшифровании дают один и тот же результат.
Квантовые шифры основываются на законах квантовой физики.
Самым ценным свойством этого вида шифрования является то, что при посылке сообщения отправляющая и принимающая стороны с достаточно большой вероятностью (99.99…%) могут установить факт перехвата зашифрованного сообщения.
Следует отметить, что квантовое шифрование в настоящее время пока находиться на стадии теоретических разработок и экспериментальных исследований.
Комбинированные шифры предполагают использование для шифрования сообщения сразу нескольких методов (например, сначала замену символов, а затем их перестановку).
Кроме приведенной на рис.1 классификации, шифры в зависимости от особенностей алгоритма делят также на потоковые и блочные.
В потоковых шифрах одна и та же процедура преобразования выполняется над каждым символом независимо от других.
В блочных шифрах исходное сообщение разбивается на блоки фиксированной длины, каждый из которых шифруется и расшифровывается отдельно.
Одним из ключевых понятий в криптографии является стойкость шифра (криптостойкость) - способность шифра противостоять всевозможным атакам на него.
Под атакой на шифр понимают попытку вскрытия этого шифра.
Среди наиболее важных показателей кpиптостойкости является количество всех возможных ключей шифра и среднее время, необходимое для криптоанализа (его вскрытия).
Понятие стойкости шифра является центральным для криптографии. Хотя качественно понять его довольно легко, но получение строгих доказуемых оценок стойкости для каждого конкретного шифра - проблема нерешенная.
Поэтому стойкость конкретного шифра оценивается только путем всевозможных попыток его вскрытия и зависит от квалификации криптоаналитиков, атакующих шифр. Такую процедуру иногда называют проверкой стойкости.
В зависимости от стойкости шифры делятся на три группы:
- совершенные шифры - шифры, заведомо неподдающиеся вскрытию (при правильном использовании);
- шифры, допускающие неоднозначное вскрытие (при попытке вскрытия противником конкретной шифрограммы он может получить несколько правдоподобных вариантов исходного сообщения);
- шифры, допускающие однозначное вскрытие (основная масса шифров).