Шифрование метод защиты информации


Содержание

Введение

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

Точки над i наконец расставили в законе Российской Федерации №152-ФЗ от 27 июля 2006 года. И теперь мы знаем, что персональные данные это любая информация, относящаяся к определенному или определяемому на основании такой информации физическому лицу (субъекту персональных данных), в том числе его фамилия, имя, отчество, год, месяц, дата и место рождения, адрес, семейное, социальное, имущественное положение, образование, профессия, доходы, другая информация.

Но закон накладывает определенные обязательства на операторов персональных данных — те компании и организации, которые оперируют такими данными. Согласно закону, с 1 января 2010 года все операторы персональных данных должны обеспечить защиту персональных данных в соответствии с требованиями закона 152-ФЗ. А «лица, виновные в нарушении требований настоящего Федерального закона, несут гражданскую, уголовную, административную, дисциплинарную и иную предусмотренную законодательством Российской Федерации ответственность».

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

Криптология

Шифрование — метод защиты информации

Испокон веков не было ценности большей, чем информация. ХХ век — век информатики и информатизации. Технология дает возможность передавать и хранить все большие объемы информации. Это благо имеет и оборотную сторону. Информация становится все более уязвимой по разным причинам:

· возрастающие объемы хранимых и передаваемых данных;

· расширение круга пользователей, имеющих доступ к ресурсам ЭВМ, программам и данным;

· усложнение режимов эксплуатации вычислительных систем.

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

Защита информации — совокупность мероприятий, методов и средств, обеспечивающих:

· исключение НСД к ресурсам ЭВМ, программам и данным;

· проверку целостности информации;

· исключение несанкционированного использования программ (защита программ от копирования).

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

Испытанный метод защиты информации от НСД — шифрование (криптография). Шифрованием (encryption) называют процесс преобразования открытых данных (plaintext) в зашифрованные (шифртекст, ciphertext) или зашифрованных данных в открытые по определенным правилам с применением ключей. В англоязычной литературе зашифрование/расшифрование — enciphering/deciphering.

С помощью криптографических методов возможно:

· реализация электронной подписи;

· распределение ключей шифрования;

· защита от случайного или умышленного изменения информации.

К алгоритмам шифрования предъявляются определенные требования:

· высокий уровень защиты данных против дешифрования и возможной модификации;

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

· малое изменение исходного текста или ключа должно приводить к значительному изменению шифрованного текста (эффект «обвала»);

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

· экономичность реализации алгоритма при достаточном быстродействии;

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

Шифрование — метод защиты информации Испокон

Криптография и шифрование.ppt

Шифрование — метод защиты информации

Испокон веков не было ценности большей, чем информация. ХХ век — век информатики и информатизации. Технология дает возможность передавать и хранить все большие объемы информации. Это благо имеет и оборотную сторону. Информация становится все более уязвимой по разным причинам: § возрастающие объемы хранимых и передаваемых данных; § расширение круга пользователей, имеющих доступ к ресурсам ЭВМ, программам и данным; § усложнение режимов эксплуатации вычислительных систем. Поэтому все большую важность приобретает проблема защиты информации от несанкционированного доступа (НСД) при передаче и хранении. Сущность этой проблемы — постоянная борьба специалистов по защите информации со своими «оппонентами».

Характеристики составных алгоритмов шифрования Название алгоритма Размер ключа, бит Размер блока, бит Размер вектора инициализации, бит Lucipher 128 DES 56 64 64 FEAL-1 64 64 4 B-Crypt 56 64 64 IDEA 128 64 ГОСТ 28147 -89 256 64 Количество циклов шифрования 64 16 32

Защита информации — совокупность мероприятий, методов и средств, обеспечивающих: § исключение НСД к ресурсам ЭВМ, программам и данным; § проверку целостности информации; § исключение несанкционированного использования программ (защита программ от копирования).

§ Очевидная тенденция к переходу на цифровые методы передачи и хранения информации позволяет применять унифицированные методы и алгоритмы для защиты дискретной (текст, факс, телекс) и непрерывной (речь) информации. Испытанный метод защиты информации от НСД — шифрование (криптография). Шифрованием (encryption) называют процесс преобразования открытых данных (plaintext) в зашифрованные (шифртекст, ciphertext) или зашифрованных данных в открытые по определенным правилам с применением ключей. В англоязычной литературе зашифрование/расшифрование — enciphering/deciphering.

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

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

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

Классификация алгоритмов шифрования § 1. Симметричные (с секретным, единым ключом, одноключевые, single-key). 1. 1. Потоковые (шифрование потока данных): с одноразовым или бесконечным ключом (infinite-key cipher); с конечным ключом (система Вернама — Vernam); на основе генератора псевдослучайных чисел (ПСЧ). 1. 2. Блочные (шифрование данных поблочно): 1. 2. 1. Шифры перестановки (P-блоки); 1. 2. 2. Шифры замены ( S-блоки): моноалфавитные (код Цезаря); полиалфавитные (шифр Видженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma); 1. 2. 3. составные :

Lucipher (фирма IBM, США); DES (Data Encryption Standard, США); FEAL-1 (Fast Enciphering Algoritm, Япония); IDEA/IPES (International Data Encryption Algorithm/ Improved Proposed Encryption Standard, фирма Ascom. Tech AG, Швейцария); B-Crypt (фирма British Telecom, Великобритания); ГОСТ 28147 -89 (СССР); * Skipjack (США). § 2. Асимметричные (с открытым ключом, public-key): Диффи-Хеллман DH (Diffie, Hellman); Райвест-Шамир-Адлeман RSA (Rivest, Shamir, Adleman); Эль-Гамаль El. Gamal. § Кроме того, есть разделение алгоритмов шифрования на собственно шифры (ciphers) и коды (codes). Шифры работают с отдельными битами, буквами, символами. Коды оперируют лингвистическими элементами (слоги, слова, фразы).

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

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

Блочные шифры При блочном шифровании информация разбивается на блоки фиксированной длины и шифруется поблочно. Блочные шифры бывают двух основных видов: § шифры перестановки (P-блоки); § шифры замены (S-блоки). Шифры перестановок переставляют элементы открытых данных (биты, буквы, символы) в некотором новом порядке. Различают шифры горизонтальной, вертикальной, двойной перестановки, решетки, лабиринты, лозунговые и др. Шифры заменяют элементы открытых данных на другие элементы по определенному правилу. Paзличают шифры простой, сложной, парной замены, буквенно-слоговое шифрование и шифры колонной замены. Шифры замены делятся на две группы: § § моноалфавитные (код Цезаря) ; полиалфавитные (шифр Видженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma). § В моноалфавитных шифрах замены буква исходного текста заменяется на другую, заранее определенную букву. Например в коде Цезаря буква заменяется на букву, отстоящую от нее в латинском алфавите на некоторое число позиций. Очевидно, что такой шифр взламывается совсем просто. Нужно подсчитать, как часто встречаются буквы в зашифрованном тексте, и сопоставить результат с известной для каждого языка частотой встречаемости букв. § В полиалфавитных подстановках для замены некоторого символа исходного сообщения в каждом случае его появления последовательно используются различные символы из некоторого набора. Понятно, что этот набор не бесконечен, через какое-то количество символов его нужно использовать снова. В этом слабость чисто полиалфавитных шифров. § В современных криптографических системах, как правило, используют оба способа шифрования (замены и перестановки). Такой шифратор называют составным ( product cipher). Oн более стойкий, чем шифратор, использующий только замены или перестановки.

§ Блочное шифрование можно осуществлять двояко : § 1. Без обратной связи (ОС). Несколько битов (блок) исходного текста шифруются одновременно, и каждый бит исходного текста влияет на каждый бит шифртекста. Однако взаимного влияния блоков нет, то есть два одинаковых блока исходного текста будут представлены одинаковым шифртекстом. Поэтому подобные алгоритмы можно использовать только для шифрования случайной последовательности битов § 2. С обратной связью. Обычно ОС организуется так: предыдущий шифрованный блок складывается по модулю 2 с текущим блоком. В качестве первого блока в цепи ОС используется инициализирующее значение. Ошибка в одном бите влияет на два блока — ошибочный и следующий за ним. Генератор ПСЧ может применяться и при блочном шифровании : 1. Поблочное шифрование потока данных. Шифрование последовательных блоков (подстановки и перестановки) зависит от генератора ПСЧ, управляемого ключом. 2. Поблочное шифрование потока данных с ОС. Генератор ПСЧ управляется шифрованным или исходным текстом или обоими вместе. Весьма распространен федеральный стандарт США DES (Data Encryption Standard) , на котором основан международный стандарт ISO 8372 -87. DES был поддержан Американским национальным институтом стандартов (American National Standards Institute, ANSI) и рекомендован для применения Американской ассоциацией банков (American Bankers Association, ABA). DES предусматривает 4 режима работы: § ECB (Electronic Codebook) электронный шифрблокнот; § CBC (Cipher Block Chaining) цепочка блоков; § CFB (Cipher Feedback) обратная связь по шифртексту; § OFB (Output Feedback) обратная связь по выходу.

§ ГОСТ 28147 -89 — отечественный стандарт на шифрование данных. Стандарт включает три алгоритма зашифровывания (расшифровывания) данных: режим простой замены, режим гаммирования с обратной связью — и режим выработки имитовставки. § С помощью имитовставки можно зафиксировать случайную или умышленную модификацию зашифрованной информации. Вырабатывать имитовставку можно или перед зашифровыванием (после расшифровывания) всего сообщения, или одновременно с зашифровыванием (расшифровыванием) по блокам. При этом блок информации шифруется первыми шестнадцатью циклами в режиме простой замены, затем складывается по модулю 2 со вторым блоком, результат суммирования вновь шифруется первыми шестнадцатью циклами и т. д. § Алгоритмы шифрования ГОСТ 28147 -89 обладают достоинствами других алгоритмов для симметричных систем и превосходят их своими возможностями. Так, ГОСТ 28147 -89 (256 -битовый ключ, 32 цикла шифрования) по сравнению с такими алгоритмами, как DES (56 -битовый ключ, 16 циклов шифрования) и FEAL-1 (64 -битовый ключ, 4 цикла шифрования) обладает более высокой криптостойкостью за счет более длинного ключа и большего числа циклов шифрования. § Достоинствами ГОСТ 28147 -89 являются также наличие защиты от навязывания ложных данных (выработка имитовставки) и одинаковый цикл шифрования во всех четырех алгоритмах ГОСТа.

Аcимметричные алгоритмы шифрования § В асимметричных алгоритмах шифрования (или криптографии с открытым ключом) для зашифровывания информации используют один ключ (открытый), а для расшифровывания — другой (секретный). Эти ключи различны и не могут быть получены один из другого. § § Схема обмена информацией такова: получатель вычисляет открытый и секретный ключи, секретный ключ хранит в тайне, открытый же делает доступным (сообщает отправителю, группе пользователей сети, публикует); отправитель, используя открытый ключ получателя, зашифровывает сообщение, которое пересылается получателю; получатель получает сообщение и расшифровывает его, используя свой секретный ключ. RSA [4, 5] Защищен патентом США N 4405829. Разработан в 1977 году в Массачусетском технологическом институте (США). Получил название по первым буквам фамилий авторов (Rivest, Shamir, Adleman). Криптостойкость основана на вычислительной сложности задачи разложения большого числа на простые множители. El. Gamal Разработан в 1985 году. Назван по фамилии автора — Эль-Гамаль. Используется в стандарте США на цифровую подпись DSS (Digital Signature Standard). Криптостойкость основана на вычислительной сложности задачи логарифмирования целых чисел в конечных полях § § §

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

Литература § 1. Водолазский В. Коммерческие системы шифрования: основные алгоритмы и их реализация. Часть 1. // Монитор. — 1992. — N 6 -7. — c. 14 — 19. § 2. Игнатенко Ю. И. Как сделать так, чтобы? . . // Мир ПК. — 1994. — N 8. — c. 52 — 54. § 3. Ковалевский В. , Максимов В. Криптографические методы. // Компьютер. Пресс. — 1993. — N 5. — c. 31 — 34. § 4. Мафтик С. Механизмы защиты в сетях ЭВМ. — М. : Мир, 1993. § 5. Спесивцев А. В. , Вегнер В. А. , Крутяков А. Ю. и др. Защита информации в персональных ЭВМ. — M. : Радио и связь, 1992. § 6. Сяо Д. , Керр Д. , Мэдник С. Защита ЭВМ. — М. : Мир, 1982. § 7. Шмелева А. Грим — что это ? // Hard’н’Soft. — 1994. — N 5. § 8. ГОСТ 28147 -89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования.

Реферат: Криптографические методы защиты информации

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Муниципальное образовательное учреждение

«Средняя образовательная школа № 4

с углубленным изучением отдельных предметов»

МО «Город Полевской»

РЕФЕРАТ

на тему: “ Криптографические методы защиты

ученик 9 физико-математического Климов И.С.

2.2 Основные понятия и определения криптографии …………. 6

2.3 Симметричные и асимметричные криптосистемы …………. 8

2.4 Основные современные методы шифрования ……………….. 8

3. Алгоритмы шифрования

3.4 Алгоритмы основанные на сложных математических

3.5 Комбинированные методы шифрования ………………………… 16

3.5.1 Криптографический стандарт DES …………………….. 17

4. Программные шифраторы

4.3 Плюсы и минусы программных шифраторов ……………….. 21

5. Аппаратные шифраторы

5.7 Как программы используют шифратор …………………………. 26

5.9 Проблемы применения аппаратных шифраторов ……….. 28

1. Введение

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

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

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

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

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

2. Криптография и шифрование

2.1 Что такое шифрование

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

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

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

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

Один из самых известных методов шифрования носит имя Цезаря, который если и не сам его изобрел, то активно им пользовался. Не доверяя своим посыльным, он шифровал письма элементарной заменой А на D, В на Е и так далее по всему латинскому алфавиту. При таком кодировании комбинация XYZ была бы записана как АВС, а слово «ключ» превратилось бы в неудобоваримое «нобъ»(прямой код N+3).

Спустя 500 лет шифрование стало повсеместно использоваться при оставлении текстов религиозного содержания, молитв и важных государственных документов.

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

Большинство из нас постоянно используют шифрование, хотя и не всегда знают об этом. Если у вас установлена операционная система Microsoft, то знайте, что Windows хранит о вас (как минимум) следующую секретную информацию:

• пароли для доступа к сетевым ресурсам (домен, принтер, компьютеры в сети и т.п.);

• пароли для доступа в Интернет с помощью DialUр;

• кэш паролей (в браузере есть такая функция — кэшировать пароли, и Windows сохраняет все когда-либо вводимые вами в Интернете пароли);

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

Эти данные хранятся либо в рwl-файле (в Windows 95), либо в SAM-файле (в WindowsNT/2000/XР). Это файл Реестра Windows, и потому операционная система никому не даст к нему доступа даже на чтение. Злоумышленник может скопировать такие файлы, только загрузившись в другую ОС или с дискеты. Утилит для их взлома достаточно много, самые современные из них способны подобрать ключ за несколько часов.

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

Итак, криптография дает возможность преобразовать информацию таким образом, что ее прочтение (восстановление) возможно только при знании ключа.

Перечислю вначале некоторые основные понятия и определения.

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

Текст — упорядоченный набор из элементов алфавита.

В качестве примеров алфавитов, используемых в современных ИС можно привести следующие:

  • алфавит Z33 — 32 буквы русского алфавита и пробел;
  • алфавит Z256 — символы, входящие в стандартные коды ASCII и КОИ-8;
  • бинарный алфавит — Z2 = <0,1>;
  • восьмеричный алфавит или шестнадцатеричный алфавит;

Шифрование — преобразовательный процесс: исходный текст, который носит также название открытого текста, заменяется шифрованным текстом.

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

Ключ — информация, необходимая для беспрепятственного шифрования и дешифрования текстов.

Криптографическая система представляет собой семейство T преобразований открытого текста. xлены этого семейства индексируются, или обозначаются символом k; параметр k является ключом. Пространство ключей K — это набор возможных значений ключа. Обычно ключ представляет собой последовательный ряд букв алфавита.

Криптосистемы разделяются на симметричные и с открытым ключом ( или асимметричесские) .

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

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

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

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

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

  • количество всех возможных ключей;
  • среднее время, необходимое для криптоанализа.

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

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

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

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

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

· должно быть не меньше общего числа возможных ключей;

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

· знание алгоритма шифрования не должно влиять на надежность защиты;

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

· структурные элементы алгоритма шифрования должны быть неизменными;

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

· длина шифрованного текста должна быть равной длине исходного текста;

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

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

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

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

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

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

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

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

2.4 Основные современные методы шифрования

Среди разнообразнейших способов шифровании можно выделить следующие основные методы:

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

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

• Алгоритмы гаммирования — символы исходного текста складываются с символами некой случайной последовательности. Самым распространенным примером считается шифрование файлов «имя пользователя.рwl», в которых операционная система Microsoft Windows 95 хранит пароли к сетевым ресурсам данного пользователя (пароли на вход в NT-серверы, пароли для DialUр-доступа в Интернет и т.д.). Когда пользователь вводит свой пароль при входе в Windows 95, из него по алгоритму шифрования RC4 генерируется гамма (всегда одна и та же), применяемая для шифрования сетевых паролей. Простота подбора пароля обусловливается в данном случае тем, что Windows всегда предпочитает одну и ту же гамму.

• Алгоритмы, основанные на сложных математических преобразованиях исходного текста по некоторой формуле. Многие из них используют нерешенные математические задачи. Например, широко используемый в Интернете алгоритм шифрования RSA основан на свойствах простых чисел.

• Комбинированные методы. Последовательное шифрование исходного текста с помощью двух и более методов.

3. Алгоритмы шифрования

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

3.1 Алгоритмы замены(подстановки)

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

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

Название: Криптографические методы защиты информации
Раздел: Рефераты по информатике, программированию
Тип: реферат Добавлен 01:05:07 18 мая 2005 Похожие работы
Просмотров: 10218 Комментариев: 19 Оценило: 9 человек Средний балл: 4.4 Оценка: 4 Скачать
Исходные символы шифруе-мого текста a b c d e f g h i j k l m n o р q r s t u v w x y z
Заменяющие символы s р x l r z i m a y e d w t b g v n j o c f h q u k

Таблица 3.1.1 Таблица простой замены

Используя эту таблицу, зашифруемтекст: In this book the reader will find a comрrehensive survey. Получим следующее зашифрованное сообщение: At omiy рbbe omr nrsirn fadd zail s xbwgnrmrtjafr jcnfru. Однако такой шифр имеет низкую стойкость, так как зашифрованный текст имеет те же статистические характеристики, что и исходный. Например, текст на английском языке содержит символы со следующими частотами появления (в порядке убывания): Е — 0,13 , Т — 0,105 , А — 0,081 , О — 0,079 и т.д. В зашифрованном тексте наибольшие частоты появления в порядке убывания имеют буквы R — 0,12 , O — 0,09 , A и N по 0,07.

Естественно предположить, что символом R зашифрована буква Е, символом О — буква Т и т.д. Это действительно соответствует таблице замены. Дальнейшая расшифровка не составляет труда.

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

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

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

Схема шифрования Вижинера. Таблица Вижинера представляет собой квадратную матрицу с n 2 элементами, где n — число символов используемого алфавита. На Рис.3.1.2 показана верхняя часть таблицы Вижинера для кириллицы. Каждая строка получена циклическим сдвигом алфавита на символ. Для шифрования выбирается буквенный ключ, в соответствии с которым формируется рабочая матрица шифрования.

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

Рис. 3.1.2 Таблица Вижинера

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

Осуществляется это следующим образом. Из полной таблицы выбирается первая строка и те строки, первые буквы которых соответствуют буквам ключа. Первой размещается первая строка, а под нею — строки, соответствующие буквам ключа в порядке следования этих букв в ключе шифрования. Пример такой рабочей матрицы для ключа «книга» приведен на Рис. 3.1.3 .

Процесс шифрования осуществляется следующим образом:

Рис. 3.1.3 Рабочая матрица шифрования для ключа «книга».

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

этом повторяется необходимое число раз.

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

3. полученный текст может разбиваться на группы по несколько знаков.

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

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

книгакнигак нигакнигак нигак нигакниг акнигак ниг ак нигак

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

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

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

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

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

3. полученный текст группируется в слова по смыслу.

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

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

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

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

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

· В качестве ключа используется случайность последовательных чисел. Из таблицы Вижинера выбираются десять произвольных строк, которые кодируются натуральными числами от 0 до 10. Эти строки используются в соответствии с чередованием цифр в выбранном ключе.

Известны также и многие другие модификации метода.

3.2 Алгоритм перестановки

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

Самая простая перестановка — написать исходный текст задом наперед и одновременно разбить шифрограмму на пятерки букв. Например, из фразы

ПУСТЬ БУДЕТ ТАК, КАК МЫ ХОТЕЛИ.

получится такой шифротекст:

ИЛЕТО ХЫМКА ККАТТ ЕДУБЪ ТСУП

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


Тогда шифрограмма, несмотря на столь незначительные изменения, будет выглядеть по-другому:

ОИЛЕТ ОХЫМК АККАТ ТЕДУБ ЬТСУП

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

Во время Гражданской войны в США в ходу был такой шифр: исходную фразу писали в несколько строк. Например, по пятнадцать букв в каждой (с заполнением последней строки незначащими буквами).

П У С Т Ь Б У Д Е Т Т А К К А

К М Ы Х О Т Е Л И К Л М Н О П

После этого вертикальные столбцы по порядку писали в строку с разбивкой на пятерки букв:

ПКУМС ЫТХЬО БТУЕД ЛЕИТК ТЛАМК НКОАП

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

3.3 Алгоритм гаммирования

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

где Ri , Si , G — символы соответственно зашифрованного, исходного текста и гаммы.

Рис. 3.3.1 Пример шифрования гаммированием

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

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

Шифруемый текст Б У Д Ь …
010010 100000 110010 100000
Знаки гаммы 7 1 8 2 …
000111 000001 001000 000010
Шифрованный текст 010101 1000001 111010 100010

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

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

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

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

3.4 Алгоритмы, основанные на сложных математических преобразованиях

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

Для начала выберем два очень больших простых числа (большие исходные числа нужны для построения больших криптостойких ключей. Например, Unix-программа ssh-keygen по умолчанию генерирует ключи длиной 1024 бита).Определим параметр n как результат перемножения р и q. Выберем большое случайное число и назовем его d, причем оно должно быть взаимно простым с результатом умножения (р -1)*(q -1). Отыщем такое число e, для которого верно соотношение

(e*d) mod ((р -1) *(q -1)) = 1

(mod — остаток от деления, т. е. если e, умноженное на d, поделить на ((р -1) *(q -1)), то в остатке получим 1).

Открытым ключом является пара чисел e и n, а закрытым — d и n. При шифровании исходный текст рассматривается как числовой ряд, и над каждым его числом мы совершаем операцию

C(i)= ( M(i) e ) mod n.

В результате получается последовательность C(i), которая и составит криптотекст. Декодирование информации происходит по формуле

M(i) = ( C(i) d ) mod n.

Как видите, расшифровка предполагает знание секретного ключа.

Давайте попробуем на маленьких числах. Установим р=3, q=7. Тогда n=р*q=21. Выбираем d как 5. Из формулы (e*5) mod 12=1 вычисляем e=17. Открытый ключ 17, 21, секретный — 5, 21.

Зашифруем последовательность «2345»:

C(2)= 2 17 mod 21 =11

C(3)= 3 17 mod 21= 12

C(4)= 4 17 mod 21= 16

C(5)= 5 17 mod 21= 17

Криптотекст — 11 12 16 17.

M(2)= 11 5 mod 21= 2

M(3)= 12 5 mod 21= 3

M(4)= 16 5 mod 21= 4

M(5)= 17 5 mod 21= 5

Как видим, результат совпал.

Криптосистема RSA широко применяется в Интернете. Когда вы подсоединяетесь к защищенному серверу по протоколу SSL, устанавливаете на свой ПК сертификат WebMoney либо подключаетесь к удаленному серверу с помощью Oрen SSH или SecureShell, то все эти программы применяют шифрование открытым ключом с использованием идей алгоритма RSA. Действительно ли эта система так надежна?

С момента своего создания RSA постоянно подвергалась атакам типа Brute-forceattack (атака методом грубой силы, т. е. перебором). В 1978 г. авторы алгоритма опубликовали статью, где привели строку, зашифрованную только что изобретенным ими методом. Первому, кто расшифрует сообщение, было назначено вознаграждение в размере 100 долл., но для этого требовалось разложить на два сомножителя 129-значное число. Это был первый конкурс на взлом RSA. Задачу решили только через 17 лет после публикации статьи.

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

Компания RSA (httр://www.rsa.ru ) регулярно проводит конкурсы на взлом собственных (и не только собственных) шифров. Предыдущие конкурсы выиграла организация Distributed.net (htt р:// www . distributed . net /), являющаяся Интернет-сообществом добровольцев.

Участники Distributed.net загружают к себе на ПК небольшую программу-клиент, которая подсоединяется к центральному серверу и получает кусочек данных для вычислений. Затем все данные загружаются на центральный сервер, и клиент получает следующий блок исходной информации. И так происходит до тех пор, пока все комбинации не будут перебраны. Пользователи, участники системы, объединяются в команды, а на сайте ведется рейтинг как команд, так и стран. Например, участвующей в конкурсе по взлому RC5-64 (блочный шифр компании RSA, использующий ключ длиной 64 бита) организации Distributed.net удалось осуществить взлом через пять лет (1757 дней) работы. За это время в проекте участвовали 327 856 пользователей и было перебрано 15 268 315 356 922 380 288 вариантов ключа. Выяснилось, что была (не без юмора) зашифрована фраза «some thingsarebetterleftunread» («некоторые вещи лучше оставлять непрочтенными»). Общие рекомендации по шифру RC5-64 таковы: алгоритм достаточно стоек для повседневных нужд, но шифровать им данные, остающиеся секретными на протяжении более пяти лет, не рекомендуется».

3.5 Комбинированные методы шифрования

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

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

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

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

1) подстановка + гаммирование;

2) перестановка + гаммирование;

3) гаммирование + гаммирование;

4) паодстановка + перестановка;

Типичным примером комбинированного шифра является национальный стандарт США криптографического закрытия данных (DES).

3.5.1 Криптографический стандарт DES

В 1973 г. Национальное бюро стандартов США начало разработку программы по созданию стандарта шифрования данных на ЭВМ. Был объявлен конкурс среди фирм разработчиков США, который выиграла фирма IBM, представившая в 1974 году алгоритм шифрования, известный под названием DES(DataEncryptionStandart).

В этом алгоритме входные 64-битовые векторы, называемые блоками открытого текста, Преобразуются в выходные 64-битовые векторы, называемые блоками шифротекста, с помощью двоичного 56-битового ключа К. Число различных ключей DES-алгоритма равно 2 56 >7*10 16 .

Алгоритм реализуется в течение 16 аналогичных циклов шифрования, где на I-ом цикле используется цикловой ключ Ki , представляющий собой алгоритмически вырабатываемую выборку 48 битов из 56 битов ключа Ki , I=1,2,…,16.

Алгоритм обеспечивает высокую стойкость, однако недавние результаты показали, что современная технология позволяет создать вычислительное устройство стоимостью около 1 млн. долларов США, способное вскрыть секретный ключ с помощью полного перебора в среднем за 3,5 часа.

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

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

Достигнута высокая скорость шифрования. Она составляет в лучших изделиях 45 Мбит/с. Цена некоторых аппаратных изделий ниже 100 долларов США.

Основные области применения DES-алгоритма:

1) хранение данных на компьютерах (шифрование файлов, паролей);

2) аутентификация сообщений (имея сообщение и контрольную группу, несложно убедиться в подлинности сообщения;

3) электронная система платежей (при операциях с широкой клиентурой и между банками);

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

Позднее появилась модификация DESa — TripleDes («тройной DES» — так как трижды шифрует информацию «обычным» DESом) свободен от основного недостатка прежнего варианта — короткого ключа; он здесь в два раза длиннее. Но зато, как оказалось, TripleDES унаследовал другие слабые стороны своего предшественника: отсутствие возможности для параллельных вычислений при шифровании и низкую скорость.

В 1989 году в СССР был разработан блочный шифр для использования в качестве государственного стандарта шифрования данных. Разработка была принята и зарегистрирована как ГОСТ 28147-89. Алгоритм был введен в действие в 1990 году. И хотя масштабы применения этого алгоритма шифрования до сих пор уточняются, начало его внедрения, в частности в банковской системе , уже положено. Алгоритм несколько медлителен, но обладает весьма высокой стойкостью.

В общих чертах ГОСТ 28147 аналогичен DES. Блок-схема алгоритма ГОСТ отличается от блок-схемы DES-алгоритма лишь отсутствием начальной перестановки и число циклов шифрования (32 в ГОСТ против 16 в DES-алгоритме).

Ключ алгоритма ГОСТ — это массив, состоящий из 32-мерных векторов X1 , X2 ,…X8 . Цикловой ключ i-го цикла Ki равен Xs, где ряду значений i от 1 до 32 соответствует следующий ряд значений s:

В шифре ГОСТ используется 256-битовый ключ и объем ключевого пространства составляет 2 256 . Ни на одной из существующих в настоящее время или предполагаемых к реализации в недалеком будущем компьютерной системе общего применения нельзя подобрать ключ за время, меньшее многих сотен лет. Российский стандарт проектировался с большим запасом, по стойкости он на много порядков превосходит американский стандарт DES с его реальным размером ключа в 56 бит о и объемом ключевого пространства всего 2 56 ( и неудивительно: его ключ длиной 32 байта (256 бит) вчетверо больше ключа DES. Необходимое же на перебор всех ключей время при этом возрастает не в четыре раза, а в 256 32-8 =256 24 , что выливается уже в астрономические цифры), чего явно недостаточно. В этой связи DES может представлять скорее исследовательский или научный, чем практический интерес.

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

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

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

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

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

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

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

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

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

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

4. Программные шифраторы

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

4.1 РGР 6.5.3 (www.рgрi.com, www.рgр.com), freeware

РGР (РrettyGood Рrivacy) — пожалуй , самый известный и самый надежный шифровальщик. Автор программы , Рhiliр Zimmermann, практически всю свою жизнь посвятил шифрованию данных. Эта программа представляет целый ряд весьма мощных утилит. В папке Автозагрузка появляется Р G Р tray , который загружает РGР и отвечает за управление остальными элементами программы. Первым делом после установки программы необходимо зайти в Р G Р keys и создать пару ключей — публичный и приватный. Ключи можно создавать по алгоритмам DSS и RSA , причем первый предпочтительнее. Длина ключа может находиться в пределах 1024-4096 бит. При создании ключей вам предстоит ввести строку символов, которой вы будете пользоваться в дальнейшем при расшифровке данных. Специалисты рекомендуют вводить строку из 100-200 символов, но учтите, что программа не работает с буфером обмена, так что эту последовательность вам предстоит вводить вручную каждый раз, когда вы будете расшифровывать какой-либо файл. Если вы забудете эту строку или испортите свой приватный ключ, то все, что было зашифровано предыдущим ключом, будет безвозвратно утеряно. Работает это все следующим образом: вы обмениваетесь публичными ключами со своими друзьями, поле чего можно переписываться по e-mail. Имея ваш публичный ключ, получатель сможет открыть письмо, но уже своим приватным кодом. При создании закодированного файла необходимо указать тех, кто сможет открыть этот файл. В появившееся окошко необходимо внести свой ключ, а так же ключи тех, кто также должен иметь доступ к шифруемой информации. Из программы Р G Р tools можно зашифровывать (шифрование осуществляется при помощи алгоритмов CAST, IDEA, и TriрeDES), подписывать, расшифровывать файлы, вызывать Р G Р keys и Wi р e . Утилита Wi р e выполняет удаление файлов без возможности восстановления.

4.2 BestCryрt 6.04(httр://www.jetico.com) , freeware

Данная программа финской фирмы Jetico обеспечивает безопасность данных при помощи создания виртуальных контейнеров. Под контейнерами понимается зашифрованный файл, хранящийся на логическом диске, который подключается к системе как еще один логический диск. При работе с программой первым делом придется создать контейнер. Для этого требуется указать имя файла, в котором будет содержаться информация, его размер, описание и логический диск, на котором он будет располагаться, а также алгоритм шифрования. Программа предоставляет на выбор четыре алгоритма: BLOWFISH, DES, ГОСТ 28147-89, TWOFISH. Все ключи, кроме DES, имеют длину 256 бит, длина ключа DES — 64 бита. Сегодня этого уже откровенно недостаточно для обеспечения по-настоящему высокого уровня конфиденциальности. Эти ключи могут остановить хакера, но если кому-то действительно понадобиться получить доступ к вашей информации , то он его получит. Для открытия диска можно установить режим «только для чтения», что запретит любой программе записывать на него информацию. Как обычно, можно попросить программу подключить диск каждый раз при загрузке и отключать по истечении какого-то времени или по комбинации горячих клавиш. При этом виртуальный диск может обслуживаться программами NortonUtilites и Nuts & Bolts как обычный логический диск. Вместе с программой BestCryрt устанавливается freeware утилита BCWi р e . Она предназначена для того, чтобы после удаления каких-либо файлов с жесткого диска их невозможно было восстановить.

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

4.3 Плюсы и минусы программных шифраторов.

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

Еще одно обстоятельство, явно не в пользу программных средств,— это их существенно меньшее быстродействие. Например, при аппаратной реализации национального стандарта (ГОСТа) время на обработку одного блока составляет примерно 5 мкс, при программной реализации, в среднем, 50-100 мкс. Поэтому при больших объемах защищаемой информации аппаратные методы представляются более предпочтительными. Программные методы, кроме того, могут быть реализованы только при наличии в составе компьютера мощного процессора, тогда как шифрующие аппараты с помощью стандартных интерфейсов могут подключаться практически к любым системам.

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

5. Аппаратные шифраторы

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

5.1 Что такое аппаратный шифратор

Аппаратный шифратор по виду и по сути представляет собой обычное компьютерное «железо», чаще всего это плата расширения, вставляемая в разъем ISA или РCI системной платы ПК. Бывают и другие варианты, например в виде USB-ключа с криптографическими функциями, но мы здесь рассмотрим классический вариант – шифратор для шины РCI.

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

    Генерация случайных чисел. Это нужно прежде всего для получения криптографических ключей. Кроме того, многие алгоритмы защиты используют их и для других целей, например алгоритм электронной подписи ГОСТ Р 34.10 – 2001. При каждом вычислении подписи ему необходимо новое случайное число.
    Контроль входа на компьютер. При включении ПК устройство требует от пользователя ввести персональную информацию (например, вставить дискету с ключами). Работа будет разрешена только после того, как устройство опознает предъявленные ключи и сочтет их «своими» . В противном случае придется разбирать системный блок и вынимать оттуда шифратор, чтобы загрузиться (однако, как известно, информация на ПК тоже может быть зашифрована).
    Контроль целостности файлов операционной системы. Это не позволит злоумышленнику в ваше отсутствие изменить какие-либо данные. Шифратор хранит в себе список всех важных файлов с заранее рассчитанными для каждого контрольными суммами (или хэш — значениями), и если при следующей загрузке не совпадет эталонная сумма хотя бы с одним из них, компьютер будет блокирован.

Плата со всеми перечисленными возможностями называется устройством криптографической защиты данных – УКЗД.

Шифратор, выполняющий контроль входа на ПК и проверяющий целостность операционной системы, называется также «электронным замком». Ясно, что аналогия неполная – обычные замки существенно уступают этим интеллектуальным устройствам. Понятно, что последним не обойтись без программного обеспечения – необходима утилита, с помощью которой формируются ключи для пользователей и ведется их список для распознавания «свой/чужой». Кроме того, требуется приложение для выбора важных файлов и расчета их контрольных сумм. Эти программы обычно доступны только администратору по безопасности, который должен предварительно настроить все УКЗД для пользователей, а в случае возникновения проблем разбираться в их причинах.

Вообще, поставив на свой компьютер УКЗД , вы будете приятно удивлены уже при следующей загрузке : устройство проявится через несколько секунд после включения, как минимум сообщив о себе и попросив ключи. Шифратор всегда перехватывает управление при загрузке ПК (когда BIOS компьютера поочередно опрашивает все вставленное в него «железо»), после чего не так-то легко получить его обратно. УКЗД позволит продолжить загрузку только после всех своих проверок. Кстати, если ПК по какой-либо причине не отдаст управление шифратору, тот, немного подождав, все равно его заблокирует. И это также прибавит работы администратору по безопасности.

5.2 Структура шифраторов

Рассмотрим теперь, из чего должно состоять УКЗД, чтобы выполнять эти непростые функции :

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

2. Контроллер системной шины ПК ( например, РCI). Через него осуществляется основной обмен данными между УКЗД и компьютером.

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

4. Память журнала. Тоже представляет собой энергонезависимое ЗУ; это действительно еще одна флэш-микросхема: во избежание возможных коллизий память для программ и для журнала не должны объединяться.

5. Шифропроцессор (или несколько) – это специализированная микросхема или микросхема программируемой логики РLD – РrogrammableLogicDevice. Собственно, он и шифрует данные. Подробнее об этом немного позже.

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

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

8. Блок коммутаторов. Помимо перечисленных выше основных функций, УКЗД может по велению администратора безопасности отключать возможность работы со внешними устройствами: дисководами, CD-ROM, параллельными и последовательными портами, шиной USB и т.д. Если пользователь работает с настолько важной информацией, что ее нельзя ни печатать, ни копировать, УКЗД при входе на компьютер заблокирует все внешние устройства, включая даже сетевую карту.

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

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

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

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

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

Возможно применение и нескольких УКЗД на одном компьютере, например на криптографическом маршрутизаторе: один шифрует отправляемую в Интернет информацию, второй принимаемую. Производительность такой системы не вносит задержек в работу локальной сети FastEthernet (100 Мбит/с).

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

где F — тактовая частота,

K – размер стандартного блока шифрования,

n — число тактов, требующееся на преобразование стандартного блока.

Например, отечественный алгоритм ГОСТ 28147-89 имеет быстродействие 32 такта на 8-байтовый блок, а значит, теоретически скорость шифрования должна стремиться к 25 Мбайт/с при тактовой частоте 100 Мгц. Однако скорости аппаратной реализации этого алгоритма — 8-9 Мбайт/с. Ограничения являются чисто технологическими: отсутствие необходимого уровня разработок или элементной базы. Хотелось бы отметить, что программная реализация криптоГОСТа на ПК при тактовой частоте процессора 1 Ггц достигает 12-16 Мбайт/с. Хотя в этом случае аппаратная скорость шифрования теоретически могла бы быть около 250 Мбайт/с.

5.5 Шифраторы для защиты сетей

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

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

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

Кстати, ПШ допускает и другое применение: он может стоять в разрыве между жестким диском компьютера и его контроллером. В этом случае все, что пишется на HDD, будет автоматически шифроваться.

Разработчики аппаратных шифраторов и программного обеспечения для них, полагают, что уже скоро будут созданы УКЗД, осуществляющие управление не только работой дисководов, CD-ROM и портов ввода-вывода, но и всеми ресурсами ПК, т.е. компьютеру останется только передавать данные между процессором и оперативной памятью и обрабатывать их, все остальное сделает само УКЗД. Ясно, что абсолютному большинству пользователей это не потребуется. Но там, где ведется работа с важными и конфиденциальными документами, информация должна быть серьезна защищена.

5.6 Загрузка ключей шифрования

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

Помимо прямого ввода ключей в УКЗД, многие из таких носителей обеспечивают и их надежное хранение – даже украв USB-ключ, без специального кода доступа к его содержимому не подобраться.

5.7 Как программы используют шифратор

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

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

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

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

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

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

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

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

5.8 Аппаратный шифратор «М-506»

Рассмотрим в качестве примера один из отечественных аппаратных шифраторов производства ЗАО НИП «Информзащита» СКЗИ(Система криптографической защиты информации) М-506.

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

СКЗИ М-506 состоит из следующих компонентов

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

· средство защиты информации от несанкционированного доступа (СЗИ) SecretNetNT 4.0. Данным СЗИ оснащаются все рабочие станции, на которых устанавливается также электронный замок «Соболь». Тем самым защищаются ресурсы компьютера и обеспечивается регистрация входа пользователя в систему, предъявления незарегистрированного идентификатора, введения неправильного пароля, превышения числа попыток входа в систему;

· подсистема управления. Этот программный компонент устанавливается на рабочем месте администратора системы и позволяет ему конфигурировать СЗИ Secret Net (а также управлять встроенными возможностями операционной системы), контролировать все события, влияющие на защищенность системы, и реагировать на них в режиме реального времени и в терминах реальной предметной области (сотрудник, задача, подразделение, помещение);

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

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

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

Отметим, что все компоненты СКЗИ М-506 функционируют в замкнутой программной среде, недоступной воздействию вирусов. О высоком качестве данного криптосредства позволяет судить тот факт, что оно сертифицировано ФАПСИ(Федеральное агентство правительственной связи и информации) для защиты информации, содержащей сведения, составляющие государственную тайну.

5.9 Проблемы применения аппаратных шифраторов

Что же мешает широкому применению аппаратных шифраторов — или, выражаясь точнее, обусловливает их меньшую распространенность по сравнению с криптографическим ПО?

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

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

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

6. Советы и рекомендации

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

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

Что можно порекомендовать тем, кто решил установить программный шифратор?

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

Во-вторых , как показала практика, не следует приобретать версии программ, оканчивающиеся на «0»(2.0,3.0,4.0 и т.д.), т.к. именно в них чаще всего встречаются т.н. «дыры», которые может обнаружить кто-либо и использовать в собственных целях, и именно в этих версиях чаще встречаются ошибки, ведущие не только к ухудшению работы программ, но и, иногда , вообще к их неправильной работе(может, например, случиться так, что зашифровав какой-либо файл вы потом расшифруете с ошибками или вообще не расшифруете). Это объясняется тем, что , смена версии программы с 2.2 или 2.6 на 3.0 подразумевает по собой значительные изменения, выражающиеся в добавлении новых или расширении старых функций; а т.к. их вряд ли кто-то тщательно проверял на возможность отказа или взлома ( самую тщательную проверку, как правило, устраивают именно пользователи, подкладывая программе какую-нибудь «свинью», дабы убедиться в надежности программы),то жертвой такой халатности производителя можете стать вы.

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

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

Рекомендовать можно следующее:

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

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

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

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

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

Достойной альтернативой аппаратным СКЗИ на этом новом сегменте рынка могли бы стать аппаратные мини-шифраторы — брелоки для шины USB. Подобные решения уже появились в нашей стране, и как знать — может быть когда-нибудь они вытеснят с рынка ставших уже привычными «большие» СКЗИ.

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

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

    невозможность раскрытия или осмысленной модификации информации на основе анализа ее структуры,


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

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

1. Партыка Т.Л., Попов И.И. Информационная безопасность. Учебное пособие для студентов учреждений среднего профессионального образования.— М.: ФОРУМ: ИНФРА-М, 2004.

2. Крысин А.В. Информационная безопасность. Практическое руководство — М.: СПАРРК, К.:ВЕК+,2003.

3. Тарасюк М.В. Защищенные информационные технологии. Проектирование и применение — М.: СОЛОН-Пресс, 2004.

4. Лукашов И. В. Криптография? Железно! //Журнал «Мир ПК». 2003. № 3.

5. Панасенко С.П., Защита информации в компьютерных сетях // Журнал «Мир ПК» 2002 № 2.

6. Бунин О. Занимательное шифрование // Журнал «Мир ПК» 2003 №7.

7. Панасенко С. П., Ракитин В.В. Аппаратные шифраторы // Журнал «Мир ПК». 2002. № 8.

8. Панасенко С. П. Чтобы понять язык криптографов // Журнал «Мир ПК». 2002. № 5.

9. Панасенко С. П. Чтобы понять язык криптографов // Журнал «Мир ПК». 2002. № 6 .

ПРОГРАММНО-АППАРАТНЫЕ МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ

КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ

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

Как и любая наука, криптография опирается на базовые понятия и определения [1, 5]. Рассмотрим основные из них.

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

Изначально криптография изучала методы шифрования информации — обратимого преобразования открытого (исходного) текста на основе секретного алгоритма и/или ключа в шифрованный текст (шифротекст). Традиционная криптография образует раздел симметричных криптосистем, в которых зашифрование и расшифрование проводится с использованием одного и того же секретного ключа. Помимо этого раздела современная криптография включает в себя асимметричные криптосистемы, системы электронной цифровой подписи (ЭЦП), хеш-функции, управление ключами, получение скрытой информации, квантовую криптографию 11,251.

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

Шифр (от арабского зт/г «ноль», откуда французское сИ$ге «цифра»; родственно слову «цифра») — это совокупность условных знаков (условная азбука из цифр или букв) для секретной переписки дипломатических представителей со своими правительствами, а также в вооруженных силах для передачи текста секретных документов по техническим средствам связи.

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

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

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

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

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

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

Асимметричный шифр — это шифр, который для шифрования и дешифрования использует два различных ключа. К асимметричным шифрам относятся следующие известные шифры: RSA, Эль-Гамаля (Elgamcil), Elliptic сите cryptography (ЕСС) — криптосистема на основе эллиптических кривых [28, 29].

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

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

В блочных шифрах результат зашифрования очередного блока зависит только от него самого и не зависит от других блоков шифруемого массива данных [25, 28, 291:

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

К блочным шифрам относятся следующие известные шифры: ГОСТ 28147—89, Advanced Encryption Standard (AES), также известный как Rijndael, DES, DESX, Triple DES, CAST-128, CAST-256, Blowfish, Twofish, IDEA, MARS, RC2, RC5, RC6, Serpent, Safer+, TEA, 3-WAY, WAKE, FROG, Skipjack.

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

К поточным шифрам относятся следующие известные шифры: ЯС4, А5.

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

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

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

Шифрование — процесс нормального применения криптографического преобразования открытого текста на основе алгоритма и ключа, в результате которого возникает шифрованный текст [29].

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

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

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

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

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

Криптоанализ — наука, изучающая математические методы нарушения конфиденциальности и целостности информации.

Криптоаналитик — человек, создающий и применяющий методы криптоанализа.

Криптография и криптоанализ составляют криптологию как единую науку о создании и взломе шифров (такое деление привнесено с Запада, до этого в СССР и России не применялось специального деления).

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

Дешифрование (дешифровка) — процесс извлечения открытого текста без знания криптографического ключа на основе известного шифрованного. Термин «дешифрование» обычно применяют по отношению к процессу криптоанализа шифротекста (криптоанализ сам по себе, вообще говоря, может заключаться и в анализе шифросистемы,анетолько зашифрованного ею открытого сообщения) |5, 25, 29].

Криптографическая стойкость — способность криптографического алгоритма противостоять криптоанализу.

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

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

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

Первый период (приблизительно с 3-го тысячелетия до н.э. до IX в. на Ближнем Востоке и до XV в. в Европе) характеризуется господством моноалфавитных шифров (основной принцип — замена алфавита исходного текста другим алфавитом через замену букв другими буквами или символами). Второй период (хронологические рамки — с IX в. на Ближнем Востоке и с XV в. в Европе — до начала XX в.) ознаменовался введением в обиход полиалфавитных шифров. Третий период (с начала XX в. и до конца 70-х гг. XX в.) характеризуется внедрением электромеханических устройств в работу шифровальщиков. При этом продолжалось использование полиалфавитных шифров. Четвертый период (с конца 70-х гг. XX в. по настоящее время) характеризуется переходом к математической криптографии. В работе К.Э. Шеннона появляются строгие математические определения количества информации, передачи данных, энтропии, функций шифрования. Обязательным этапом создания шифра считается изучение его уязвимости к различным известным атакам — линейному и дифференциальному криптоанализу. Однако до 1975 г. криптография оставалась «классической», или же, более корректно, криптографией с секретным ключом.

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

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

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

Примером древнего применения криптографии является случай, когда автор таблички с рецептом для изготовления глазури для гончарных изделий из Месопотамии использовал редкие обозначения, пропускал буквы, а имена заменял на цифры, чтобы скрыть написанное [4, 13, 18, 29].

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

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

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

Принцип ее действия изложили Аполлоний Родосский (середина III в. до н.э.) и Плутарх (около 45—125 н.э.).

Сцитала представляла собой длинный стержень, на который наматывалась лента из пергамента. На ленту вдоль оси сциталы Рис. 5.1. Внешний вид сциталы наносился текст так, что после

разматывания он становился нечитаемым. Для его восстановления требовалась сцитала такого же диаметра.

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

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

Первым действительно криптографическим инструментом можно назвать линейку Энея, реализующую шифр замены. Вместо диска использовалась линейка с отверстиями по числу букв алфавита, катушкой и прорезью. Для шифрования нить протягивалась через прорезь и отверстие, после чего на нити завязывался очередной узел. Для дешифрования необходимо было иметь саму нить и линейку с аналогичным расположением отверстий. Таким образом, даже зная алгоритм шифрования, но, не имея ключа (линейки), прочитать сообщение было невозможно |4, 13, 181.

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

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

Согласно свидетельству Светония, Цезарь использовал в переписке моноалфавитный шифр, вошедший в историю как Шифр Цезаря. Книгу о шифре написал грамматик Проб. В шифре Цезаря каждая буква алфавита циклически сдвигается на определенное число позиций (рис. 5.2). Величину сдвига можно рассматривать как ключ шифрования. Сам Цезарь использовал сдвиг на три позиции |4, 5, 13].

Рис. 5.2. Принцип использования шифра Цезаря

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

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

Существует мнение, что в более поздний период тайнопись использовалась для иконографии, например, при написании иконы XIV в. «Донская Богоматерь». Согласно другой точке зрения, буквенный ряд является лишь шрифтовым декором, который был широко распространен как в древнерусской, так и, например, в византийской иконописи.

Развитие криптографии в эпоху второго периода. В 855 г. выходит Книга о большом стремлении человека разгадать загадки древней письменности арабского ученого Абу Бакр Ахмед бен-Али бен-Вах-шия ан-Набати. Это одна из первых книг о криптографии с описаниями нескольких шифров, в том числе с применением нескольких алфавитов. Также к IX в. относится первое известное упоминание о частотном криптоанализе — в книге Ал-Кинди «Манускрипт о дешифровке криптографических сообщений» [5, 10, 131.

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

Рогериса Бакониса о тайных действиях искусства и природы и ничтожестве магии» (лат. Epistola Fratris Rog. Baconis, de secretis operibus artis et naturae et nullitate magiae), описывающий, в числе прочего, применение семи методов скрытия текста.

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

Первая организация, посвятившая себя целиком криптографии, была создана в Венеции (Италия) в 1452 г. Три секретаря этой организации занимались взломом и созданием шифров по заданиям правительства. В 1469 г. появляется шифр пропорциональной замены «Миланский ключ».

Отцом западной криптографии называют ученого эпохи Возрождения Леона Баттиста Альберти. Изучив методы вскрытия использовавшихся в Европе моноалфавитных шифров, он попытался создать шифр, который был бы устойчив к частотному криптоанализу. Трактат о новом шифре был представлен им в папскую канцелярию в 1466 г. Альберти предложил вместо единственного секретного алфавита, как в моноалфавитных шифрах, использовать два или более, переключаясь между ними по какому-либо правилу. Однако флорентийский ученый так и не смог оформить свое открытие в полную работающую систему, что было сделано уже его последователями [13, 18].

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

Его подход был улучшен Джованом Баттистой Белласо (итал. Giovan Battista Bel/aso), который предложил выбирать некоторое ключевое слово и записывать его над каждым словом открытого текста. Каждая буква ключевого слова используется для выбора конкретного шифра сдвига из полного набора шифров для шифрования конкретной буквы, тогда как в работе Тритемия шифры выбираются просто по циклу. Для следующего слова открытого текста ключ начинал использоваться снова, так, что одинаковые слова оказывались зашифрованы одинаково. Данный способ в настоящий момент известен как шифр Виженера. Кроме этого, Тритемий первым заметил, что шифровать можно и по две буквы за раз — биграммами (хотя первый биграммный шифр — Playfair — был предложен лишь в XIX в.). Позже, в XVII в., член ордена иезуитов Атанасиус Кирхер провел исследования лингвистических аспектов работ Тритемия, результаты которых опубликовал в своей Polygraphia nova в 1663 г. Одним из результатов стало создание «полиглотического кода на пяти языках», который мог использоваться для шифрования и передачи сообщений на латинском, итальянском, французском, испанском и немецком языках, при этом декодирование могло производиться на любом из указанных языков.

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

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

Фрэнсис Бэкон в своей первой работе 1580 г. предложил двоичный способ кодирования латинского алфавита по принципу, аналогичному тому, что сейчас используется в компьютерах. Используя этот принцип, а также имея два разных способа начертания для каждой из букв, отправитель мог «спрятать» в тексте одного длинного сообщения короткое секретное. Данный способ получил название «шифр Бэкона», хотя относится больше к стеганографии |4, 5, 13].

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

Описанный шифр известен как шифр Виженера и при длине случайного ключа, равной длине открытого текста, является абсолютно стойким шифром, что было математически доказано много позже (в XX в. в работах К.Э. Шеннона). Другая техника использовала результат шифрования для выбора следующего ключа — то, что впоследствии использует Фейстель и компания IBM при разработке шифра DES в 1970-х гг.

В 1626 г. при осаде города Реальмон, а позже и в 1628 г. при осаде Ла-Рошели, французский подданный Антуан Россиньоль (фр. Antoine Rossignol, 1600—1682) расшифровал перехваченные сообщения и тем самым помог победить армию гугенотов. После победы правительство Франции несколько раз привлекало его к расшифровке шифров. После его смерти его сын (фр. Bonaventure Rossignol), а позже и внук (фр. Antoine-Bonaventure Rossignol) продолжили начатое дело. В то время правительство Франции привлекало к работе множество криптографов, которые вместе образовывали так называемый Черный кабинет (фр. Cabinet Noir).

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

В России датой учреждения первой государственной шифровальной службы можно считать 1549 г. — образование «посольского приказа» с «циферным отделением». А как минимум с 1702 г. Петра I сопровождала походная посольская канцелярия под руководством первого министра Ф.А. Головина, которая с 1710 г. приобрела статус постоянного учреждения. В нем сосредоточилась криптографическая работа с перепиской между Петром, его приближенными и различными получателями, а также по созданию новых шифров [13, 181.

Впоследствии над дешифрованием сообщений в России трудились в том числе такие математики, как Кристиан Гольдбах, Леонард Эйлер и Франц Эпинус. При этом во время Семилетней войны ( 1756— 1763) Эйлер, находясь в Пруссии, хотя и продолжал переписываться с высшими лицами Российской империи, также занимался дешифровкой перехваченных писем русских офицеров.

К началу XVIII в. подобные кабинеты были по всей Европе, в том числе Die Geheime Kabinettskanzlei в Вене, первое дешифровальное отделение в Германии под начальством графа Гронсфельда, группа Джона Валлиса в Англии. До, во время и после войны за независимость США они оказались способны вскрыть большую часть колониальных шифров. Большинство из них было закрыто к середине

XIX в., в том числе, по одной из версий, из-за отсутствия вооруженного противостояния с США.

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

В 1790-х гг. будущий президент США Томас Джефферсон построил одну из первых механических роторных машин, упрощавшую использование полиалфавитных шифров. Среди других авторов-изо-бретателей стоит отметить полковника Десиуса Вадсворта, изобретателя машины с вращательными шифровальными дисками с различным количеством букв. Хотя он изобрел ее в 1817 г., вся слава досталась Чарлзу Уитстону за аналогичную машину, представленную на Всемирной выставке 1867 г. в Париже. Однако распространение роторные машины получили лишь в начале XX в.

Значительный толчок криптографии дало изобретение телеграфа. Сама передача данных перестала быть секретной, и сообщение, в теории, мог перехватить кто угодно. Интерес к криптографии возрос и среди простого населения, в результате чего многие попытались создать индивидуальные системы шифрования. Преимущество телеграфа было явным и на поле боя, где командующий должен был отдавать немедленные приказания по всей линии фронта или хотя бы на всем поле сражения, а также получать информацию с мест событий. Это послужило толчком к развитию полевых шифров. Сначала армия США использовала шифр Виженера с коротким ключевым словом, однако после открытия метода Касиски в 1863 г., он был заменен [18|.

Дальнейший прогресс был связан как с индивидуальными, так и с государственными исследованиями. В 1854 г. Чарлз Уитстон описал, а Лион Плейфер добился применения британскими вооруженными силами нового шифра, как его позже назовут — шифра Плейфера.

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

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

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

  • 1. Шифр должен быть физически, если не математически, не-вскрываемым.
  • 2. Система не должна требовать секретности, на случай, если она попадет в руки врага.
  • 3. Ключ должен быть простым, храниться в памяти без записи на бумаге, а также легко изменяемым по желанию корреспондентов.
  • 4. Зашифрованный текст должен иметь возможность передаваться по телеграфу.
  • 5. Аппарат для шифрования должен быть легко переносимым, работа с ним не должна требовать помощи нескольких лиц.
  • 6. Аппарат для шифрования должен быть относительно прост в использовании, не требовать значительных умственных усилий или соблюдения большого количества правил.

В настоящее время второе из этих правил известно как принцип Керкгоффса.

Развитие криптографии в эпоху третьего периода. В конце XIX — начале XX в. правительства стран вновь бросили значительные силы на шифрование и криптоанализ. В 1914 г. Британия открыла «Комнату 40», в 1917 г. США — MI-8, ставшую предшественницей современного АН Б.

В 1918г. вышла монография американского криптографа российского происхождения Уильяма Ф. Фридмана «Индекс совпадения и его применение в криптографии» (англ. Index of Coincidence and Its Applications in Cryptography). Работа вышла в открытой печати, несмотря на то что была выполнена в рамках военного заказа. Двумя годами позже Фридман ввел в научный обиход термины «криптология» и «криптоанализ».

В начале 1920-х гг. практически одновременно в разных странах появляются патенты и электромеханические машины, использующие принципы криптографического диска (ротора) и автоматизирующие процесс шифрования. В США это был Эдвард Реберн, после него — Хьюго Кох из Нидерландов и его «Энигма» (позже патентбыл куплен Артуром Шербиусом), Арвид Герхард Дамм из Швеции и его машина «В-1» — разработки последнего были продолжены Борисом Хаге-линым [5, 10, 13].

В 1928—1929 гг. польское Biuro Szyfrow организовало курсы для 20 математиков со знанием немецкого языка — будущих криптоаналитиков, трое из которых известны работой по взлому «Энигмы». До этого на работу принимали в основном лингвистов.

В 1929 г. Лестер Хилл опубликовал в журнале The American Mathematical Monthly статью Cryptography in an Algebraic Alphabet. В ней он описал подход к конструированию криптографических систем, для которых математически была доказана их неуязвимость к частотным атакам, в том числе к методу Касиски. Для представления текста он перевел его в цифровой вид, а для описания шифрования использовал полиномиальные уравнения. В целях упрощения вычисления были представлены в виде операций над матрицами, отдельные элементы которых складывались и умножались по модулю 26 (по числу букв в латинском алфавите). Так как система оказалась слишком сложна в использовании, он собрал механическую шифровальную машину, которая упрощала эти операции. К сожалению, машина могла использовать лишь ограниченное множество ключей, и даже с машиной шифр использовался очень редко — лишь для шифрования некоторых государственных радиопередач. Тем не менее, его основной вклад — математический подход к конструированию надежных криптосистем.

До Первой мировой войны Россия наряду с Францией являлась лидером в области криптоанализа на государственном уровне. Англия, США, Германия и менее влиятельные государства — вообще не имели государственной дешифровальной службы, а Австро-Венгрия читала, в основном, переписку соседних государств. При этом если во Франции и Австро-Венгрии дешифровальная служба была военной, то в России — гражданской.

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

Перед началом Второй мировой войны ведущие мировые державы имели электромеханические шифрующие устройства, результат работы которых считался невскрываемым. Эти устройства делились на два типа — роторные машины и машины на дисках. К первому типу относят «Энигму», использовавшуюся сухопутными войсками Германии и ее союзников. Ко второму типу относят американскую машину М-209. В СССР производились оба типа машин.

История самой известной электрической роторной шифровальной машины «Энигма» начинается в 1917 г. — с патента, полученного голландцем Хьюго Кохом. В следующем году патент был перекуплен Артуром Шербиусом (англ.), начавшим коммерческую деятельность с продажи экземпляров машины как частным лицам, так и немецким армии и флоту.

Германские военные продолжали совершенствовать «Энигму». Без учета настройки положения колец (нем. Ringstellung) количество различных ключей составляло 10 16 . В конце 1920-х —начале 1930-х гг., несмотря на переданные немецким аристократом Хансом Тило-Шмидтом данные по устройству машины, имевшиеся экземпляры коммерческих вариантов, британская и французская разведка не стали браться за задачу криптоанализа. Вероятно, к тому времени они уже сочли, что шифр является невзламываемым.

Однако группа из трех польских математиков так не считала, и вплоть до 1939 г. вела работы по «борьбе» с «Энигмой», и даже умела читать многие сообщения, зашифрованными «Энигмой» (в варианте до внесения изменений в протокол шифрования от декабря 1938 г.). У одного из них, Мариана Реевского, зародилась идея бороться с криптографической машиной с помощью другой машины. Идея озарила Реевского в кафе, и он дал машине имя «Бомба» по названию круглого пирожного. Среди результатов, переданных британским разведчикам перед захватом Польши Германией, были и «живые» экземпляры «Энигмы», и электромеханическая машина Bomba, состоявшая из шести спаренных «Энигм» и помогавшая в расшифровке (прототип для более поздней Bombe Алана Тыоринга), а также уникальные методики криптоанализа [5, 18].

С современной точки зрения шифр «Энигмы» был не очень надежным, но только сочетание этого фактора с наличием множества

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

Рис. 5.3. Внешний вид шифровальной машины «Энигма»

Однако с 1940 г. высшее германское командование начало использовать новый метод шифрования, названный британцами Fish. Для шифрования использовалось новое устройство Lorenz SZ 40, разработанное по заказу военных.

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

Рис. 5.4. Внешний вид шифровальной машины Lorenz SZ 40

К сожалению, для Германии генератор, используемый в машинах Lorenz SZ40, оказался «слабым». Однако его взлом все равно нельзя было осуществить вручную — криптоаналитикам из Блетчли-парка потребовалось создать устройство, которое бы перебирало все возможные варианты и избавляло бы криптоаналитиков от ручного перебора. Таким устройством стала одна из первых программируемых вычислительных машин Colossus, созданная Максом Ньюменом и Томми Флауэрсом при участии Алана Тьюринга в 1943 г. (хотя некоторые источники указывают, что она была сделана для взлома «Энигмы»).

Также США во время Второй мировой войны набирали связистов из индейского племени Навахо, языка которого за пределами США никто не знал. При этом была учтена проблема, возникшая еще во время Первой мировой войны с использованием языка племени Чокто для похожих целей, — в обоих языках просто не было достаточного количества военных терминов. Поэтому был составлен словарь из 274 военных терминов, а также 26 слов алфавитного кода. Последний был впоследствии расширен для предотвращения частотных атак. Как указывает Сингх, именно отсутствие знания языка племени Навахо стало причиной того, что данный код так и остался не расшифрован японцами. Информация об использовании столь экзотического средства шифрования радиопереговоров была рассекречена лишь в 1968 г. 110, 13].

Крупным успехом американских криптоаналитиков явился проект «Венона» (англ. Venona project) по расшифровке переговоров советской разведки со своими агентами в ядерном «проекте Манхэттен». В передачах радиосвязи со своими агентами Центр в Москве использовал теоретически неуязвимую криптографическую систему с одноразовым ключом. Тем не менее, в ходе реализации глубоко засекреченного проекта «Венона» контрразведке США удавалось расшифровать передачи. Это происходило оттого, что в военные годы из-за недостатка ресурсов некоторые ключи использовались повторно, особенно в 1943—1944 гг. Кроме того, ключи не были по-настоящему случайными, поскольку производились машинистками вручную.

Развитие криптографии в эпоху четвертого периода. После Первой мировой войны правительства стран засекретили все работы в области криптографии. К началу 1930-х гг. окончательно сформировались разделы математики, являющиеся основой для будущей науки, — общая алгебра, теория чисел, теория вероятностей и математическая статистика. К концу 1940-х гг. построены первые программируемые счетные машины, заложены основы теории алгоритмов, кибернетики. Тем не менее, в период после Первой мировой войны идо конца 1940-х гг. в открытой печати было опубликовано совсем немного работ и монографий, но и те отражали далеко не самое актуальное состояние дел. Наибольший прогресс в криптографии достигается в военных ведомствах |13, 18].

Ключевой вехой в развитии криптографии является фундаментальный труд Клода Шеннона «Теория связи в секретных системах» (англ. Communication Theory of Secrecy Systems) — секретный доклад, представленный автором в 1945 г. и опубликованный им в Bell System Technical Journal в 1949 г. В этой работе, по мнению многих современных криптографов, был впервые показан подход к криптографии в целом как к математической науке. Были сформулированы ее теоретические основы и введены понятия, с объяснения которых сегодня начинается изучение криптографии студентами.

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

В 1967 гг. выходит книга Дэвида Кана «Взломщики кодов». Хотя книга не содержала сколько-нибудь новых открытий, она подробно описывала имеющиеся на тот момент результаты в области криптографии, большой исторический материал, включая успешные случаи использования криптоанализа, а также некоторые сведения, которые правительство США полагало все еще секретными. Но главное — книга имела заметный коммерческий успех и познакомила с криптографией десятки тысяч людей. С этого момента начали понемногу появляться работы и в открытой печати.

В 1976 г. публикуется работа Уитфилда Диффи и Мартина Хел-лмана «Новые направления в криптографии» (англ. New Directions in Cryptography). Данная работа открыла новую область в криптографии, теперь известную как криптография с открытым ключом. Также в работе содержалось описание алгоритма Диффи-Хеллмана, позволявшего сторонам сгенерировать общий секретный ключ, используя только открытый канал. Кроме этого, одним из результатов публикации стал значительный рост числа людей, занимающихся криптографией.

Хотя работа Диффи—Хеллмана создала большой теоретический задел для открытой криптографии, первой реальной криптосистемой с открытым ключом считают алгоритм RSA (названный по имени авторов — Rivest, ShamirwAdleman). Опубликованная в августе 1977 г. работа позволила сторонам обмениваться секретной информацией, не имея заранее выбранного секретного ключа. Опасаясь распространения системы в негосударственных структурах, АН Б безуспешно требовало прекращения распространения данной системы. RSA используется во всем мире. Черновики стандарта ISO для цифровой подписи и банковского стандарта ANSI основаны на RSA, также он служит информационным дополнением для ISO 9796, принят в качестве стандарта во Французском банковском сообществе и в Австралии.

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

С конца 1990-х гг. начинается процесс открытого формирования государственных стандартов на криптографические протоколы. Пожалуй, самым известным является начатый в 1997 г. конкурс A ES, в результате которого в 2000 г. государственным стандартом США для криптографии с секретным ключом был принят шифр Rijndael, сейчас уже более известный как A ES. Аналогичные инициативы носят названия N ESSIE (англ. New European Schemes for Signatures, Integrity, and Encryptions) в Европе и CR YPTREC (англ. Cryptography Research and Evaluation Committees) в Японии.

В самих алгоритмах в качестве операций, призванных затруднить линейный и дифференциальный криптоанализ, кроме случайных функций (вроде 5-блоков, используемых в шифрах DES и ГОСТ), стали использовать более сложные математические конструкции, такие как вычисления в поле Галуа в шифре AES. Принципы выбора алгоритмов (криптографических примитивов) постепенно усложняются. Предъявляются новые требования, часто не имеющие прямого отношения к математике, такие как устойчивость к атакам по сторонним каналам. Для решения задачи защиты информации предлагаются все новые механизмы, в том числе организационные и законодательные.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Идея, лежащая в основе составных или композиционных шифров, состоит в построении криптостойкой системы путем многократного применения относительно простых криптографических преобразований, в качестве которых К. Шеннон предложил использовать преобразования подстановки (substitution) и транспозиции (permutation). Многократное использование этих преобразований позволяет обеспечить два свойства, которые должны быть присущи стойким шифрам: рассеивание (diffusion) и перемешивание (confusion).

Рассеивание предполагает распространение влияния одного знака открытого текста, а также одного знака ключа на значительное количество знаков шифртекста.

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

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

Рассмотрим более подробно наиболее распространенные из вышеупомянутых алгоритмов шифрования.

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

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

Шифрование метод защиты информации

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

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

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

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

Криптография делится на два класса: криптография с симметричными ключами и криптография с открытыми ключами.

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

Следует выделить следующие преимущества криптографии с симметричными ключами:
• относительно высокая производительность алгоритмов;
• высокая криптографическая стойкость алгоритмов на единицу длины ключа.

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

Криптография с открытыми ключами

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

Два важных свойства криптографии с открытыми ключами

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

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

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

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


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

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

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

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

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

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

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

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

Взаимодействие клиентов с Центром Сертификации
На предварительном этапе каждый из партнеров лично посещает Центр Сертификации (ЦС) и получает личный сертификат — своеобразный электронный аналог гражданского паспорта.

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

В соответствии с законом «Об ЭЦП» цифровой сертификат содержит следующие сведения:

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

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

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

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

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

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

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

В реальных системах каждым партнером может использоваться несколько сертификатов, выданных различными ЦС. Различные ЦС могут быть объединены инфраструктурой открытых ключей или PKI (PKI — Public Key Infrastructure). ЦС в рамках PKI обеспечивает не только хранение сертификатов, но и управление ими (выпуск, отзыв, проверку доверия). Наиболее распространенная модель PKI — иерархическая. Фундаментальное преимущество этой модели состоит в том, что проверка сертификатов требует доверия только относительно малому числу корневых ЦС. В то же время эта модель позволяет иметь различное число ЦС, выдающих сертификаты.

Лекция №11 Шифрование информации

Методы и виды шифрования. Понятия о криптографии и стеганографии.

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

Криптография — это наука о методах защиты информации путём шифрования исходных данных.

Шифрование — это преобразование открытой информации в зашифрованную и наоборот, а две составные части этого процесса называют соответственно зашифрованием и расшифрованием.

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

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

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

История алгоритмов симметричного шифрования (шифрования с закрытым ключом) начинается с римского императора Гая Юлия Цезаря — в I веке до н.э. римлянин уже пользовался этим алгоритмом, впоследствии ставшего известным как «криптографическая система Цезаря».

Сегодня наиболее распространенным алгоритмом симметричного шифрования является стандарт DES, разработанный в 1977г в США и до последнего времени являвшийся американским государственным криптографическим стандартом. Однако относительно малая длина ключа DES (56 бит) и, как следствие, небольшая криптостойкость привели к тому, что во всем мире все больше используются новые разработки в области шифрования — российский стандарт шифрования ГОСТ 28147-89 и новый государственный криптостандарт США — Advanced Encryption Standard (AES).

В настоящее время среди алгоритмов ассиметричного шифрования широкое распространение получил алгоритм RSA.

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

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

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

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

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

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

Возникают две основные задачи по их защите от несанкционированного доступа:

Обеспечение уверенности получателя в том, что документ подлинный и корректный, т.е. при передаче не был подменен или отредактирован;

Обеспечение невозможности доступа посторонних лиц к содержанию документа.

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

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

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

Криптографические программные продукты

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

Первая группа, очень широко распространенная — это криптопровайдеры (или CSP, Cryptographic Service Providers). CSP не являются самостоятельными приложениями, они предоставляют криптографические функции другим приложениям — например, таким, как почтовые программы. Пользователь фактически не имеет дела непосредственно с CSP, работая с привычным ему пользовательским интерфейсом. CSP обладают универсальностью — один и тот же CSP может использоваться для работы со множеством различных программ. Примером такого продукта производства ООО «Криптоком» является криптопровайдер МагПро CSP.

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

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

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

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

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

Стандарты на криптографические алгоритмы

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

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

В России существуют собственные государственные стандарты на алгоритмы шифрования и выработки/проверки электронной подписи: ГОСТ 28147-89, ГОСТ Р 34.10-94, ГОСТ Р 34.10-2001.

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

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

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

В России также приняты государственные стандарты на криптографические алгоритмы. Российские производители, в том числе ООО «Криптоком», используют в своих программных продуктах алгоритмы, соответствующие российским стандартам.

В качестве секретной информации используются криптографические ключи.

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

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

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

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

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

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

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

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

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

Ключевая пара, используемая для работы с ЭЦП (выработки и проверки ЭЦП), называется ключами подписи (signature keys). Ключевая пара, используемая для зашифрования и расшифрования сообщений, называется ключами обмена (exchange keys).

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

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

В процессе шифрования прежде всего создается одноразовый (так называемый сеансовый) ключ шифрования (session encryption key). Это симметричный ключ, т.е. один и тот же ключ используется и для зашифрования, и для расшифрования. Одноразовым или сеансовым он называется потому, что используется для зашифрования/расшифрования только одного сообщения.

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

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

Зашифрованный ключ шифрования включается в сообщение.

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

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

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

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

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

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

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

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

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

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

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

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

Датчики случайных чисел и создание ключей

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

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

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

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

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

Хранение закрытых ключей

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

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

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

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

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

Таким условиям удовлетворяет USB-токен «Вьюга», разработанный в ООО «Криптоком». Устройство «Вьюга» включает в себя генератор случайных чисел (т.е. может использоваться как датчик случайных чисел при генерации ключей) и область памяти объема, достаточного для хранения ключей. Устройство подключается к компьютеру через USB-порт. Возможно подключение устройства к компьютеру непосредственно в процессе работы.

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

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

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

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

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

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

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

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

Под атакой на шифр понимают попытку вскрытия этого шифра.

Криптоанализ ― наука (и практика ее применения) о методах и способах вскрытия шифров.

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

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

Текст — упорядоченный набор из элементов алфавита.

Ключ — информация, необходимая для беспрепятственного шифрования и дешифрования тек­стов.

Криптографическая система представляет собой семейство T преобразований открытого текста. Члены этого семейства индексируются, или обозначаются символом k; параметр k являет­ся ключом. Пространство ключей K – это набор возможных значений ключа. Обычно ключ представляет собой последовательный ряд букв алфавита.

Криптосистемы разделяются на симметричные и с открытым ключом.

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

Моно- и многоалфавитные подстановки ― это вид преобразований, заключающийся в за­мене символов исходного текста на другие (того же алфавита) по более или менее сложному правилу. Для обеспечения высокой криптостойкости требуется использование больших ключей. Многоалфавитная подстановка определяется ключом p=(p1, p2, …), содержащим не менее двух различных подстановок.

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

Наложение ― это обычно позначное (побуквенное) сложение или вычитание по тому или иному модулю.

Шифрмашина (шифровальное устройство) ― машина, реализующая какой-либо алгоритм шифрования

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

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

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

• подтверждение целостности и подлинности данных;

• аутентификацию абонентов при входе в систему и при установлении соединения;

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

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

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

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

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

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

Обобщенная схема криптосистемы шифрования показана на рис. 5.1. Исходный текст передаваемого сообщения (или хранимой информации) М зашифровывается с помощью криптографического преобразования Ек с получением в результате шифр-текста С:

где — параметр функции Е, называемый ключом шифрования.

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

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

Обратное преобразование информации выглядит следующим образом:

Функция D является обратной к функции Е и производит расшифровывание шифр текста. Она также имеет дополнительный параметр в виде ключа к2. Ключ расшифровывания к2 должен однозначно соответствовать ключу к1 в этом случае полученное в результате расшифровывания сообщение М’ будет эквивалентно М. При отсутствии верного ключа к2 получить исходное сообщение М’ = Мс помощью функции D невозможно.

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

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

• асимметричные криптосистемы (с двумя ключами).

Очень часто через известную всем сеть Internet передается достаточно важная конфиденциальная информация. Потеря, подделка такой информации или несанкционированный доступ к ней может привести к самым серьезным последствиям; Популярный рекламный слоган «Интернет доступен всем» говорит о многом, и, к сожалению, не только о хорошем. Ясно, что доступность этого ресурса именно всем й влечет за собой определенную опасность для всех. Действительно, открытость и прозрачность устройства сети является одним из необходимых условий ее роста и распространения. Однако глобальная сеть объединяет в настоящее время людей с самыми разными интересами и наклонностями. Пользователями сети являются не только люди с кристально чистыми намерениями, но и те, кто использует информацию в корыстных целях, т. е. лица, которые хотят и, главное, могут это сделать, используя достаточно много существующих точек в сети, где информация может быть перехвачена или сфальсифицирована.

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

Проблемой защиты информации путем ее преобразования занимается криптология (kryptos — тайный, logos — сообщение). Она имеет два направления: криптографию и криптоанализ. Цели этих направлений прямо противоположны.

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

Сфера интересов криптоанализа — исследование возможности расшифровки информации.

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

контроль участников взаимодействия.

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

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

симметричные криптосистемы (с секретным ключом); несимметричные криптосистемы (с открытым ключом);

системы электронной подписи;

системы управления ключами.

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

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

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

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

14.4. Криптографические методы защиты информации

Известны два подхода к сохранению конфиденциальности информации:

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

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

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

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

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

Процедуру зашифрования и расшифрования можно представить в следующем виде:

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

Все множество криптосистем делится на два класса:

  • • криптосистемы с симметричным ключом;
  • • криптосистемы с несимметричным ключом.

До середины 1980-х гг. использовались только криптосистемы с симметричным ключом. У симметричных криптосистем ключи зашифрования и расшифрования совпалают (k1 = k2 = k). Оба ключа являются закрытыми (секретными). В несимметричных криптосистемах используются два ключа: открытый – для зашифрования и закрытый – для расшифрования. Причем не существует алгоритмов приемлемой вычислительной сложности для определения секретного ключа по известному открытому ключу.

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

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

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

Рис. 14.3. Схема поточного симметричного шифрования (схема Вернама)

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

В основе применения систем с открытым ключом лежит использование необратимых или односторонних функций. Эти функции обладают следующим свойством. По известному х Î X легко определяется функция у = f(х). Но не существует алгоритма с полиномиальным временем реализации, который позволял бы по известному значению у получить х. Теоретически х по известному f(х) можно найти, проверяя по очереди все возможные значения х до тех пор, пока соответствующее значение f(х) не совпадет с заданным. Однако при значительной мощности множества X такой подход на практике неосуществим.

В криптографии используются односторонние функции, имеющие так называемый потайной ход. Их называют также односторонними функциями с секретом. Эти функции с параметром z обладают следующими свойствами. Для определенного z могут быть найдены алгоритмы Ez и Dz. С помощью & легко получить функцию fz(х) для всех х Î X. Так же просто с помощью алгоритма Dz получается и обратная функция х = f-1(у) для всех у Î Y. В то же время при неизвестном z не существует полиномиальных алгоритмов нахождения f-1(y) даже при известном Ez.

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

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

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

Рис. 14.4. Схема шифрования с открытым ключом

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

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

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


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

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

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

Шифрование — метод защиты информации. Испокон веков не было ценности большей, чем информация. ХХ век — век информатики и информатизации. Технология дает. — презентация

Презентация была опубликована 7 лет назад пользователемwww.in-nov.ru

Похожие презентации

Презентация на тему: » Шифрование — метод защиты информации. Испокон веков не было ценности большей, чем информация. ХХ век — век информатики и информатизации. Технология дает.» — Транскрипт:

1 Шифрование — метод защиты информации

2 Испокон веков не было ценности большей, чем информация. ХХ век — век информатики и информатизации. Технология дает возможность передавать и хранить все большие объемы информации. Это благо имеет и оборотную сторону. Информация становится все более уязвимой по разным причинам: Испокон веков не было ценности большей, чем информация. ХХ век — век информатики и информатизации. Технология дает возможность передавать и хранить все большие объемы информации. Это благо имеет и оборотную сторону. Информация становится все более уязвимой по разным причинам: возрастающие объемы хранимых и передаваемых данных; возрастающие объемы хранимых и передаваемых данных; расширение круга пользователей, имеющих доступ к ресурсам ЭВМ, программам и данным; расширение круга пользователей, имеющих доступ к ресурсам ЭВМ, программам и данным; усложнение режимов эксплуатации вычислительных систем. усложнение режимов эксплуатации вычислительных систем. Поэтому все большую важность приобретает проблема защиты информации от несанкционированного доступа (НСД) при передаче и хранении. Сущность этой проблемы — постоянная борьба специалистов по защите информации со своими «оппонентами». Поэтому все большую важность приобретает проблема защиты информации от несанкционированного доступа (НСД) при передаче и хранении. Сущность этой проблемы — постоянная борьба специалистов по защите информации со своими «оппонентами».

3 Характеристики составных алгоритмов шифрования Название алгоритма Размер ключа, бит Размер блока, бит Размер вектора инициализации, бит Количество циклов шифрования Lucipher DES FEAL B-Crypt >

4 Защита информации — совокупность мероприятий, методов и средств, обеспечивающих: Защита информации — совокупность мероприятий, методов и средств, обеспечивающих: исключение НСД к ресурсам ЭВМ, программам и данным; исключение НСД к ресурсам ЭВМ, программам и данным; проверку целостности информации; проверку целостности информации; исключение несанкционированного использования программ (защита программ от копирования). исключение несанкционированного использования программ (защита программ от копирования).

5 Очевидная тенденция к переходу на цифровые методы передачи и хранения информации позволяет применять унифицированные методы и алгоритмы для защиты дискретной (текст, факс, телекс) и непрерывной (речь) информации. Испытанный метод защиты информации от НСД — шифрование (криптография). Шифрованием (encryption) называют процесс преобразования открытых данных (plaintext) в зашифрованные (шифртекст, ciphertext) или зашифрованных данных в открытые по определенным правилам с применением ключей. В англоязычной литературе зашифрование/расшифрование — enciphering/deciphering. Очевидная тенденция к переходу на цифровые методы передачи и хранения информации позволяет применять унифицированные методы и алгоритмы для защиты дискретной (текст, факс, телекс) и непрерывной (речь) информации. Испытанный метод защиты информации от НСД — шифрование (криптография). Шифрованием (encryption) называют процесс преобразования открытых данных (plaintext) в зашифрованные (шифртекст, ciphertext) или зашифрованных данных в открытые по определенным правилам с применением ключей. В англоязычной литературе зашифрование/расшифрование — enciphering/deciphering.

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

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

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

9 Классификация алгоритмов шифрования 1. Симметричные (с секретным, единым ключом, одноключевые, single-key) Потоковые (шифрование потока данных): 1. Симметричные (с секретным, единым ключом, одноключевые, single-key) Потоковые (шифрование потока данных): с одноразовым или бесконечным ключом (infinite-key cipher); с конечным ключом (система Вернама — Vernam); на основе генератора псевдослучайных чисел (ПСЧ) Блочные (шифрование данных поблочно): Шифры перестановки (P-блоки); Шифры замены ( S-блоки): 1.2. Блочные (шифрование данных поблочно): Шифры перестановки (P-блоки); Шифры замены ( S-блоки): моноалфавитные (код Цезаря); полиалфавитные (шифр Видженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma); составные : составные :

10 Lucipher (фирма IBM, США); DES (Data Encryption Standard, США); FEAL-1 (Fast Enciphering Algoritm, Япония); >

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

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

13 Блочные шифры При блочном шифровании информация разбивается на блоки фиксированной длины и шифруется поблочно. Блочные шифры бывают двух основных видов: При блочном шифровании информация разбивается на блоки фиксированной длины и шифруется поблочно. Блочные шифры бывают двух основных видов: шифры перестановки (P-блоки); шифры перестановки (P-блоки); шифры замены (S-блоки). шифры замены (S-блоки). Шифры перестановок переставляют элементы открытых данных (биты, буквы, символы) в некотором новом порядке. Различают шифры горизонтальной, вертикальной, двойной перестановки, решетки, лабиринты, лозунговые и др. Шифры перестановок переставляют элементы открытых данных (биты, буквы, символы) в некотором новом порядке. Различают шифры горизонтальной, вертикальной, двойной перестановки, решетки, лабиринты, лозунговые и др. Шифры замены заменяют элементы открытых данных на другие элементы по определенному правилу. Paзличают шифры простой, сложной, парной замены, буквенно-слоговое шифрование и шифры колонной замены. Шифры замены делятся на две группы: Шифры замены заменяют элементы открытых данных на другие элементы по определенному правилу. Paзличают шифры простой, сложной, парной замены, буквенно-слоговое шифрование и шифры колонной замены. Шифры замены делятся на две группы: моноалфавитные (код Цезаря) ; моноалфавитные (код Цезаря) ; полиалфавитные (шифр Видженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma). полиалфавитные (шифр Видженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma). В моноалфавитных шифрах замены буква исходного текста заменяется на другую, заранее определенную букву. Например в коде Цезаря буква заменяется на букву, отстоящую от нее в латинском алфавите на некоторое число позиций. Очевидно, что такой шифр взламывается совсем просто. Нужно подсчитать, как часто встречаются буквы в зашифрованном тексте, и сопоставить результат с известной для каждого языка частотой встречаемости букв. В моноалфавитных шифрах замены буква исходного текста заменяется на другую, заранее определенную букву. Например в коде Цезаря буква заменяется на букву, отстоящую от нее в латинском алфавите на некоторое число позиций. Очевидно, что такой шифр взламывается совсем просто. Нужно подсчитать, как часто встречаются буквы в зашифрованном тексте, и сопоставить результат с известной для каждого языка частотой встречаемости букв. В полиалфавитных подстановках для замены некоторого символа исходного сообщения в каждом случае его появления последовательно используются различные символы из некоторого набора. Понятно, что этот набор не бесконечен, через какое-то количество символов его нужно использовать снова. В этом слабость чисто полиалфавитных шифров. В полиалфавитных подстановках для замены некоторого символа исходного сообщения в каждом случае его появления последовательно используются различные символы из некоторого набора. Понятно, что этот набор не бесконечен, через какое-то количество символов его нужно использовать снова. В этом слабость чисто полиалфавитных шифров. В современных криптографических системах, как правило, используют оба способа шифрования (замены и перестановки). Такой шифратор называют составным (product cipher). Oн более стойкий, чем шифратор, использующий только замены или перестановки. В современных криптографических системах, как правило, используют оба способа шифрования (замены и перестановки). Такой шифратор называют составным (product cipher). Oн более стойкий, чем шифратор, использующий только замены или перестановки.

14 Блочное шифрование можно осуществлять двояко : Блочное шифрование можно осуществлять двояко : 1. Без обратной связи (ОС). Несколько битов (блок) исходного текста шифруются одновременно, и каждый бит исходного текста влияет на каждый бит шифртекста. Однако взаимного влияния блоков нет, то есть два одинаковых блока исходного текста будут представлены одинаковым шифртекстом. Поэтому подобные алгоритмы можно использовать только для шифрования случайной последовательности битов 1. Без обратной связи (ОС). Несколько битов (блок) исходного текста шифруются одновременно, и каждый бит исходного текста влияет на каждый бит шифртекста. Однако взаимного влияния блоков нет, то есть два одинаковых блока исходного текста будут представлены одинаковым шифртекстом. Поэтому подобные алгоритмы можно использовать только для шифрования случайной последовательности битов 2. С обратной связью. Обычно ОС организуется так: предыдущий шифрованный блок складывается по модулю 2 с текущим блоком. В качестве первого блока в цепи ОС используется инициализирующее значение. Ошибка в одном бите влияет на два блока — ошибочный и следующий за ним. 2. С обратной связью. Обычно ОС организуется так: предыдущий шифрованный блок складывается по модулю 2 с текущим блоком. В качестве первого блока в цепи ОС используется инициализирующее значение. Ошибка в одном бите влияет на два блока — ошибочный и следующий за ним. Генератор ПСЧ может применяться и при блочном шифровании : Генератор ПСЧ может применяться и при блочном шифровании : 1. Поблочное шифрование потока данных. Шифрование последовательных блоков (подстановки и перестановки) зависит от генератора ПСЧ, управляемого ключом. 2. Поблочное шифрование потока данных с ОС. Генератор ПСЧ управляется шифрованным или исходным текстом или обоими вместе. Весьма распространен федеральный стандарт США DES (Data Encryption Standard), на котором основан международный стандарт ISO DES был поддержан Американским национальным институтом стандартов (American National Standards Institute, ANSI) и рекомендован для применения Американской ассоциацией банков (American Bankers Association, ABA). DES предусматривает 4 режима работы: Весьма распространен федеральный стандарт США DES (Data Encryption Standard), на котором основан международный стандарт ISO DES был поддержан Американским национальным институтом стандартов (American National Standards Institute, ANSI) и рекомендован для применения Американской ассоциацией банков (American Bankers Association, ABA). DES предусматривает 4 режима работы: ECB (Electronic Codebook) электронный шифрблокнот; ECB (Electronic Codebook) электронный шифрблокнот; CBC (Cipher Block Chaining) цепочка блоков; CBC (Cipher Block Chaining) цепочка блоков; CFB (Cipher Feedback) обратная связь по шифртексту; CFB (Cipher Feedback) обратная связь по шифртексту; OFB (Output Feedback) обратная связь по выходу. OFB (Output Feedback) обратная связь по выходу.

15 ГОСТ отечественный стандарт на шифрование данных. Стандарт включает три алгоритма зашифровывания (расшифровывания) данных: режим простой замены, режим гаммирования, режим гаммирования с обратной связью — и режим выработки имитовставки. ГОСТ отечественный стандарт на шифрование данных. Стандарт включает три алгоритма зашифровывания (расшифровывания) данных: режим простой замены, режим гаммирования, режим гаммирования с обратной связью — и режим выработки имитовставки. С помощью имитовставки можно зафиксировать случайную или умышленную модификацию зашифрованной информации. Вырабатывать имитовставку можно или перед зашифровыванием (после расшифровывания) всего сообщения, или одновременно с зашифровыванием (расшифровыванием) по блокам. При этом блок информации шифруется первыми шестнадцатью циклами в режиме простой замены, затем складывается по модулю 2 со вторым блоком, результат суммирования вновь шифруется первыми шестнадцатью циклами и т. д. С помощью имитовставки можно зафиксировать случайную или умышленную модификацию зашифрованной информации. Вырабатывать имитовставку можно или перед зашифровыванием (после расшифровывания) всего сообщения, или одновременно с зашифровыванием (расшифровыванием) по блокам. При этом блок информации шифруется первыми шестнадцатью циклами в режиме простой замены, затем складывается по модулю 2 со вторым блоком, результат суммирования вновь шифруется первыми шестнадцатью циклами и т. д. Алгоритмы шифрования ГОСТ обладают достоинствами других алгоритмов для симметричных систем и превосходят их своими возможностями. Так, ГОСТ (256-битовый ключ, 32 цикла шифрования) по сравнению с такими алгоритмами, как DES (56-битовый ключ, 16 циклов шифрования) и FEAL-1 (64-битовый ключ, 4 цикла шифрования) обладает более высокой криптостойкостью за счет более длинного ключа и большего числа циклов шифрования. Алгоритмы шифрования ГОСТ обладают достоинствами других алгоритмов для симметричных систем и превосходят их своими возможностями. Так, ГОСТ (256-битовый ключ, 32 цикла шифрования) по сравнению с такими алгоритмами, как DES (56-битовый ключ, 16 циклов шифрования) и FEAL-1 (64-битовый ключ, 4 цикла шифрования) обладает более высокой криптостойкостью за счет более длинного ключа и большего числа циклов шифрования. Достоинствами ГОСТ являются также наличие защиты от навязывания ложных данных (выработка имитовставки) и одинаковый цикл шифрования во всех четырех алгоритмах ГОСТа. Достоинствами ГОСТ являются также наличие защиты от навязывания ложных данных (выработка имитовставки) и одинаковый цикл шифрования во всех четырех алгоритмах ГОСТа.

16 Аcимметричные алгоритмы шифрования В асимметричных алгоритмах шифрования (или криптографии с открытым ключом) для зашифровывания информации используют один ключ (открытый), а для расшифровывания — другой (секретный). Эти ключи различны и не могут быть получены один из другого. В асимметричных алгоритмах шифрования (или криптографии с открытым ключом) для зашифровывания информации используют один ключ (открытый), а для расшифровывания — другой (секретный). Эти ключи различны и не могут быть получены один из другого. Схема обмена информацией такова: Схема обмена информацией такова: получатель вычисляет открытый и секретный ключи, секретный ключ хранит в тайне, открытый же делает доступным (сообщает отправителю, группе пользователей сети, публикует); получатель вычисляет открытый и секретный ключи, секретный ключ хранит в тайне, открытый же делает доступным (сообщает отправителю, группе пользователей сети, публикует); отправитель, используя открытый ключ получателя, зашифровывает сообщение, которое пересылается получателю; отправитель, используя открытый ключ получателя, зашифровывает сообщение, которое пересылается получателю; получатель получает сообщение и расшифровывает его, используя свой секретный ключ. получатель получает сообщение и расшифровывает его, используя свой секретный ключ. RSA [4, 5] RSA [4, 5] Защищен патентом США N Разработан в 1977 году в Массачусетском технологическом институте (США). Получил название по первым буквам фамилий авторов (Rivest, Shamir, Adleman). Криптостойкость основана на вычислительной сложности задачи разложения большого числа на простые множители. Защищен патентом США N Разработан в 1977 году в Массачусетском технологическом институте (США). Получил название по первым буквам фамилий авторов (Rivest, Shamir, Adleman). Криптостойкость основана на вычислительной сложности задачи разложения большого числа на простые множители. ElGamal ElGamal Разработан в 1985 году. Назван по фамилии автора — Эль-Гамаль. Используется в стандарте США на цифровую подпись DSS (Digital Signature Standard). Криптостойкость основана на вычислительной сложности задачи логарифмирования целых чисел в конечных полях Разработан в 1985 году. Назван по фамилии автора — Эль-Гамаль. Используется в стандарте США на цифровую подпись DSS (Digital Signature Standard). Криптостойкость основана на вычислительной сложности задачи логарифмирования целых чисел в конечных полях

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

18 Литература 1. Водолазский В. Коммерческие системы шифрования: основные алгоритмы и их реализация. Часть 1. // Монитор N c Водолазский В. Коммерческие системы шифрования: основные алгоритмы и их реализация. Часть 1. // Монитор N c Игнатенко Ю.И. Как сделать так, чтобы. // Мир ПК N 8. — c Игнатенко Ю.И. Как сделать так, чтобы. // Мир ПК N 8. — c Ковалевский В., Максимов В. Криптографические методы. // КомпьютерПресс N 5. — c Ковалевский В., Максимов В. Криптографические методы. // КомпьютерПресс N 5. — c Мафтик С. Механизмы защиты в сетях ЭВМ. — М.: Мир, Мафтик С. Механизмы защиты в сетях ЭВМ. — М.: Мир, Спесивцев А.В., Вегнер В.А., Крутяков А.Ю. и др. Защита информации в персональных ЭВМ. — M.: Радио и связь, Спесивцев А.В., Вегнер В.А., Крутяков А.Ю. и др. Защита информации в персональных ЭВМ. — M.: Радио и связь, Сяо Д., Керр Д., Мэдник С. Защита ЭВМ. — М.: Мир, Сяо Д., Керр Д., Мэдник С. Защита ЭВМ. — М.: Мир, Шмелева А. Грим — что это ? // Hard’н’Soft N Шмелева А. Грим — что это ? // Hard’н’Soft N ГОСТ Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. 8. ГОСТ Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования.

Криптографические методы защиты информации

Криптография и шифрование. Симметричные и асимметричные криптосистемы. Основные современные методы шифрования. Алгоритмы шифрования: замены (подстановки), перестановки, гаммирования. Комбинированные методы шифрования. Программные шифраторы.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 24.05.2005
Размер файла 57,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Муниципальное образовательное учреждение

«Средняя образовательная школа № 4

с углубленным изучением отдельных предметов»

МО «Город Полевской»

РЕФЕРАТ

на тему: “ Криптографические методы защиты

информации ”

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

ученик 9 физико-математического Климов И.С.

класса «Б»

г. Полевской

1. Введение…………….………………………………………………………………………. 3

2. Криптография и шифрование…………………………………………….. 5

2.1 Что такое шифрование……………………………………………………… 5

2.2 Основные понятия и определения криптографии…………. 6

2.3 Симметричные и асимметричные криптосистемы…………. 8

2.4 Основные современные методы шифрования……………….. 8

3. Алгоритмы шифрования

3.1 Алгоритмы замены(подстановки)…………………………………… 10

3.3 Алгоритмы гаммирования………………………………………………… 14

3.4 Алгоритмы основанные на сложных математических

преобразованиях……………………………………………………………… 15

3.5 Комбинированные методы шифрования………………………… 16

3.5.2 ГОСТ 28147-89……………………………………………………… 18

3.6 Выводы………………………………………………………………………………. 18

4.1 PGP 6.5.3……………………………………………………………………………. 20

4.2 BestCrypt 6.04……………………………………………………………………. 21

4.3 Плюсы и минусы программных шифраторов……………….. 21

5. Аппаратные шифраторы

5.1 Что такое аппаратный шифратор…………………………………… 22

5.2 Структура шифраторов……………………………………………………. 23

5.3 Шифропроцессор……………………………………………………………… 24

5.4 Быстродействие………………………………………………………………… 25

5.5 Шифраторы для защиты сетей……………………………………….. 25

5.6 Загрузка ключей шифрования……………………………………….. 26

5.7 Как программы используют шифратор…………………………. 26

5.8 Аппаратный шифратор «М-506»……………………………………. 27

5.9 Проблемы применения аппаратных шифраторов……….. 28

6. Совет и рекомендации………………………………………………………….. 29

7. Заключение………………………………………………………………………………. 31

1. Введение

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

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

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

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

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

2. Криптография и шифрование

2.1 Что такое шифрование

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

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

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

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

Один из самых известных методов шифрования носит имя Цезаря, который если и не сам его изобрел, то активно им пользовался. Не доверяя своим посыльным, он шифровал письма элементарной заменой А на D, В на Е и так далее по всему латинскому алфавиту. При таком кодировании комбинация XYZ была бы записана как АВС, а слово «ключ» превратилось бы в неудобоваримое «нобъ»(прямой код N+3).

Спустя 500 лет шифрование стало повсеместно использоваться при оставлении текстов религиозного содержания, молитв и важных государственных документов.

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

Большинство из нас постоянно используют шифрование, хотя и не всегда знают об этом. Если у вас установлена операционная система Microsoft, то знайте, что Windows хранит о вас (как минимум) следующую секретную информацию:

* пароли для доступа к сетевым ресурсам (домен, принтер, компьютеры в сети и т.п.);

* пароли для доступа в Интернет с помощью DialUр;

* кэш паролей (в браузере есть такая функция — кэшировать пароли, и Windows сохраняет все когда-либо вводимые вами в Интернете пароли);

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

Эти данные хранятся либо в рwl-файле (в Windows 95), либо в SAM-файле (в Windows NT/2000/XР). Это файл Реестра Windows, и потому операционная система никому не даст к нему доступа даже на чтение. Злоумышленник может скопировать такие файлы, только загрузившись в другую ОС или с дискеты. Утилит для их взлома достаточно много, самые современные из них способны подобрать ключ за несколько часов.

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

Итак, криптография дает возможность преобразовать информацию таким образом, что ее прочтение (восстановление) возможно только при знании ключа.

Перечислю вначале некоторые основные понятия и определения.

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

Текст — упорядоченный набор из элементов алфавита.

В качестве примеров алфавитов, используемых в современных ИС можно привести следующие:

· алфавит Z33 — 32 буквы русского алфавита и пробел;

· алфавит Z256 — символы, входящие в стандартные коды ASCII и КОИ-8;

· восьмеричный алфавит или шестнадцатеричный алфавит;

Шифрование — преобразовательный процесс: исходный текст, который носит также название открытого текста, заменяется шифрованным текстом.

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

Ключ — информация, необходимая для беспрепятственного шифрования и дешифрования текстов.

Криптографическая система представляет собой семейство T преобразований открытого текста. xлены этого семейства индексируются, или обозначаются символом k; параметр k является ключом. Пространство ключей K — это набор возможных значений ключа. Обычно ключ представляет собой последовательный ряд букв алфавита.

Криптосистемы разделяются на симметричные и с открытым ключом ( или асимметричесские) .

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

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

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

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

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

· количество всех возможных ключей;

· среднее время, необходимое для криптоанализа.

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

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

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

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

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

· должно быть не меньше общего числа возможных ключей;

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

· знание алгоритма шифрования не должно влиять на надежность защиты;

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

· структурные элементы алгоритма шифрования должны быть неизменными;

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

· длина шифрованного текста должна быть равной длине исходного текста;

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

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

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

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

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

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

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

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

2.4 Основные современные методы шифрования

Среди разнообразнейших способов шифровании можно выделить следующие основные методы:

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

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

* Алгоритмы гаммирования — символы исходного текста складываются с символами некой случайной последовательности. Самым распространенным примером считается шифрование файлов «имя пользователя.рwl», в которых операционная система Microsoft Windows 95 хранит пароли к сетевым ресурсам данного пользователя (пароли на вход в NT-серверы, пароли для DialUр-доступа в Интернет и т.д.). Когда пользователь вводит свой пароль при входе в Windows 95, из него по алгоритму шифрования RC4 генерируется гамма (всегда одна и та же), применяемая для шифрования сетевых паролей. Простота подбора пароля обусловливается в данном случае тем, что Windows всегда предпочитает одну и ту же гамму.

* Алгоритмы, основанные на сложных математических преобразованиях исходного текста по некоторой формуле. Многие из них используют нерешенные математические задачи. Например, широко используемый в Интернете алгоритм шифрования RSA основан на свойствах простых чисел.

* Комбинированные методы. Последовательное шифрование исходного текста с помощью двух и более методов.

3. Алгоритмы шифрования

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

3.1 Алгоритмы замены(подстановки)

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

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

Исходные символы шифруе-мого текста

Таблица 3.1.1 Таблица простой замены

Используя эту таблицу, зашифруем текст: In this book the reader will find a comрrehensive survey. Получим следующее зашифрованное сообщение: At omiy рbbe omr nrsirn fadd zail s xbwgnrmrtjafr jcnfru. Однако такой шифр имеет низкую стойкость, так как зашифрованный текст имеет те же статистические характеристики, что и исходный. Например, текст на английском языке содержит символы со следующими частотами появления (в порядке убывания): Е — 0,13 , Т — 0,105 , А — 0,081 , О — 0,079 и т.д. В зашифрованном тексте наибольшие частоты появления в порядке убывания имеют буквы R — 0,12 , O — 0,09 , A и N по 0,07.

Естественно предположить, что символом R зашифрована буква Е, символом О — буква Т и т.д. Это действительно соответствует таблице замены. Дальнейшая расшифровка не составляет труда.

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

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

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

Схема шифрования Вижинера. Таблица Вижинера представляет собой квадратную матрицу с n 2 элементами, где n — число символов используемого алфавита. На Рис.3.1.2 показана верхняя часть таблицы Вижинера для кириллицы. Каждая строка получена циклическим сдвигом алфавита на символ. Для шифрования выбирается буквенный ключ, в соответствии с которым формируется рабочая матрица шифрования.

И т.д. до 33-ей строки..

Рис. 3.1.2 Таблица Вижинера

Осуществляется это следующим образом. Из полной таблицы выбирается первая строка и те строки, первые буквы которых соответствуют буквам ключа. Первой размещается первая строка, а под нею — строки, соответствующие буквам ключа в порядке следования этих букв в ключе шифрования. Пример такой рабочей матрицы для ключа «книга» приведен на Рис. 3.1.3.

Процесс шифрования осуществляется следующим образом:

Рис. 3.1.3 Рабочая матрица шифрования для ключа «книга».

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

этом повторяется необходимое число раз.

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

3. полученный текст может разбиваться на группы по несколько знаков.

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

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

книгакнигак нигакнигак нигак нигакниг акнигак ниг ак нигак

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

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

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

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

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

3. полученный текст группируется в слова по смыслу.

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

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

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

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

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

· В качестве ключа используется случайность последовательных чисел. Из таблицы Вижинера выбираются десять произвольных строк, которые кодируются натуральными числами от 0 до 10. Эти строки используются в соответствии с чередованием цифр в выбранном ключе.

Известны также и многие другие модификации метода.

3.2 Алгоритм перестановки

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

Самая простая перестановка — написать исходный текст задом наперед и одновременно разбить шифрограмму на пятерки букв. Например, из фразы

ПУСТЬ БУДЕТ ТАК, КАК МЫ ХОТЕЛИ.

получится такой шифротекст:

ИЛЕТО ХЫМКА ККАТТ ЕДУБЪ ТСУП

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


Тогда шифрограмма, несмотря на столь незначительные изменения, будет выглядеть по-другому:

ОИЛЕТ ОХЫМК АККАТ ТЕДУБ ЬТСУП

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

Во время Гражданской войны в США в ходу был такой шифр: исходную фразу писали в несколько строк. Например, по пятнадцать букв в каждой (с заполнением последней строки незначащими буквами).

П У С Т Ь Б У Д Е Т Т А К К А

К М Ы Х О Т Е Л И К Л М Н О П

После этого вертикальные столбцы по порядку писали в строку с разбивкой на пятерки букв:

ПКУМС ЫТХЬО БТУЕД ЛЕИТК ТЛАМК НКОАП

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

3.3 Алгоритм гаммирования

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

где Ri, Si, G — символы соответственно зашифрованного, исходного текста и гаммы.

Рис. 3.3.1 Пример шифрования гаммированием

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

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

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

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

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

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

3.4 Алгоритмы, основанные на сложных математических преобразованиях

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

Для начала выберем два очень больших простых числа (большие исходные числа нужны для построения больших криптостойких ключей. Например, Unix-программа ssh-keygen по умолчанию генерирует ключи длиной 1024 бита).Определим параметр n как результат перемножения р и q. Выберем большое случайное число и назовем его d, причем оно должно быть взаимно простым с результатом умножения (р -1)*(q -1). Отыщем такое число e, для которого верно соотношение

(e*d) mod ((р -1) *(q -1)) = 1

(mod — остаток от деления, т. е. если e, умноженное на d, поделить на ((р -1) *(q -1)), то в остатке получим 1).

Открытым ключом является пара чисел e и n, а закрытым — d и n. При шифровании исходный текст рассматривается как числовой ряд, и над каждым его числом мы совершаем операцию

C(i)= ( M(i) e ) mod n.

В результате получается последовательность C(i), которая и составит криптотекст. Декодирование информации происходит по формуле

M(i) = ( C(i) d ) mod n.

Как видите, расшифровка предполагает знание секретного ключа.

Давайте попробуем на маленьких числах. Установим р=3, q=7. Тогда n=р*q=21. Выбираем d как 5. Из формулы (e*5) mod 12=1 вычисляем e=17. Открытый ключ 17, 21, секретный — 5, 21.

Зашифруем последовательность «2345»:

C(2)= 2 17 mod 21 =11

C(3)= 3 17 mod 21= 12

C(4)= 4 17 mod 21= 16

C(5)= 5 17 mod 21= 17

Криптотекст — 11 12 16 17.

M(2)= 11 5 mod 21= 2

M(3)= 12 5 mod 21= 3

M(4)= 16 5 mod 21= 4

M(5)= 17 5 mod 21= 5

Как видим, результат совпал.

Криптосистема RSA широко применяется в Интернете. Когда вы подсоединяетесь к защищенному серверу по протоколу SSL, устанавливаете на свой ПК сертификат WebMoney либо подключаетесь к удаленному серверу с помощью Oрen SSH или SecureShell, то все эти программы применяют шифрование открытым ключом с использованием идей алгоритма RSA. Действительно ли эта система так надежна?

С момента своего создания RSA постоянно подвергалась атакам типа Brute-force attack (атака методом грубой силы, т. е. перебором). В 1978 г. авторы алгоритма опубликовали статью, где привели строку, зашифрованную только что изобретенным ими методом. Первому, кто расшифрует сообщение, было назначено вознаграждение в размере 100 долл., но для этого требовалось разложить на два сомножителя 129-значное число. Это был первый конкурс на взлом RSA. Задачу решили только через 17 лет после публикации статьи.

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

Компания RSA (httр://www.rsa.ru) регулярно проводит конкурсы на взлом собственных (и не только собственных) шифров. Предыдущие конкурсы выиграла организация Distributed.net (httр://www.distributed. net/), являющаяся Интернет-сообществом добровольцев.

Участники Distributed.net загружают к себе на ПК небольшую программу-клиент, которая подсоединяется к центральному серверу и получает кусочек данных для вычислений. Затем все данные загружаются на центральный сервер, и клиент получает следующий блок исходной информации. И так происходит до тех пор, пока все комбинации не будут перебраны. Пользователи, участники системы, объединяются в команды, а на сайте ведется рейтинг как команд, так и стран. Например, участвующей в конкурсе по взлому RC5-64 (блочный шифр компании RSA, использующий ключ длиной 64 бита) организации Distributed.net удалось осуществить взлом через пять лет (1757 дней) работы. За это время в проекте участвовали 327 856 пользователей и было перебрано 15 268 315 356 922 380 288 вариантов ключа. Выяснилось, что была (не без юмора) зашифрована фраза «some things are better left unread» («некоторые вещи лучше оставлять непрочтенными»). Общие рекомендации по шифру RC5-64 таковы: алгоритм достаточно стоек для повседневных нужд, но шифровать им данные, остающиеся секретными на протяжении более пяти лет, не рекомендуется».

3.5 Комбинированные методы шифрования

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

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

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

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

1) подстановка + гаммирование;

2) перестановка + гаммирование;

3) гаммирование + гаммирование;

4) паодстановка + перестановка;

Типичным примером комбинированного шифра является национальный стандарт США криптографического закрытия данных (DES).

3.5.1 Криптографический стандарт DES

В 1973 г. Национальное бюро стандартов США начало разработку программы по созданию стандарта шифрования данных на ЭВМ. Был объявлен конкурс среди фирм разработчиков США, который выиграла фирма IBM, представившая в 1974 году алгоритм шифрования, известный под названием DES(Data Encryption Standart).

В этом алгоритме входные 64-битовые векторы, называемые блоками открытого текста, Преобразуются в выходные 64-битовые векторы, называемые блоками шифротекста, с помощью двоичного 56-битового ключа К. Число различных ключей DES-алгоритма равно 2 56 >7*10 16 .

Алгоритм реализуется в течение 16 аналогичных циклов шифрования, где на I-ом цикле используется цикловой ключ Ki , представляющий собой алгоритмически вырабатываемую выборку 48 битов из 56 битов ключа Ki, I=1,2,…,16.

Алгоритм обеспечивает высокую стойкость, однако недавние результаты показали, что современная технология позволяет создать вычислительное устройство стоимостью около 1 млн. долларов США, способное вскрыть секретный ключ с помощью полного перебора в среднем за 3,5 часа.

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

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

Достигнута высокая скорость шифрования. Она составляет в лучших изделиях 45 Мбит/с. Цена некоторых аппаратных изделий ниже 100 долларов США.

Основные области применения DES-алгоритма:

1) хранение данных на компьютерах (шифрование файлов, паролей);

2) аутентификация сообщений (имея сообщение и контрольную группу, несложно убедиться в подлинности сообщения;

3) электронная система платежей (при операциях с широкой клиентурой и между банками);

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

Позднее появилась модификация DESa — Triple Des («тройной DES» — так как трижды шифрует информацию «обычным» DESом) свободен от основного недостатка прежнего варианта — короткого ключа; он здесь в два раза длиннее. Но зато, как оказалось, Triple DES унаследовал другие слабые стороны своего предшественника: отсутствие возможности для параллельных вычислений при шифровании и низкую скорость.

В 1989 году в СССР был разработан блочный шифр для использования в качестве государственного стандарта шифрования данных. Разработка была принята и зарегистрирована как ГОСТ 28147-89. Алгоритм был введен в действие в 1990 году. И хотя масштабы применения этого алгоритма шифрования до сих пор уточняются, начало его внедрения, в частности в банковской системе , уже положено. Алгоритм несколько медлителен, но обладает весьма высокой стойкостью.

В общих чертах ГОСТ 28147 аналогичен DES. Блок-схема алгоритма ГОСТ отличается от блок-схемы DES-алгоритма лишь отсутствием начальной перестановки и число циклов шифрования (32 в ГОСТ против 16 в DES-алгоритме).

Ключ алгоритма ГОСТ — это массив, состоящий из 32-мерных векторов X1, X2,…X8. Цикловой ключ i-го цикла Ki равен Xs, где ряду значений i от 1 до 32 соответствует следующий ряд значений s:

В шифре ГОСТ используется 256-битовый ключ и объем ключевого пространства составляет 2 256 . Ни на одной из существующих в настоящее время или предполагаемых к реализации в недалеком будущем компьютерной системе общего применения нельзя подобрать ключ за время, меньшее многих сотен лет. Российский стандарт проектировался с большим запасом, по стойкости он на много порядков превосходит американский стандарт DES с его реальным размером ключа в 56 бит о и объемом ключевого пространства всего 2 56 ( и неудивительно: его ключ длиной 32 байта (256 бит) вчетверо больше ключа DES. Необходимое же на перебор всех ключей время при этом возрастает не в четыре раза, а в 256 32-8 =256 24 , что выливается уже в астрономические цифры), чего явно недостаточно. В этой связи DES может представлять скорее исследовательский или научный, чем практический интерес.

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

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

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

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

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

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

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

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

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

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

4. Программные шифраторы

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

4.1 РGР 6.5.3 (www.рgрi.com, www.рgр.com), freeware

РGР (Рretty Good Рrivacy) — пожалуй , самый известный и самый надежный шифровальщик. Автор программы , Рhiliр Zimmermann, практически всю свою жизнь посвятил шифрованию данных. Эта программа представляет целый ряд весьма мощных утилит. В папке Автозагрузка появляется РGРtray, который загружает РGР и отвечает за управление остальными элементами программы. Первым делом после установки программы необходимо зайти в РGРkeys и создать пару ключей — публичный и приватный. Ключи можно создавать по алгоритмам DSS и RSA , причем первый предпочтительнее. Длина ключа может находиться в пределах 1024-4096 бит. При создании ключей вам предстоит ввести строку символов, которой вы будете пользоваться в дальнейшем при расшифровке данных. Специалисты рекомендуют вводить строку из 100-200 символов, но учтите, что программа не работает с буфером обмена, так что эту последовательность вам предстоит вводить вручную каждый раз, когда вы будете расшифровывать какой-либо файл. Если вы забудете эту строку или испортите свой приватный ключ, то все, что было зашифровано предыдущим ключом, будет безвозвратно утеряно. Работает это все следующим образом: вы обмениваетесь публичными ключами со своими друзьями, поле чего можно переписываться по e-mail. Имея ваш публичный ключ, получатель сможет открыть письмо, но уже своим приватным кодом. При создании закодированного файла необходимо указать тех, кто сможет открыть этот файл. В появившееся окошко необходимо внести свой ключ, а так же ключи тех, кто также должен иметь доступ к шифруемой информации. Из программы РGРtools можно зашифровывать (шифрование осуществляется при помощи алгоритмов CAST, IDEA, и Triрe DES), подписывать, расшифровывать файлы, вызывать РGРkeys и Wiрe. Утилита Wiрe выполняет удаление файлов без возможности восстановления.

4.2 BestCryрt 6.04(httр://www.jetico.com) , freeware

Данная программа финской фирмы Jetico обеспечивает безопасность данных при помощи создания виртуальных контейнеров. Под контейнерами понимается зашифрованный файл, хранящийся на логическом диске, который подключается к системе как еще один логический диск. При работе с программой первым делом придется создать контейнер. Для этого требуется указать имя файла, в котором будет содержаться информация, его размер, описание и логический диск, на котором он будет располагаться, а также алгоритм шифрования. Программа предоставляет на выбор четыре алгоритма: BLOWFISH, DES, ГОСТ 28147-89, TWOFISH. Все ключи, кроме DES, имеют длину 256 бит, длина ключа DES — 64 бита. Сегодня этого уже откровенно недостаточно для обеспечения по-настоящему высокого уровня конфиденциальности. Эти ключи могут остановить хакера, но если кому-то действительно понадобиться получить доступ к вашей информации , то он его получит. Для открытия диска можно установить режим «только для чтения», что запретит любой программе записывать на него информацию. Как обычно, можно попросить программу подключить диск каждый раз при загрузке и отключать по истечении какого-то времени или по комбинации горячих клавиш. При этом виртуальный диск может обслуживаться программами Norton Utilites и Nuts & Bolts как обычный логический диск. Вместе с программой BestCryрt устанавливается freeware утилита BCWiрe. Она предназначена для того, чтобы после удаления каких-либо файлов с жесткого диска их невозможно было восстановить.

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

4.3 Плюсы и минусы программных шифраторов.

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

Тема: КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ. ШИФРОВАНИЕ СООБЩЕНИЙ РАЗЛИЧНЫМИ МЕТОДАМИ

Криптография— наука о защите информации от несанкционированного получения ее посторонними лицами. Сфера интересов криптографии — разработка и исследование методов шифрования информации.

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

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

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

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

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

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

По характеру использования ключа алгоритмы шифрования делятся на два типа: симметричные(с одним ключом, по-другому — с секретным ключом) и несимметричные(с двумя ключами или с открытым ключом). Несимметричные алгоритмы шифрования и дешифрования порой называют асимметричными.

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

Рассмотрим, как зашифровать сообщение методомзамены (другими словами методом подстановки). Вначале используем шифр Цезаря. Предположим, что требуется зашифровать сообщение «ГДЕ АББА».

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

В результате проведенного преобразования получится шифрограмма: ЁЖЗ ГДДГ.

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

Замена может осуществляться на символы другого алфавита и с более сложным ключом (алгоритмом замены). Для простоты опять приведем лишь начальные части алфавитов. Линии показывают порядок замены букв русского алфавита на буквы латинского алфавита. Зашифруем фразу «ГДЕ АББА»

В результате такого шифрования получится криптограмма: CDB EFFE.

Рациональнее использованный в последнем случае ключ записать в виде таблицы:

А Б В Г Д Е
Е F А С D В

При шифровании буквы могут быть заменены числами (в простейшем случае порядковыми номерами букв в алфавите). Тогда наша шифровка будет выглядеть так: 4—5—6—1—2—2—1.

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

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

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

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

Ниже приведен фрагмент ключа многоалфавитной замены:

А Б В Г Д Е

С помощью многоалфавитного шифра сообщение «ГДЕ АББА» можно зашифровать несколькими способами:

10—99—15—12—4—14—12 и т. д.

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

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

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

Предположим, что нужно зашифровать сообщение «ГДЕ АББА». В качестве ключа выберем слово «ДЕВА». В результате получим:

Сообщение Г Д Е А Б Б А
Ключ Д Е В А Д Е В
Шифровка Я Я Г А э Ь Ю

В результате преобразований получится шифровка: ЯЯГ АЭЬЮ.

Система Плейфейрасоздает многоалфавитные шифры. Рассмотрим основную идею этой системы.

Шифрование производится с помощью квадрата (или прямоугольника), в который занесены буквы соответствующего национального алфавита. Буквы записываются в квадрат или прямоугольник в произвольном порядке. Этот порядок записи букв и конфигурация таблицы являются секретным ключом. Для определенности возьмем прямоугольную таблицу размером 8×4, в качестве букв алфавита — кириллицу, а буквы расположим в алфавитном порядке. Так как число русских букв 33, а число клеток — 32, исключим из таблицы букву Ё.

А Б в г Д Е ж
И И к л М н о п
Р С т У Ф X ц ч
Ш Щ Ъ Ы Ь э ю я

Предположим, что требуется зашифровать слово КРИПТОГРАФИЯ. Рассмотрим правила шифрования.

1. Открытый текст делится на блоки по две буквы. Буквы в одном блоке не должны быть одинаковыми. Произведем разделение исходного слова на блоки по две буквы КР-ИП-ТО-ГР-АФ-ИЯ.

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

3. Если буквы открытого текста попадают в одну строку, то шифрограмма получается путем циклического сдвига вправо на одну клетку. Например, блок ИП будет преобразован в ЙИ. Еще один пример к этому правилу. Если, предположим, требуется преобразовать блок КН, то получится ЛО.

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

Блок ЖЦ будет преобразован в символы ОЮ, а блок ТЪ в символы ЪВ.

В соответствии с описанными правилами слово КРИПТОГРАФИЯ будет преобразовано в криптограмму ИТЙИЦКАУДРПШ.

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

1. Как осуществляли шифрование с помощью скиталы?

2. Какова основная идея шифра атбаш?

3. Какова основная идея шифра Цезаря?

4. Какова основная идея шифрования с помощью квадрата Полибия?

5. Какие задачи решаются с помощью криптографии и криптоанализа?

6. Что такое ключ?

7. Что такое шифрование?

8. Что такое дешифрование?

9. Какова основная идея шифрования с помощью методов замены?

10. Какова основная идея шифрования с помощью методов перестановок?

11. Какова основная идея шифрования с помощью аддитивных методов?

12. Какова основная идея шифрования с помощью шифров многоалфавитной замены?

13. В чем состоит принципиальное различие методов стеганографии и криптографии?

14. Опишите порядок шифрования с помощью таблицы Виженера.

15. Какова основная идея шифрования в системе с открытым ключом?

16. Какова основная идея шифрования с помощью аффинных криптосистем?

17. Что такое криптостойкость?

18. Каков принцип шифрования с помощью системы Хилла?

19. Для чего используется электронная подпись?

Список рекомендуемой литературы

1. Информатика. Учебник для ВУЗов. Стандарт третьего поколения. Макарова. Питер. Стандарт третьего поколения. 2011. 576 стр.

2. Информационные технологии в юридической деятельности. Учебник для бакалавров/Под редакцией П.У. Кузнецова. – М.: Юрайт, Бакалавр., 2012.

3. Гаврилов М.В. Климов В.А. Информатика и информационные технологии. Учебник для бакалавров. М.: Юрайт. 2012. 350стр.

4. Советов Б.Я., Цехановский В.В. Информационные технологии. Учебник для бакалавров.- М.: Юрайт, 2012.

5. Информатика. Базовый курс / под редакцией С.В. Симоновича. Учебник. – СПб.: Питер, 2004.

6. Информатика. Учебник для ВУЗов. Стандарт третьего поколения. Макарова. Питер. Стандарт третьего поколения. 2011. 576 стр.

7. В.А. Каймин. Информатика: Учебник. – М.: Инфа-М, 2002.

8. Информатика: Учебник / под редакцией Н.В. Макаровой.- М.: ФиС, 2003.

9. Е.В. Артемкина, С.В. Краснов Лабораторный практикум по дисциплине «Информатика». – Тольятти: ВУиТ, 2007.

10. Е.В. Артемкина, С.В. Краснов Учебное пособие по дисциплине «Информатика». – Тольятти: ВУиТ, 2007.

11. А.Н. Степанов. Информатика. Учебник. – СПб.: Питер, 2007.

12. А.П. Алексеев. Информатика 2007. – М.: СОЛОН-ПРЕСС, 2007.

13. О.А. Акулов, Н.В. Медведев. Информатика. Базовый курс. Учебник. –М.: Омега-Л, 2008, 574 с.

14. В.П. Леонтьев. Эффективная работа в Microsoft Office 2007. – М.: ОЛМА Медиа Групп, 2008.

15. О.А. Меженный. Microsoft Office 2007. Краткое руководство. М.: ООО «И.Д. Вильямс», 2008.

16. М.А. Беляев и др. Основы информатики. Учебник. – Ростов н/Д: Феникс, 2006.

17. В.А. Острейковский. Информатика. – М.: Высшая школа, 2003.

18. Ю.И. Рыжиков. Информатика. Лекции и практикум. – СПб.: Питер, 2005.

СОДЕРЖАНИЕ

Раздел: ИНФОРМАЦИЯ И ИНФОРМАТИКА. КОЛИЧЕСТВО И КАЧЕСТВО ИНФОРМАЦИИ.. 3

Тема: ИНФОРМАЦИЯ. СВОЙСТВА ИНФОРМАЦИИ.. 3

Тема: ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В ЦИФРОВЫХ АВТОМАТАХ. КОДИРОВАНИЕ ИНФОРМАЦИИ.. 8

Раздел: ТЕХНИЧЕСКИЕ И ПРОГРАММНЫЕ СРЕДСТВА РЕАЛИЗАЦИИ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ. СТРУКТУРНАЯ ОРГАНИЗАЦИЯ И ПРИНЦИПЫ ФУНКЦИОНИРОВАНИЯ ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРОВ 11

Тема: УСТРОЙСТВО КОМПЬЮТЕРА.. 11

Тема: ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА.. 27

Тема: ОПЕРАЦИОННЫЕ СИСТЕМЫ. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ. 38

Раздел: АЛГОРИТМИЗАЦИЯ И ОСНОВЫ ПРОГРАММИРОВАНИЯ.. 49

Тема: АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ. СВОЙСТВА, ВИДЫ АЛГОРИТМОВ.. 49

Тема: КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ. ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ. 56

Раздел: ПРОГРАММНЫЕ СРЕДСТВА РЕАЛИЗАЦИИ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ.. 66

Тема: ТЕКСТОВЫЙ ПРОЦЕССОР MS WORD.. 66

Тема: ТАБЛИЧНЫЙ ПРОЦЕССОР MS EXCEL. 81

Тема: MS POWERPOINT — СРЕДСТВО СОЗДАНИЯ ПРЕЗЕНТАЦИЙ.. 99

Раздел: ТЕХНОЛОГИИ ХРАНЕНИЯ И ПОИСКА ИНФОРМАЦИИ.. 112

Тема: БАЗЫ ДАННЫХ.. 112

Раздел: СЕТЕВЫЕ ТЕХНОЛОГИИ ОБРАБОТКИ ИНФОРМАЦИИ. 120

Тема: ЛОКАЛЬНЫЕ КОМПЬЮТЕРНЫЕ СЕТИ.. 120

Тема: ГЛОБАЛЬНАЯ КОМПЬЮТЕРНАЯ СЕТЬ INTERNET (ИНТЕРНЕТ) 132

Тема: МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ.. 142

Тема: КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ. ШИФРОВАНИЕ СООБЩЕНИЙ РАЗЛИЧНЫМИ МЕТОДАМИ.. 157

Илон Маск рекомендует:  Cgissi пример счетчика
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL