Основные требования, предъявляемые к криптосистемам

Основные понятия криптографии

Одно из основных понятий криптографии - шифр (араб. صِفْر (sifr) - «ноль», «ничто», «пустота», откуда фр. chiffre - «цифра»; арабы первыми стали заменять буквы на цифры с целью защиты исходного текста).

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

Составными элементами шифра являются:

- алфавиты для записи исходных сообщений (защищаемой информации, открытого текста) и шифрованных сообщений (закрытых сообщений, шифртекстов, шифрограмм, криптограмм);

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

- множество ключей.

Азбука или алфавит (греч. ἀλφάβητος) - форма письменности, основанная на стандартном наборе знаков, один или набор которых соответствуют фонемам1 языка. В общем случае алфавит для записи исходных сообщений и алфавит для записи шифрованных сообщений могут отличаться. Например, исходные сообщения записываются с помощью букв, а шифрограммы с помощью цифр или графических обозначений.

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

Шифрование (зашифрование) — процесс применения шифра к защищаемой информации, т.е. преобразование исходного сообщения в зашифрованное.

Дешифрование (расшифрование) — процесс, обратный шифрованию, т. е. преобразование шифрованного сообщения в исходное.

Алгоритмы шифрования и зашифрования, как правило, отличаются друг от друга, но могут и совпадать. В частности, в некоторых комбинированных блочных шифрах (DES, ГОСТ 28147-89) алгоритмы совпадают, но отличаются порядком использования ключа (ключевых элементов). Алгоритм шифрования может включать в себя предварительное кодирование, а алгоритм расшифрования - обратное перекодирование. Например, в аддитивных шифрах перед шифрованием буквы (символы) исходного сообщения заменяются на числа, а результат расшифрования в виде чисел преобразуется в буквы (символы). Аналогичная ситуация имеет место и в некоторых шифрах замены (шифр Хилла), комбинированных блочных шифрах, асимметричных шифрах.

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

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

f(P, k1) = C, (3.1)

g(C, k2) = P, (3.2)

где P (англ. public - открытый) - открытое сообщение;
C (англ. cipher - шифрованный) - шифрованное сообщение;
f - алгоритм шифрования;
g - алгоритм расшифрования;
k1 – ключ зашифрования, известный отправителю;
k2 – ключ расшифрования, известный адресату.

 

В настоящее время разработкой методов шифрования и дешифрования информации (в т.ч. и без знания ключа) занимается криптология (греч. κρυπτός — тайный, λόγος — слово, знание). Криптология разделяется на два направления — криптографию и криптоанализ. Цели этих двух правлений криптологии прямо противоположны.

Криптография (греч. κρυπτός — скрытый и γράφω — пишу, рисую) – наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.

Криптоанализ (греч. κρυπτός — скрытый и ανάλυση — разложение, расчленение) – наука, занимающаяся вопросами оценки сильных и слабых сторон методов шифрования, а также разработкой методов, позволяющих взламывать криптосистемы.

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

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

- секретные кодовые системы, предназначенные, как и криптографические системы, для обеспечения конфиденциальности (номенклаторы, «Код Госдепартамента», «Американский код для окопов», «Речные коды : Потомак»).

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

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

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

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

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

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

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

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

- от вида защищаемой информации (документальная, телефонная, телевизионная, компьютерная и т.д.);

- от объема и требуемой скорости передачи шифрованной информации;

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

- от возможностей владельцев секретной информации, а также от возможностей противника (одно дело - противостоять одиночке, а другое дело - мощной государственной структуре).

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

1 Фонема (др.-греч. φώνημα - «звук») - минимальная смыслоразличимая единица языка.

 

Основные требования, предъявляемые к криптосистемам

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

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

- временные и стоимостные затраты на защиту информации должны быть приемлемыми при заданном уровне ее секретности (затраты на защиту не должны быть чрезмерными);

- процедуры шифрования и дешифрования не должны зависеть от длины сообщения;

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

- любой ключ из множества возможных должен обеспечивать надежную защиту информации;

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

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

- зашифрованное сообщение должно поддаваться чтению только при наличии ключа.

 

3.3 Классификация шифров

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

Рис.3.1. Классификация шифров

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

В следующий таблице приведена краткая характеристика типов шифров.

Таблица 3.1. Типы шифров

Тип шифра

Краткая характеристика

Примеры шифров

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

одноключевые
(симметричные)

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

шифр Цезаря, шифры гаммирования, DES-ECB, ГОСТ 34.12-2015

двухключевые
(асимметричные,
с открытым ключом)

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

RSA, схема Эль-Гамаля

многоключевые

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

ADFGVX, 3DES

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

перестановки

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

 

перестановки

одинарной перестановки

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

шифр простой одинарной перестановки, Сцитала, шифр вертикальной перестановки

множественной перестановки

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

шифр двойной перестановки

замены
(подстановки)

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

 

замены

однозначной замены
(моноалфавитные,
простые подстановочные)

Количество шифрозамен М для каждого символа или блока символов исходного алфавита равно 1 (| Мi | = 1 для одного i-го символа или блока символов).

 

однозначной
замены

регулярные

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

шифр Цезаря, лозунговый шифр, тюремный шифр

регулярные

полиграммные Шифрозамене соответствует блок символов исходного алфавита (| Мi | = 1 для одного i-ого блока символов). биграммный шифр Порты, шифр Хилла
асимметричные детерминированные При зашифровании одного и того же открытого сообщения одним и тем же открытым ключом всегда будет получаться одна и та же шифрограмма. Т.е. для заданного открытого ключа один и тот же символ (блок символов) открытого сообщения всегда будет представляться одной и той же шифрозаменой. RSA, шифр на основе задачи об укладке ранца
нерегулярные

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

совмещенный шифр

многозначной замены

Количество шифрозамен M для отдельных символов или блока символов исходного алфавита больше 1 (| Мi | ≥ 1 для одного i-го символа или блока символов).

 

многозначной
замены

омофонические (однозвучные)

Шифрозамены для разных символов или блоков символов исходного алфавита не повторяются (МI ∩ МJ = Ø для двух разных i-го и j-го символов или блоков символов).

система омофонов, книжный шифр
полиалфавитные (многоалфавитные)

Исходному алфавиту для записи открытых сообщений соответствует несколько алфавитов шифрозамен. Выбор варианта алфавита шифрозамен для зашифрования отдельного символа или блока символов зависит от особенностей шифра. Одна и та же шифрозамена может использоваться для разных символов или блоков символов исходного алфавита (МI ∩ МJ ≠ Ø для двух разных i-го и j-го символов или блоков символов).

диск Альберти, система Виженера

полиалфавитные

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

комбинированные
(составные)

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

ADFGVX, AES, ГОСТ 34.12-2015

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

потоковые

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

шифр Цезаря, шифры гаммирования, ассиметричные шифры*)

блочные

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

шифры перестановки, DES, AES, ГОСТ 34.12-2015, ассиметричные шифры*)

по стойкости

ограниченного использования

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

шифр Цезаря, шифр вертикальной перестановки, DES-ECB

общего использования

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

 

общего
использования

практически
(вычислительно, достаточно)
стойкие

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

AES, ГОСТ 34.12-2015, RSA

совершенные
(абсолютно стойкие,
теоретически стойкие)

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

шифры гаммирования

 


Дата добавления: 2021-03-18; просмотров: 829; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!