Оглавление
Введение
Глава I. Криптология
1.1 Шифрование – метод защиты информации
1.2 История развития криптологии
1.3 Криптология в наши дни
1.4 Классификация алгоритмов шифрования
Глава II. Рассмотрение алгоритмов
2.1 Симметричные алгоритмы шифрования
2.1.1 Потоковые шифры
2.1.2 Блочные шифры
2.2 Ассиметричные алгоритмы шифрования
2.2.1 Алгоритм Диффи-Хелмана
2.2.2 Агоритм RSA
2.2.3 ElGamal
2.3 Сравнение симметричных и ассиметричных алгоритмов шифрования
2.4 Использование инструментов криптографии в Delphi-приложениях
2.4.1 CryptoAPI
2.4.2 Подключение к криптопровайдеру. Контейнеры ключей
2.4.3 Шифрование на основе пользовательских данных или пароля
2.5 Постановка задачи
2.6 Реализация задачи
2.6.1 Краткая характеристика среды Delphi7
2.6.2 Алгоритм решения задачи
2.6.3 Таблица сообщений
Заключение
Литература
Введение
Многим из нас приходилось видеть личную информацию в различных свободно продаваемых базах данных. Большинство людей это справедливо возмущало, и они требовали прекратить свободное распространение личных данных. Но проблема заключалась в том, что личные данные не были четко классифицированы, и не ясно было, что можно распространять, а что нельзя.
Точки над i наконец расставили в законе Российской Федерации №152-ФЗ от 27 июля 2006 года. И теперь мы знаем, что персональные данные это любая информация, относящаяся к определенному или определяемому на основании такой информации физическому лицу (субъекту персональных данных), в том числе его фамилия, имя, отчество, год, месяц, дата и место рождения, адрес, семейное, социальное, имущественное положение, образование, профессия, доходы, другая информация.
Но закон накладывает определенные обязательства на операторов персональных данных – те компании и организации, которые оперируют такими данными. Согласно закону, с 1 января 2010 года все операторы персональных данных должны обеспечить защиту персональных данных в соответствии с требованиями закона 152-ФЗ. А «лица, виновные в нарушении требований настоящего Федерального закона, несут гражданскую, уголовную, административную, дисциплинарную и иную предусмотренную законодательством Российской Федерации ответственность».
В своей работе я хочу рассмотреть алгоритмы, при помощи которых мы можем защитить свои персональные данные.
Глава I. Криптология
1.1 Шифрование - метод защиты информации
Испокон веков не было ценности большей, чем информация. ХХ век - век информатики и информатизации. Технология дает возможность передавать и хранить все большие объемы информации. Это благо имеет и оборотную сторону. Информация становится все более уязвимой по разным причинам:
· возрастающие объемы хранимых и передаваемых данных;
· расширение круга пользователей, имеющих доступ к ресурсам ЭВМ, программам и данным;
· усложнение режимов эксплуатации вычислительных систем.
Поэтому все большую важность приобретает проблема защиты информации от несанкционированного доступа (НСД) при передаче и хранении. Сущность этой проблемы - постоянная борьба специалистов по защите информации со своими "оппонентами".
Защита информации - совокупность мероприятий, методов и средств, обеспечивающих:
· исключение НСД к ресурсам ЭВМ, программам и данным;
· проверку целостности информации;
· исключение несанкционированного использования программ (защита программ от копирования).
Очевидная тенденция к переходу на цифровые методы передачи и хранения информации позволяет применять унифицированные методы и алгоритмы для защиты дискретной (текст, факс, телекс) и непрерывной (речь) информации.
Испытанный метод защиты информации от НСД - шифрование (криптография). Шифрованием (encryption) называют процесс преобразования открытых данных (plaintext) в зашифрованные (шифртекст, ciphertext) или зашифрованных данных в открытые по определенным правилам с применением ключей. В англоязычной литературе зашифрование/расшифрование - enciphering/deciphering.
С помощью криптографических методов возможно:
· шифрование информации;
· реализация электронной подписи;
· распределение ключей шифрования;
· защита от случайного или умышленного изменения информации.
К алгоритмам шифрования предъявляются определенные требования:
· высокий уровень защиты данных против дешифрования и возможной модификации;
· защищенность информации должна основываться только на знании ключа и не зависеть от того, известен алгоритм или нет (правило Киркхоффа);
· малое изменение исходного текста или ключа должно приводить к значительному изменению шифрованного текста (эффект "обвала");
· область значений ключа должна исключать возможность дешифрования данных путем перебора значений ключа;
· экономичность реализации алгоритма при достаточном быстродействии;
· стоимость дешифрования данных без знания ключа должна превышать стоимость данных.
1.2 История развития криптологии
Криптология - древняя наука и обычно это подчеркивают рассказом о Юлии Цезаре (100 - 44 гг. до н. э.), переписка которого с Цицероном (106 - 43 гг. до н. э.) и другими "абонентами" в Древнем Риме шифровалась. Шифр Цезаря, иначе шифр циклических подстановок, состоит в замене каждой буквы в сообщении буквой алфавита, отстоящей от нее на фиксированное число букв. Алфавит считается циклическим, то есть после Z следует A. Цезарь заменял букву буквой, отстоящей от исходной на три.
Сегодня в криптологии принято оперировать символами не в виде букв, а в виде чисел, им соответствующих. Так, в латинском алфавите можем использовать числа от 0 (соответствующего A) до 25 (Z). Обозначая число, соответствующее исходному символу, x, а закодированному - y, можем записать правило применения подстановочного шифра:
y = x + z (mod N), (1)
где z - секретный ключ, N - количество символов в алфавите, а сложение по модулю N - операция, аналогичная обычному сложению, с тем лишь отличием, что если обычное суммирование дает результат, больший или равный N, то значением суммы считается остаток от деления его на N.
Шифр Цезаря в принятых обозначениях соответствует значению секретного ключа z = 3 (а у Цезаря Августа z = 4). Такие шифры раскрываются чрезвычайно просто даже без знания значения ключа: достаточно знать лишь алгоритм шифрования, а ключ можно подобрать простым перебором (так называемой силовой атакой). Криптология и состоит из двух частей - криптографии, изучающей способы шифрования и/или проверки подлинности сообщений, и криптоанализа, рассматривающего пути расшифровки и подмены криптограмм. Неустойчивость первых шифров на многие столетия породила атмосферу секретности вокруг работы криптографа, затормозила развитие криптологии как науки.
Так называемая "донаучная" криптография более чем за две тысячи лет полуинтуитивно "нащупала" довольно много интересных решений. Простейшее действие - выполнить подстановку не в алфавитном порядке. Неплохо также переставить символы в сообщении местами (шифры перестановок).
Первым систематическим трудом по криптографии принято считать работу великого архитектора Леона Баттиста Альберти (1404 - 1472 гг.). Период до середины XVII века уже насыщен работами по криптографии и криптоанализу. Интриги вокруг шифрограмм в Европе того времени удивительно интересны. Франсуа Виет (1540 - 1603 гг.), который при дворе короля Франции Генриха IV так успешно занимался криптоанализом (тогда еще не носившим этого гордого названия), что испанский король Филипп II жаловался Папе Римскому на применение французами черной магии. Но все обошлось без кровопролития - при дворе Папы в это время уже служили советники из семейства Ардженти, которых мы сегодня назвали бы криптоаналитиками.
Можно утверждать, что на протяжении веков дешифрованию криптограмм помогает частотный анализ появления отдельных символов и их сочетаний. Вероятности появления отдельных букв в тексте сильно разнятся (для русского языка, например, буква "о" появляется в 45 раз чаще буквы "ф"). Это, с одной стороны, служит основой как для раскрытия ключей, так и для анализа алгоритмов шифрования, а с другой - является причиной значительной избыточности (в информационном смысле) текста на естественном языке. Любая простая подстановка не позволяет спрятать частоту появления символа - как шило из мешка торчат в русском тексте символы, соответствующие буквам "о", "е", "а", "и", "т", "н". Но теория информации и мера избыточности еще не созданы, и для борьбы с врагом криптографа - частотным анализом - предлагается РАНДОМИЗАЦИЯ. Ее автор Карл Фридрих Гаусс (1777 - 1855 гг.) ошибочно полагал, что создал нераскрываемый шифр.
Следующая заметная личность в истории криптологии, которую мы не должны пропустить, - голландец Огюст Керкхофф (1835 - 1903 гг.). Ему принадлежит замечательное "правило Керкхоффа": стойкость шифра должна определяться ТОЛЬКО секретностью ключа. Учитывая время, когда это правило было сформулировано, его можно признать величайшим открытием (до создания систематической теории еще более полувека!). Это правило полагает, что АЛГОРИТМ шифрования НЕ ЯВЛЯЕТСЯ СЕКРЕТНЫМ, а значит, можно вести открытое обсуждение достоинств и недостатков алгоритма. Таким образом, это правило переводит работы по криптологии в разряд ОТКРЫТЫХ научных работ, допускающих дискуссии, публикации и т. п.
1.3 Криптология в наши дни
Последнее имя, которое мы назовем в донаучной криптологии, - инженер Жильбер Вернам (G.S. Vernam). В 1926 году он предложил действительно нераскрываемый шифр. Идея шифра состоит в том, чтобы в уравнении (1) для каждого следующего символа выбирать новое значение z. Другими словами, секретный ключ должен использоваться только один раз. Если такой ключ выбирается случайным образом, то, как было строго доказано Шенноном через 23 года, шифр является нераскрываемым. Этот шифр является теоретическим обоснованием для использования так называемых "шифроблокнотов", широкое применение которых началось в годы второй мировой войны. Шифроблокнот содержит множество ключей однократного использования, последовательно выбираемых при шифровании сообщений. Предложение Вернама, однако, не решает задачи секретной связи: вместо способа передачи секретного сообщения теперь необходимо найти способ передачи секретного ключа, РАВНОГО ему ПО ДЛИНЕ, т. е. содержащего столько же символов, сколько имеется в открытом тексте.