Автор: Пользователь скрыл имя, 01 Декабря 2014 в 14:59, курсовая работа
Целью курсовой работы является автоматизация процесса шифрования на базе современных информационных технологий.
Для достижения поставленной цели необходимо решить следующие задачи:
изучить современные системы шифрования;
выбрать и обосновать криптостойкий алгоритм, подходящий для
шифрования разнородных данных;
Алгоритмы шифрования с использованием ключей предполагают, что данные не сможет прочитать никто, кто не обладает ключом для их расшифровки. Они могут быть разделены на два класса, в зависимости от того, какая методология криптосистем напрямую поддерживается ими.
1.5.1 Симметричные алгоритмы
В симметричных криптосистемах для шифрования и расшифрования используется один и тот же ключ. Отсюда название — симметричные. Алгоритм и ключ выбирается заранее и известен обеим сторонам. Сохранение ключа в секретности является важной задачей для установления и поддержки защищенного канала связи. В связи с этим, возникает проблема начальной передачи ключа (синхронизации ключей). Кроме того существуют методы криптоатак, позволяющие так или иначе дешифровать информацию не имея ключа или же с помощью его перехвата на этапе согласования. В целом эти моменты являются проблемой криптостойкости конкретного алгоритма шифрования и являются аргументом при выборе конкретного алгоритма.
Симметричные, а конкретнее, алфавитные алгоритмы шифрования были одними из первых алгоритмов [4]. Позднее было изобретено асимметричное шифрование, в котором ключи у собеседников разные [5].
Схема реализации.
Задача. Есть два собеседника — А и Б, они хотят обмениваться конфиденциальной информацией.
Собеседник Б (или А) выбирает ключ шифрования d и алгоритм шифрования или расшифрования, затем посылает эту информацию собеседнику А (Б).
Собеседник А шифрует информацию с использованием полученного ключа d и передает ему полученный шифротекст. То же самое делает собеседник Б, если хочет отправить собеседнику А сообщение.
Собеседник Б (А), с помощью того же ключа d, расшифровывает шифротекст.
Недостатками симметричного шифрования является проблема передачи ключа собеседнику и невозможность установить подлинность или авторство текста. Поэтому, например, в основе технологии цифровой подписи лежат асимметричные схемы.
Рисунок 1.3 – Симметричное шифрование
1.5.2 Асимметричные алгоритмы
В системах с открытым ключом используются два ключа — открытый и закрытый, связанные определенным математическим образом друг с другом. Открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для шифрования сообщения и для проверки ЭЦП. Для расшифровки сообщения и для генерации ЭЦП используется секретный ключ [1].
Данная схема решает проблему симметричных схем, связанную с начальной передачей ключа другой стороне. Если в симметричных схемах злоумышленник перехватит ключ, то он сможет как «слушать», так и вносить правки в передаваемую информацию. В асимметричных системах другой стороне передается открытый ключ, который позволяет шифровать, но не расшифровывать информацию. Таким образом решается проблема симметричных систем, связанная с синхронизацией ключей [5].
Первыми исследователями, которые изобрели и раскрыли понятие шифрования с открытым кодом, были Уитфилд Диффи и Мартин Хеллман из Стэнфордского университета, и Ральф Меркле из Калифорнийского университета в Беркли. В 1976 году их работа «Новые направления в современной криптографии» открыла новую область в криптографии, теперь известную как криптография с открытым ключом.
Схема реализации
Задача. Есть два собеседника — А и Б. Собеседник А хочет передавать собеседнику Б конфиденциальную информацию.
Собеседник Б выбирает алгоритм шифрования или расшифрования и пару открытый, закрытый ключи и посылает открытый ключ собеседнику А по открытому каналу.
Собеседник А шифрует информацию с использованием открытого ключа собеседника Б и передает ему полученный шифротекст.
Собеседник Б, с помощью закрытого ключа, расшифровывает шифротекст.
Если необходимо наладить канал связи в обе стороны, то первые две операции необходимо проделать на обеих сторонах, таким образом, каждый будет знать свои закрытый, открытый ключи и открытый ключ собеседника. Закрытый ключ каждой стороны не передается по незащищенному каналу, тем самым оставаясь в секретности.
Рисунок 1.4 – Ассиметричное шифрование
1.6 Сравнение cимметричных и аcимметричных алгоритмов шифрования
В асимметричных системах необходимо применять длинные ключи (512 битов и больше). Длинный ключ резко увеличивает время шифрования. Кроме того, генерация ключей весьма длительна. Зато распределять ключи можно по незащищенным каналам.
В симметричных алгоритмах используют более короткие ключи, т. е. шифрование происходит быстрее. Но в таких системах сложно распределение ключей.
Поэтому при проектировании защищенной системы часто применяют и cимметричные, и аcимметричные алгоритмы. Так как система с открытыми ключами позволяет распределять ключи и в симметричных системах, можно объединить в системе передачи защищенной информации асимметричный и симметричный алгоритмы шифрования. С помощью первого рассылать ключи, вторым же - собственно шифровать передаваемую информацию [6, c. 53].
Обмен информацией можно осуществлять следующим образом:
ключ хранит в тайне, открытый же делает доступным;
зашифровывает сеансовый ключ, который пересылается получателю по незащищенному каналу;
используя свой секретный ключ;
пересылает получателю;
1.7 Электронные подписи
Электронная подпись (ЭП) — реквизит электронного документа, полученный в результате криптографического преобразования информации с использованием закрытого ключа подписи и позволяющий установить отсутствие искажения информации в электронном документе с момента формирования подписи и проверить принадлежность подписи владельцу сертификата ключа подписи.
Электронная подпись предназначена для идентификации лица, подписавшего электронный документ, и является полноценной заменой (аналогом) собственноручной подписи в случаях, предусмотренных законом [7].
Существует несколько схем построения цифровой подписи:
предусматривает наличие в системе третьего лица — арбитра, пользующегося доверием обеих сторон. Авторизацией документа является сам факт зашифрования его секретным ключом и передача его арбитру [8].
момент такие схемы ЭП наиболее распространены и находят широкое применение.
Симметричные схемы имеют следующие преимущества:
используемых блочных шифров, надежность которых также хорошо изучена;
будет заменить на более стойкий с минимальными изменениями в реализации.
Однако у симметричных ЭП есть и ряд недостатков:
информации, что приводит к значительному увеличению подписи. Подпись может превосходить сообщение по размеру на два порядка;
только один раз, так как после подписывания раскрывается половина секретного ключа.
Асимметричные схемы ЭП относятся к криптосистемам с открытым ключом. В отличие от асимметричных алгоритмов шифрования, в которых шифрование производится с помощью открытого ключа, а расшифровка — с помощью закрытого, в схемах цифровой подписи подписание производится с применением закрытого ключа, а проверка подписи — с применением открытого.
1.8 Стойкость шифра
Способность шифра противостоять всевозможным атакам на него называют стойкостью шифра. Под атакой на шифр понимают попытку вскрытия этого шифра. Понятие стойкости шифра является центральным для криптографии. Хотя качественно понять его довольно легко, но получение строгих доказуемых оценок стойкости для каждого конкретного шифра - проблема нерешенная. Это объясняется тем, что до сих пор нет необходимых для решения такой проблемы математических результатов. Поэтому стойкость конкретного шифра оценивается только путем всевозможных попыток его вскрытия и зависит от квалификации криптоаналитиков, атакующих шифр. Такую процедуру иногда называют проверкой стойкости. Важным подготовительным этапом для проверки стойкости шифра является продумывание различных предполагаемых возможностей, с помощью которых противник может атаковать шифр. Появление таких возможностей у противника обычно не зависит от криптографии, это является некоторой внешней подсказкой и существенно влияет на стойкость шифра. Поэтому оценки стойкости шифра всегда содержат те предположения о целях и возможностях противника, в условиях которых эти оценки получены. Прежде всего, как это уже отмечалось выше, обычно считается, что противник знает сам шифр и имеет возможности для его предварительного изучения. Противник также знает некоторые характеристики открытых текстов, например, общую тематику сообщений, их стиль, некоторые стандарты, форматы и т.д.
Из более специфических приведем еще три примера возможностей противника:
сообщения, но не имеет соответствующих им открытых текстов;
сообщения и добывать соответствующие им открытые тексты;
может зашифровывать и дешифровывать любую информацию.
При анализе передаваемых сообщений криптоустойчивость шифра оценивается из возможности получения дополнительной информации об исходном сообщении из перехваченного. Возможность получения этой информации является крайне важной характеристикой шифра, ведь эта информация, в конечном итоге, может позволить злоумышленнику дешифровать сообщение. В соответствии с этим шифры делятся на абсолютно стойкие и достаточно стойкие [9, с. 45-48]
Абсолютно стойкие системы.
Доказательство существования абсолютно стойких алгоритмов шифрования было выполнено Клодом Шенноном и опубликовано в работе «Теория связи в секретных системах» [10].
Злоумышленник не сможет извлечь никакой полезной информации об открытом тексте из перехваченного шифротекста. Шифр, обладающий таким свойством, называется абсолютно стойким [11]. Стойкость этих систем не зависит от того, какими вычислительными возможностями обладает криптоаналитик. Практическое применение систем, удовлетворяющих требованиям абсолютной стойкости, ограничено соображениями стоимости и удобства пользования.
В связи сложностью применения абсолютно стойких систем повсеместно более распространенными являются так называемые достаточно стойкие системы. Эти системы не обеспечивают равенство энтропий и, как следствие, вместе с зашифрованным сообщением передают некоторую информацию об открытом тексте. Практическая стойкость таких систем основана на их вычислительной сложности и оценивается исключительно на определенный момент времени с двух позиций:
системы
влияние на вычислительную сложность [11].
ГЛАВА 2. РАЗРАБОТКА СОБСТВЕННОЙ ПРОГРАММЫ ШИФРОВАНИЯ НА DELPHI7
Существует множество программ шифрования файлов и все они могут отличаться алгоритмами шифрования, принципами хранения информации и ценой. Есть как платные, так и бесплатные программы для шифрования данных, однако бесплатные практически ничем не уступаю платным вариантам (разве что в удобстве использования). Большинство инструментов для шифрования файлов создают отдельные защищенные виртуальные диски - так называемые, хранилища данных.