Простейшие шифры и их свойства
Шифр— какая-либо система преобразования текста с секретом (ключом) для обеспечения секретности передаваемой информации.
Алгоритм шифрования — это математический процесс преобразования информации в строку данных, которые выглядят как случайные.
Исходные данные часто называют открытым или простым текстом, хотя для процесса шифрования не имеет значения, что представляет собой информация — реальный текст или данные другого рода. Аналогично, зашифрованная информация называется зашифрованным текстом, но как правило, она мало напоминает текст. На рисунке процесс шифрования представлен в виде простой блок-схемы. Открытый текст загружается в механизм шифрования, который может быть даже механическим устройством наподобие машины Enigma, применявшейся во время второй мировой войны. В настоящее время почти все шифровальные машины — это компьютерные программы. Шифровальный механизм создает зашифрованный текст.
Процесс шифрования получает на входе открытый текст и преобразует его в зашифрованный текст, который выглядит как случайный (Рис. 3).
Рис. 3 - Процесс шифрования
Чтобы создать защищенный каталог, при попытке доступа к которому открывается диалоговое окно, мы воспользовались самым простым методом аутентификации, который обеспечивает сервер Apache. Этот метод шифрует пароли перед их сохранением. Мы создали пользователя с паролем password. Этот пароль был зашифрован и сохранен в виде строки aWDuA3X3H.mc2. Как видите, открытый и зашифрованный текст внешне не похожи друг на друга.
Показанный метод шифрования не является обратимым. Многие пароли сохраняются с помощью однонаправленного алгоритма шифрования. Для проверки корректности вводимого пароля расшифровывать сохраненный пароль не потребуется. Вместо этого вводимый пароль шифруется, и результат сравнивается с сохраненной версией.
Многие, но все процессы шифрования могут быть обратимыми. Обратный процесс называют дешифрацией.
В процессе шифрования открытый текст преобразуется в зашифрованный текст, который выглядит как случайный. В процессе дешифрации зашифрованный текст преобразуется обратно в открытый текст. На рисунке ниже показан двунаправленный процесс шифрования.
Рис. 4 - Двунаправленный процесс шифрования.
История криптографии насчитывает почти 4000 лет, но наибольшего развития эта наука достигла в период второй мировой войны. С тех пор развитие криптографии повторяет развитие компьютерных сетей — сначала криптография использовалась только военными и финансовыми организациями, с семидесятых годов прошлого века криптография стала шире использоваться в коммерческих компаниях, а в девяностых годах, прошлого века, криптография стала применяться практически повсеместно. За последние несколько лет криптография прошла путь от концепции, с которой обычные люди сталкиваются только в фильмах о второй мировой и в шпионских триллерах, до технологии, о которой каждый день можно прочитать в газетах, и которая применяется при каждом приобретении чего-нибудь через веб.
Существуе великое множество различных алгоритмов шифрования. Некоторые, например, DES, используют секретный, или закрытый ключ. Другие, например, RSA, используют открытый и отдельный закрытый ключи.
Шифрование с открытым ключом
Шифрование с открытым ключом базируется на двух различных ключах — открытом и закрытом. Как показано на рисунке, открытый ключ используется для шифрования сообщений, а закрытый — для их дешифрации.
При шифровании с открытым ключом для шифрования и дешифрования используются различные ключи
Преимущество этого подхода состоит в том, что, как следует из его названия, открытый ключ можно свободно распространять. Любой человек, которому вы передали свой открытый ключ, может отправить вам защищенное сообщение. Но поскольку закрытым ключем обладаете только вы, только вы и сможете дешифровать сообщение.
Наиболее известный алгоритм с открытым ключом — это алгоритм RSA, который был разработан Ривестом, Шамиром и Адельманом в Мичиганском технологическом институте (MIT) и опубликован в 1978 году. Ранее алгоритм RSA был защищен патентом, но срок действия патента истек в сентябре 2000 года.
Огромным преимуществом алгоритмов с открытым ключом является возможность передачи открытого ключа по незащищенному каналу, не беспокоясь. что он будет прочитан третьей стороной. Несмотря на это, системы с закрытым ключем все еще используются повсеместно. Часто можно встретить гибридные системы. В таких системах алгоритм с открытым ключом применяется для передачи закрытого ключа, который используется для обмена данными до конца связи. Эта дополнительная сложность компенсируется тем, что алгоритмы с закрытым ключом работают на три порядка быстрее алгоритмов с открытым ключем.
Шифрование с закрытым ключем
Шифрование с закрытым ключем основано на том, что доступ к ключу имеет только авторизованный персонал. Этот ключ должен держаться в секрете. Если ключ попадет в нехорошие руки, посторонний сможет получить несанкционированный доступ к зашифрованной информации. Как показано на рисунке, и отправитель, который шифрует сообщение, и получатель, который дешифрует сообщение, владеют одним и тем же ключом.
Наиболее широко используемым алгоритмом с закрытым ключом является стандарт DataEncryptionStandard (DES). Этот алгоритм, разработанный компанией IBM в семидесятых годах прошлого века, принят в качестве американского стандарта для коммерческих и несекретных правительственных коммуникаций. Современные скорости вычислений на порядок превышают скорости вычислений в семидесятых годах, поэтому алгоритм DES считается устаревшим как минимум с 1998 года.
Другие известные системы шифрования с закрытым ключом — это RC2, RC4, RC5, тройной DES (triple DES) и IDEA. Тройной DES-алгоритм обеспечивает достаточную степень защиты. Этот алгоритм использует тот же метод шифрования, что и DES, но применяет его трижды, используя при этом до трех разных ключей. Открытый текст шифруется с использованием первого ключа, дешифруется при помощи второго ключа, а затем шифруется с применением третьего ключа.
Явный недостаток алгоритмов с закрытым ключом состоит в том, что для отправки кому-то защищенного сообщения необходимо располагать безопастным способом передачи этому лицу закрытого ключа. А если у вас есть безопастный метод передачи ключа, то почему не воспользоваться этим же методом для передачи сообщений?
К счастью, в 1976 году произошел прорыв, когда Дифи и Хелман опубликовали первый алгоритм шифрования с открытым ключом.
Гибридный шифр
Гибридный шифр использует и симметричный шифр, и шифр с открытым ключом. Сначала генерируется случайный ключ для симметричного шифра, называемый сеансовым ключом. Сообщение зашифровывается симметричным шифром с использованием сеансового ключа. Затем сеансовый ключ зашифровывается открытым ключом получателя. Сеансовый ключ, зашифрованный шифром с открытым ключом, и сообщение, зашифрованное симметричным шифром, автоматически объединяются вместе. Получатель использует свой секретный ключ для расшифровки сеансового ключа и, затем, использует полученный сеансовый ключ для расшифровки сообщения. Так как ключ симметричного шифра передаётся защищённым образом, то для каждого сообщения генерируется новый сеансовый ключ. Дополнительно, появляется возможность зашифровать сообщение сразу для нескольких получателей, при этом к сообщению, зашифрованному сеансовым ключом, добавляется несколько копий сеансового ключа, зашифрованного открытыми ключами разных получателей. И PGP и GnuPG используют именно гибридную схему.
Сеансовый ключ
Сеансовые (сессионные) ключи — ключи, вырабатываемые между двумя пользователями, обычно для защиты канала связи. Обычно сеансовым ключом является общий секрет — информация, которая вырабатывается на основе секретного ключа одной стороны и открытого ключа другой стороны. Существует несколько протоколов выработки сеансовых ключей и общих секретов, среди них, в частности, алгоритм Диффи — Хеллмана.
Тема 9
Дата добавления: 2014-12-06; просмотров: 2365;