На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Характеристика распространенных алгоритмов шифрования

В настоящее время наблюдается резкий рост объемов информации (в том числе и
конфиденциальной), передаваемой по открытым каналам связи. По обычным телефон­ным каналам осуществляется взаимодействие между банками, брокерскими контора­ми и биржами, удаленными филиалами организаций, проводятся торги ценными бума­гами. Почта любого владельца современного персонального компьютера может быть перехвачена, а коллегам ничто не мешает ознакомиться с вашими документами. По­этому все более актуальной становится проблема защиты передаваемой информации.
Несмотря на то что конкретные реализации систем защиты информации могут суще­ственно отличаться друг от друга из-за различия методов и алгоритмов передачи дан­ных, все они должны обеспечивать решение триединой задачи:
□ конфиденциальность информации (доступность ее только для того, кому она предназначена);


целостность информации (ее достоверность и точность, а также защищенность от преднамеренных и непреднамеренных искажений);
□ готовность информации (использование в любой момент, когда в ней возникает
необходимость).
Успешное решение перечисленных задач возможно как за счет использования орга­низационно-технических мероприятий, так и с помощью криптографической защиты информации. Организационно-технические мероприятия включают в себя физическую охрану объектов конфиденциальной информации, применение специального админи­стративного персонала и целый ряд других дорогостоящих технических мер по защи­те важных данных.
Криптографическая защита в большинстве случаев является более эффективной и
дешевой. Конфиденциальность информации при этом обеспечивается шифрованием
передаваемых документов или всего трафика.
Сумеет защитить ваши данные от любопытных глаз только шифрование — кодиро­вание информации, после которого ее нельзя прочесть без специального ключа. Ког­да-то к шифрованию прибегали одни шпионы, но сейчас оно быстро становится мерой разумной предосторожности для всех тех, кто дома или на работе использует компью­тер: это лучшее средство сохранить служебную и личную тайну.
Независимо от того, применяется автономная утилита или встроенная функция почтовой программы, процесс шифрования происходит одинаково: данные обрабаты­ваются по определенному алгоритму, в результате чего образуется зашифрованный
текст. Алгоритму для работы необходимо получить от вас одну переменную — ваш
ключ.
Процесс криптографического закрытия данных может осуществляться как про­граммно, так и аппаратно. Аппаратная реализация отличается существенно большей стоимостью, однако ей присущи и преимущества: высокая производительность, про­стота, защищенность и т. д. Программная реализация более практична, допускает из­вестную гибкость в использовании. Для современных криптографических систем за­щиты информации сформулированы следующие требования:
О зашифрованное сообщение должно поддаваться чтению только при наличии ключа;
□ число операций, необходимых для определения использованного ключа шифро­вания по фрагменту шифрованного сообщения и соответствующего ему откры­того текста, должно быть не меньше общего числа возможных ключей;
□ число операций, необходимых для расшифровывания информации путем пере­бора всевозможных ключей, должно иметь строгую нижнюю оценку и выходить за пределы возможностей современных компьютеров (с учетом возможности использования сетевых вычислений);
знание алгоритма шифрования не должно влиять на надежность защиты; незначительное изменение ключа должно приводить к существенному измене­нию вида зашифрованного сообщения даже при использовании одного и того же ключа;
структурные элементы алгоритма должны быть неизменными;
дополнительные биты, вводимые в сообщение в процессе шифрования, должны быть полностью и надежно скрыты в шифрованном тексте; длина шифрованного текста должна быть равной длине исходного текста;


□ не должно быть простых и легко устанавливаемых зависимостей между ключа­ми, последовательно используемыми в процессе шифрования;
□ любой ключ из множества возможных должен обеспечивать надежную защиту информации;
алгоритм должен допускать как программную, так и аппаратную реализацию, при этом изменение длины ключа не должно вести к качественному ухудшению алгоритма шифрования. Сам по себе криптографический алгоритм, называемый алгоритмом шифрования, представляет собой некоторую математическую функцию, используемую для шифро­вания и расшифровки. Точнее таких функций две: одна применяется для шифрования, а другая — для расшифрования.
Различается шифрование двух типов: симметричное (с секретным ключом); несимметричное (с открытым ключом). При симметричном шифровании (создается ключ, файл совместно с этим ключом пропускается через программу шифрования и полученный результат пересы­лается адресату, а сам ключ передается адресату отдельно, используя другой (защи­щенный или очень надежный) канал связи. Адресат, запустив ту же самую шифроваль­ную программу с полученным ключом, сможет прочитать сообщение. Симметричное шифрование не так надежно, как несимметричное, поскольку ключ может быть пере­хвачен, но из-за высокой скорости обмена информацией оно широко используется, например, в операциях электронной торговли.
Несимметричное шифрование сложнее, но и надежнее. Для его реализации (нужны два взаимосвязанных ключа: открытый и закрытый. Получатель сообщает всем желающим свой открытый ключ, позволяющий шифровать для него сообщения. Закрытый ключ известен только получателю сообщения. Когда кому-то нужно послать
зашифрованное сообщение, он выполняет шифрование, используя открытый ключ
получателя. Получив сообщение, последний расшифровывает его с помощью своего закрытого ключа. За повышенную надежность несимметричного шифрования прихо­дится платить: поскольку вычисления в этом случае сложнее, то процедура расшиф­ровки отнимает больше времени.
Когда надежность криптографического алгоритма обеспечивается за счет сохране­ния в тайне сути самого алгоритма, такой алгоритм шифрования называется ограни­ченным. Ограниченные алгоритмы представляют значительный интерес с точки зре­ния истории криптографии, однако совершенно непригодны при современных
требованиях, предъявляемых к шифрованию. Ведь в этом случае каждая группа пользо­вателей, желающих обмениваться секретными сообщениями, должна обзавестись сво­им оригинальным алгоритмом шифрования. Использование готового оборудования и стандартных программ исключено, поскольку приведет к тому, что любой сможет приобрести это оборудование и эти программы и ознакомиться с заложенным в них алгоритмом шифрования. Тогда придется разрабатывать собственный криптографи­ческий алгоритм, причем делать это надо будет каждый раз, когда кто-то из пользова­телей группы захочет ее покинуть или когда детали алгоритма станут случайно изве­стны посторонним.
В современной криптографии указанные выше проблемы решаются с помощью использования ключа, который нужно выбирать среди значений, принадлежащих мно­жеству, называемому ключевым пространством. Функции шифрования и расшифров­ки зависят от этого ключа. Некоторые алгоритмы шифрования используют различные ключи для шифрования и расшифрования. Это означает, что ключ шифрования отли­чается от ключа расшифрования.
Надежность алгоритма шифрования с использованием ключей достигается за счет их надлежащего выбора и последующего хранения в строжайшем секрете. Это означа­ет, что такой алгоритм не требуется держать в тайне. Можно организовать массовое производство криптографических средств, в основу функционирования которых поло­жен данный алгоритм. Даже зная криптографический алгоритм, злоумышленник все равно не сможет прочесть зашифрованные сообщения, поскольку он не знает секрет­ный ключ, использованный для их зашифрования.
Как уже говорилось, существуют две разновидности алгоритмов шифрования с использованием ключей — симметричные (одноключевые) и несимметричные (двух-ключевые). В большинстве симметричных алгоритмов применяют всего Один ключ. Такие алгоритмы именуются или алгоритмами с секретным ключом,
и требуют, чтобы отправитель сообщений и их получатель заранее условились о том, каким ключом они будут пользоваться. Надежность алгоритма опре-
деляется выбором ключа, поскольку его знание дает возможность злоумышленнику без помех расшифровывать все перехваченные сообщения. Поэтому выбранный ключ следует хранить в тайне от посторонних.
Симметричные алгоритмы шифрования подразделяются на:


□ потоковые (поточные); О блочные.
Алгоритмы, в которых открытый текст обрабатывается побитно, называются пото­ковыми алгоритмами или потоковыми шифрами. В других алгоритмах открытый текст разбивается на блоки, состоящие из нескольких бит. Такие алгоритмы называются блочными, или блочными шифрами. В современных компьютерных алгоритмах блоч­ного шифрования длина блока обычно составляет 64 бита.
Основное преимущество несимметричных алгоритмов перед симметричными со­стоит в том, что секретный ключ, позволяющий расшифровывать всю получаемую
информацию, известен только получателю сообщения. Кроме того, первоначальное распределение ключей в системе не требует передачи секретного ключа, который мо­жет быть перехвачен нарушителем. Несимметричные алгоритмы получили новое ка­чество — на их основе строятся протоколы цифровой подписи. Для аутентификации с использованием симметричных алгоритмов часто требуется участие доверенной тре­тьей стороны, которая, как, например, в схеме Kerberos, хранит копии секретных клю­чей всех пользователей. Компрометация третьей стороны может привести к компро­метации всей системы аутентификации. В системах с открытым ключом эта проблема устранена потому, что каждый пользователь отвечает за безопасность только своего секретного ключа.
Симметричные алгоритмы при обнаружении в них каких-либо слабостей могут быть
доработаны путем внесения небольших изменений, а для несимметричных такая воз­можность отсутствует.
Симметричные алгоритмы работают значительно быстрее, чем алгоритмы с откры­тым ключом. На практике несимметричные алгоритмы шифрования часто применяют­ся в совокупности с симметричными алгоритмами: открытый текст зашифровывается симметричным алгоритмом, а секретный ключ этого симметричного алгоритма ровывается на открытом ключе несимметричного алгоритма. Такой механизм называ­ют цифровым конвертом (digital envelope).
Наиболее широко в настоящее время применяются следующие алгоритмы шифро­вания:
□ DES (Data Encryption Standard);
□ Blowfish;
Q IDEA (International Decryption-Encryption Algorithm);
□ ГОСТ 28147-89;
Q RSA (авторы: Rivest, Shamir и Alderman);
□ PGP.
В симметричных криптоалгоритмах (DES, ГОСТ, Blowfish, RC5, IDEA) для шиф­рования и расшифрования информации используется один и тот же секретный ключ. Достоинствами таких алгоритмов являются:
О простота программной и аппаратной реализации;
Q высокая скорость работы в прямом и обратном направлениях;
Q обеспечение необходимого уровня защиты информации при использовании ко­ротких ключей.
К основным недостаткам этих криптоалгоритмов следует отнести увеличение зат­рат по обеспечению дополнительных мер секретности при распространении ключей, а


также то, что алгоритм с секретным ключом выполняет свою задачу только в услови­ях полного доверия корреспондентов друг другу.
В несимметричных криптоалгоритмах (RSA, PGP, ECC) прямое и обратное преоб­разования выполняются с использованием открытого и секретного ключей, которые не имеют взаимосвязи, позволяющей по одному ключу вычислить другой. С помощью открытого ключа практически любой пользователь может зашифровать свое сообще­ние или проверить электронно-цифровую подпись. Расшифровать такое сообщение или поставить подпись может только владелец секретного ключа.
Такие алгоритмы позволяют реализовать протоколы типа цифровой подписи, обес­печивают открытое распространение ключей и надежную аутентификацию в сети, ус­тойчивую даже к полному перехвату трафика.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика