http://kiev-security.org.ua САМЫЙ БОЛЬШОЙ В СЕТИ ОБЪЕМ ОНЛАЙН ИНФОРМАЦИИ ПО БЕЗОПАСНОСТИ на rus БАРИЧЕВ С.Г., ГОНЧАРОВ В.В., СЕРОВ Р.Е. ОСНОВЫ СОВРЕМЕННОЙ КРИПТОГРАФИИ http://kiev-security.org.ua САМЫЙ БОЛЬШОЙ В СЕТИ ОБЪЕМ ОНЛАЙН ИНФОРМАЦИИ ПО БЕЗОПАСНОСТИ на rus Москва Горячая линия – Телеком 2001ПРЕДИСЛОВИЕ К ЭЛЕКТРОННОМУ ИЗДАНИЮ Настоящая версия книги подготовлена авторами на основе печатного издания: БАРИЧЕВ С.Г. и др. «Основы современной криптографии». – М.: «Горячая линия – Телеком», 2001 – 120 с. и предназначена для свободного распространения. Любая часть книги может быть использована в любом виде с обязательным указанием источника. Не допускается внесение изменений в полную электронную версию. Отличие электронной версии от печатной состоит в том, что в электронной версии отсутствуют две главы, посвященные проблемам управления криптографическими ключами и имитозащиты информации, а также приложения о практических аспектах использования криптографических алгоритмов. Кроме того, в печатной версии устранен ряд неточностей, имеющих место в версии электронной. Печатную версию стоимостью 50 р. (без учета почтовых расходов) можно заказать по почте наложенным платежом, выслав на адрес bars@orc.ru заказ в произвольной форме, указав название книги, количество экземпляров и почтовый адрес. По этому же адресу можно заказать и оптовую поставку указанной книги (от 20 экз.) Глава 1КРИПТОГРАФИЧЕСКИЕ СИСТЕМЫ Проблема защиты информации путем ее преобразования, исключающего ее прочтение посторонним лицом, волновала человеческий ум с давних времен. История криптографии - ровесница истории человеческого языка. Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. Священные книги древнего Египта, древней Индии тому примеры. С широким распространением письменности криптография стала формироваться как самостоятельная наука. Первые криптосистемы встречаются уже в начале нашей эры. Так, Цезарь в своей переписке использовал уже более-менее систематический шифр, получивший его имя. Бурное развитие криптографические системы получили в годы первой и второй мировых войн. Появление вычислительных средств в послевоенные годы ускорило разработку и совершенствование криптографических методов. Вообще история критографии крайне увлекательна, и достойна отдельного рассмотрения, как например в [1]. Почему проблема использования криптографических методов в информационных системах (ИС) стала в настоящий момент особо актуальна? С одной стороны, расширилось использование компьютерных сетей, в частности, глобальной сети Интернет, по которым передаются большие объемы информации государственного, военного, коммерческого и частного характера, не допускающего возможность доступа к ней посторонних лиц. С другой стороны, появление новых мощных компьютеров, технологий сетевых и нейронных вычислений сделало возможным дискредитацию криптографических систем, еще недавно считавшихся практически нераскрываемыми. Все это постоянно подталкивает исследователей на создание новых криптосистем и тщательный анализ уже существующих. Проблемой защиты информации путем ее преобразования занимается криптология ( тайный, наука (слово) (греч.)). Криптология разделяется на два направления – криптографию и криптоанализ. Цели этих направлений прямо противоположны. Криптография занимается поиском и исследованием методов преобразования информации с целью скрытия ее содержания. Сфера интересов криптоанализа исследование возможности расшифровывания информации без знания ключей. В книге рассмотрены различные криптографические методы. Современная криптография разделяет их на четыре крупных класса. Симметричные криптосистемы. Криптосистемы с открытым ключом. Системы электронной цифровой подписи (ЭЦП). Системы управление ключами. Основные направления использования криптографических методов – передача конфиденциальной информации по каналам связи (например, электронная почта), установление подлинности передаваемых сообщений, хранение информации (документов, баз данных) на носителях в зашифрованном виде. Итак, криптография дает возможность преобразовать информацию таким образом, что ее прочтение (восстановление) возможно только при знании ключа. В качестве информации, подлежащей шифрованию и расшифрованию, будут рассматриваться тексты, построенные на некотором алфавите. Под этими терминами понимается следующее. Алфавит конечное множество используемых для кодирования информации знаков. Текст упорядоченный набор из элементов алфавита. В качестве примеров алфавитов, используемых в современных ИС можно привести следующие: алфавит Z33 – 32 буквы русского алфавита (исключая "ё") и пробел; алфавит Z256 – символы, входящие в стандартные коды ASCII и КОИ-8; двоичный алфавит Z2 = {0,1}; восьмеричный или шестнадцатеричный алфавит. Шифрование – процесс преобразования исходного текста, который носит также название открытого текста, в шифрованный текст. Расшифрование – процесс, обратный шифрованию. На основе ключа шифрованный текст преобразуется в исходный. Криптографическая система представляет собой семейство T преобразований открытого текста. Члены этого семейства индексируются, или обозначаются символом k; параметр k обычно называется ключом. Преобразование Tk определяется соответствующим алгоритмом и значением ключа k. Ключ – информация, необходимая для беспрепятственного шифрования и расшифрования текстов. Пространство ключей K – это набор возможных значений ключа. Обычно ключ представляет собой последовательный ряд букв алфавита. Криптосистемы подразделяются на симметричные и асимметричные (или с открытым ключом). В симметричных криптосистемах для шифрования, и для расшифрования используется один и тот же ключ. В системах с открытым ключом используются два ключа - открытый и закрытый (секретный), которые математически связаны друг с другом. Информация шифруется с помощью открытого ключа, который доступен всем желающим, а расшифровывается с помощью закрытого ключа, известного только получателю сообщения. Термины распределение ключей и управление ключами относятся к процессам системы обработки информации, содержанием которых является выработка и распределение ключей между пользователями. Электронной цифровой подписью называется присоединяемое к тексту его криптографическое преобразование, которое позволяет при получении текста другим пользователем проверить авторство и подлинность сообщения. Кpиптостойкостью называется характеристика шифра, определяющая его стойкость к расшифрованию без знания ключа (т.е. криптоанализу). Имеется несколько показателей криптостойкости, среди которых: количество всех возможных ключей; среднее время, необходимое для успешной криптоаналитической атаки того или иного вида. Эффективность шифрования с целью защиты информации зависит от сохранения тайны ключа и кpиптостойкости шифра. Требования к криптографическим системам Процесс криптографического закрытия данных может осуществляться как программно, так и аппаратно. Аппаратная реализация отличается существенно большей стоимостью, однако ей присущи и преимущества: высокая производительность, простота, защищенность и т.д. Программная реализация более практична, допускает известную гибкость в использовании. Для современных криптографических систем защиты информации сформулированы следующие общепринятые требования: зашифрованное сообщение должно поддаваться чтению только при наличии ключа; число операций, необходимых для определения использованного ключа шифрования по фрагменту шифрованного сообщения и соответствующего ему открытого текста, должно быть не меньше общего числа возможных ключей; число операций, необходимых для расшифровывания информации путем перебора всевозможных ключей должно иметь строгую нижнюю оценку и выходить за пределы возможностей современных компьютеров (с учетом возможности использования сетевых вычислений), или требовать неоприемлемо высоких затрат на эти вычисления; знание алгоритма шифрования не должно влиять на надежность защиты; незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения даже при шифровании одного и того же исходного текста; незначительное изменение исходного текста должно приводить к существенному изменению вида зашифрованного сообщения даже при использовании одного и того же ключа; структурные элементы алгоритма шифрования должны быть неизменными; дополнительные биты, вводимые в сообщение в процессе шифрования, должен быть полностью и надежно скрыты в шифрованном тексте; длина шифрованно