1 Теоретические основы криптографии 9. КолСодержание Теоретические основы криптографии 9
Скачать 0.52 Mb.
|
колСодержание 1. Теоретические основы криптографии 9 1.1. Общие сведения по классической криптографии 9 1.2. Стойкость алгоритмов шифрования 12 1.3. Общая классификация алгоритмов шифрования 16 1.4. Реализация алгоритмов шифрования 18 1.4.1. Программная реализация 19 1.4.2. Аппаратная реализация 19 1.4.3. Программно-аппаратная реализация 20 1.5. Криптография и стеганография 21 2. Обзор основных алгоритмов шифрования 22 2.1. Симметричные криптосистемы 22 2.1.1. Шифрование с использованием операции XOR 23 2.1.2. Стандарты блочного шифрования. Алгоритм DES 23 2.1.3. Стандарты блочного шифрования. Алгоритм ГОСТ 25 2.2. Ассиметричные алгоритмы шифрования. Стандарт ассиметричного шифрования RSA 28 3. Ключевая информация 31 3.1. Генерация ключей 32 3.1.1. Детерминированные методы 32 3.1.2. Недетерминированные методы 33 3.1.3. Генерация сеансовых ключей 33 3.1.4. Генерация ключей на основе пароля пользователя 33 3.2. Накопление (хранение) ключей 34 3.3. Распределение ключей 34 4. Электронная цифровая подпись 36 4.1. Общие сведения об электронной цифровой подписи 36 4.2. Алгоритмы цифровой подписи 38 4.2.1. Цифровая подпись Эль-Гамаля 38 4.2.2. Алгоритм DSA 39 4.2.3. Слепая подпись Чаума 40 5. Хэш-функции и хэширование 41 5.1. Общие сведения 41 5.2. Типы хэш-функций 42 5.3. Требования к хэш-функциям. 42 5.4. Стойкость хэш-функций. 43 5.5. Алгоритмы хэширования 43 5.5.1. Алгоритм MD5 43 5.5.2. Алгоритм безопасного хэширования SHA 44 6. Краткое введение в криптоанализ 46 6.1. Почему криптосистемы ненадежны 47 6.2. Виды атак на криптоалгоритмы 48 6.3. Методы современного криптоанализа 50 6.3.1. Нетехнические методы взлома (Social Hacking) 50 6.3.2. Метод частотного анализа 50 6.3.3. Атака методом "грубой силы" (Brute Force Attack) 51 6.3.4. Метод встречи посередине 52 6.3.5. Метод Полларда 52 6.3.6. Дифференциальный криптоанализ 53 6.3.7. Линейный криптоанализ 54 Заключение 55 Литература 56 Введение Проблема защиты информации путем преобразований, исключающих ее прочтение посторонним лицом, волновало человечество с давних времен. Криптография исторически зародилась из потребности передачи секретной информации. История криптографии – ровесница истории письменности. Более того, первоначально письменность сама по себе была криптографической системой, т.к. в древнем обществе ей владели только избранные (например, жрецы). С широким распространением письменности криптография стала формироваться как самостоятельная наука, которая длительное время была связана только с разработкой специальных методов преобразования информации с целью ее представления в форме, недоступной для злоумышленника. С позиций сегодняшнего дня ее методы рассматриваются всего лишь как некоторые ухищрение, чем как строгая научная дисциплина. Цель: дать методы обеспечения конфиденциальности и аутентичности информации, а также методы ее криптоанализа. Задача: подать информацию в таком виде, чтобы было доступно и понятно всем людям, также подробно рассмотреть все моменты с алгоритмами шифрования. Современная криптография базируется на самых последних достижениях фундаментальных наук, и в первую очередь, математики. Сегодня в теоретической криптографии используются понятия и результаты таких разделов математики, как алгебра, теория чисел, теория сложности алгоритмов и вычислений, теория кодирования и т.д., а задачи ее далеко выходят за рамки только лишь сокрытия информации. В настоящее время в связи с бурным развитием международной глобальной сети Internet и массовым применением компьютерных информационных технологий, криптография решает следующие задачи: Давно известно, что информация может быть настоящим сокровищем. Именно поэтому часто много усилий затрачивается как на ее охрану, так и на ее добывание. Информацию нужно защищать в тех случаях, когда есть опасения, что она станет доступной посторонним, которые могут обратить ее во вред законному пользователю. Информация, которая нуждается в защите, возникает в самых разных жизненных ситуациях. В таких случаях говорят, что она содержит тайну и является защищаемой, приватной, конфиденциальной, секретной. Наиболее типичные примеры – это государственная, военная, коммерческая, юридическая, врачебная тайна и т.д. Защищаемая информация имеет следующие признаки: Имеется определенный круг законных пользователей, которые имеют право владеть информацией; Имеются незаконные пользователи, которые стремятся овладеть информацией с тем, чтобы обратить ее себе во благо, а законным пользователям во вред. Основными задачами защиты пользовательской информации являются: Обеспечение конфиденциальности информации; Обеспечение целостности информации; Обеспечение достоверности информации; Обеспечение оперативности доступа к информации; Обеспечение юридической значимости информации, представленной в виде электронного документа; Обеспечение неотслеживаемости действий клиента. Дадим краткую расшифровку этих понятий: Конфиденциальность – свойство информации быть доступной только ограниченному кругу пользователей информационной системы, в которой циркулирует данная информация. Под целостностью понимается свойство информации или программного обеспечения сохранять свою структуру и/или содержание в процессе передачи и хранения. Достоверность – свойство информации, выражающееся в строгой принадлежности объекту, который является ее источником, либо тому объекту, от которого эта информация принята. Оперативность – способность информации или некоторого информационного ресурса быть доступным для конечного пользователя в соответствии с его временными потребностями. Юридическая значимость означает, что документ обладает юридической силой. С этой целью субъекты, которые нуждаются в подтверждении юридической значимости передаваемого сообщения, договариваются о повсеместном принятии некоторых атрибутов информации, выражающих ее способность быть юридически значимой. Данное свойство особенно актуально в системах электронных платежей. Неотслеживаемость – способность совершать некоторые действия в информационной системе незаметно для других субъектов. Актуальность данного требования стала очевидной благодаря появлению таких понятий, как электронные деньги и Internet-banking. Следует отметить, что объем мероприятий по защите обрабатываемых и передаваемых данных зависит прежде всего от величины предполагаемого ущерба, который может выражаться в прямой (затраты на покупку нового программного обеспечения в случае нарушения его целостности) или в опосредованной (затраты от простоя в информационной системе банка) форме. При современном уровне развития техники сами средства связи, а также разработка средств перехвата информации требуют очень больших затрат. Защита от навязывания ложных сообщений (умышленных и непреднамеренных) Главным образом, эта задача связана с таким понятием, как имитозащита. Она состоит в формировании в зависимости от некоторого секретного ключа специальной дополнительной информации, называемой имитовставкой, которая передается вместе с криптограммой. Дело тут в том, что само по себе шифрование данных недостаточно для защиты от навязывания ложного сообщения, хотя во многих случаях законный получатель, анализируя семантику сообщения, может легко определить, что криптограмма была модифицирована или подменена. Однако при искажении цифровых данных обнаружить факт изменения данных по семантике крайне сложно. Одним из способов защиты от навязывания ложных сообщений путем целенаправленного или случайного искажения шифртекста и является имитозащита. Для вычисления имитовставки используется алгоритм, задающий зависимость имитовставки от каждого бита сообщения. Чем больше длина имитовставки, тем меньше вероятность того, что искажение шифртекста не будет обнаружено. Нарушитель может модифицировать шифртекст, но поскольку он не знает секретного ключа, то не сможет вычислить новое значение имитовставки, соответствующее искаженному сообщению. Нарушитель либо не меняет имитовставки, либо подменяет ее на случайное значение. Если используется алгоритм с хорошими криптографическими свойствами, то вероятность того, что факт изменений не будет обнаружен законным получателем, составляет , где n – длина имитовставки в битах. Аутентификация законных пользователей Она заключается в распознавании законных пользователей, после чего им предоставляются определенные права доступа к ресурсам вычислительных и информационных систем. Частным вариантом аутентификации является парольная защита входа в компьютерную систему. Для того, чтобы система защиты могла идентифицировать легальных пользователей, в памяти ЭВМ хранятся образцы их паролей, вычисленные по специальному криптографическому алгоритму, реализующему так называемую одностороннюю (On-Way) функцию . Основное требование к ней состоит в том, чтобы сложность вычисления значения функции по аргументу была низкой, а обратная операция – запредельно сложной (практически неосуществимой за 10 лет при использовании всех вычислительных ресурсов человечества). Контроль целостности информации Это обнаружение любых несанкционированных изменений информации, например, данных или программ, хранимых в компьютере. Имитозащита, в сущности, является важным частным случаем контроля целостности информации, передаваемой в виде шифртекста. Контроль основан на выработке по некоторому криптографическому закону кода обнаружений модификаций (КОМ), имеющего значительно меньший объем, чем охраняемая информация. Основным требованием к алгоритму вычисления КОМ является задание зависимости значения КОМ от каждого бита двоичного представления всех символов исходного текста. Аутентификация информации Это установление санкционированным получателем того факта, что полученное сообщение санкционированным отправителем. Соблюдение заранее оговоренного протокола (набора правил и процедур) должно обеспечить максимальную вероятность этого факта. Очевидно, что при этом контролируется и целостность сообщения на возможность подмены или искажения. В симметричных криптосистемах аутентификация осуществляется с применением одного или нескольких секретных ключей и защитных контрольных сумм. В ассиметричных криптосистемах аутентификация выполняется с использованием открытых ключей. Электронная цифровая подпись (ЭЦП) Как уже было отмечено, криптографическими методами можно обеспечить не только конфиденциальность, но и проконтролировать целостность передаваемых или хранимых данных. Контроль целостности в основном производится путем расчета некоторой "контрольной суммы" данных. Математиками и инженерами, работающими в области передачи данных и теории кодирования, разработано множество алгоритмов, рассчитывающих контрольные суммы передаваемых данных. Основой этих алгоритмов также являются односторонние функции. Электронная подпись в общем виде представляет собой контрольную сумму документа, зашифрованную секретным ключом с помощью хэш-функции. В процедуре генерации ЭЦП используются ассиметричные криптографические алгоритмы, основанные на двух ключах: открытом (Public) и личном (Private). Проверка ЭЦП документа сводится к вычислению хэш-суммы документа, ее расшифровке и сравнению двух величин. Если значения вычисленной и сохраненной в подписи хэш-сумм совпали, то считается, что подпись под документом верна. Более подробно ЭЦП будут рассмотрены позднее. Перечислим остальные задачи, решаемые современной криптографией, не вдаваясь, однако, в их подробное описание. Системы тайного электронного голосования Электронные деньги Электронная жеребьевка Защита от отказа факта приема сообщения Одновременное подписание контракта Защита документов и ценных бумаг от подделки (электронные водяные знаки) Как видно из всего вышесказанного, актуальность криптографии в настоящий момент достаточно высока, поскольку в условиях информационного общества защищать свои личные сведения необходимо не только спецслужбам и крупным коммерческим фирмам, но и одиночным пользователям. Исходя из этого, в своей работе мы постараемся в доступной форме осветить основные вопросы и положения современной криптографии, дать по возможности их теоретическое обоснование, а также рассмотреть такую важную тему, как устойчивость криптографических алгоритмов к попыткам взлома и остановиться на наиболее употребительных методах раскрытия шифрованного текста. |