Симметричное шифрование

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

Симметричные, а конкретнее, алфавитные алгоритмы шифрования были одними из первых алгоритмов. Позднее было изобретено асимметричное шифрование, в котором ключи у собеседников разные.

Схема реализации представлена на рисунке

Рис. 2: Схема реализации симметричного шифрования

Задача. Есть два собеседника - Алиса и Боб, они хотят обмениваться конфиденциальной информацией.

Генерация ключа:

Боб (или Алиса) выбирает ключ шифрования и алгоритм (функции шифрования и расшифрования), затем посылает эту информацию Алисе (Бобу).

Шифрование и передача сообщения.

Алиса шифрует информацию с использованием полученного ключа .

И передает Бобу полученный шифротекст . То же самое делает Боб, если хочет отправить Алисе сообщение.

Расшифрование сообщения.

Боб (Алиса), с помощью того же ключа , расшифровывает шифротекст .

Недостатками симметричного шифрования является проблема передачи ключа собеседнику и невозможность установить подлинность или авторство текста. Поэтому, например, в основе технологии цифровой подписи лежат асимметричные схемы.

Асимметричное шифрование (с открытым ключом)

В системах с открытым ключом используются два ключа - открытый и закрытый, связанные определенным математическим образом друг с другом. Открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для шифрования сообщения и для проверки ЭЦП. Для расшифровки сообщения и для генерации ЭЦП используется секретный ключ.

Данная схема решает проблему симметричных схем, связанную с начальной передачей ключа другой стороне. Если в симметричных схемах злоумышленник перехватит ключ, то он сможет как "слушать", так и вносить правки в передаваемую информацию. В асимметричных системах другой стороне передается открытый ключ, который позволяет шифровать, но не расшифровывать информацию. Таким образом решается проблема симметричных систем, связанная с синхронизацией ключей.

Первыми исследователями, которые изобрели и раскрыли понятие шифрования с открытым кодом, были Уитфилд Диффи и Мартин Хеллман из Стэнфордского университета, и Ральф Меркле из Калифорнийского университета в Беркли. В 1976 году их работа "Новые направления в современной криптографии" открыла новую область в криптографии, теперь известную как криптография с открытым ключом.

Схема реализации представлена на рисунке 3:

Рис. 3: Схема ассиметричного шифрования

Задача. Есть два собеседника - Алиса и Боб, Алиса хочет передавать Бобу конфиденциальную информацию. Генерация ключевой пары:

Боб выбирает алгоритм и пару открытый, закрытый ключи - и посылает открытый ключ Алисе по открытому каналу.

Шифрование и передача сообщения.

Алиса шифрует информацию с использованием открытого ключа Боба .

И передает Бобу полученный шифротекст .

Расшифрование сообщения.

Боб, с помощью закрытого ключа , расшифровывает шифротекст .

Если необходимо наладить канал связи в обе стороны, то первые две операции необходимо проделать на обеих сторонах, таким образом, каждый будет знать свои закрытый, открытый ключи и открытый ключ собеседника. Закрытый ключ каждой стороны не передается по незащищенному каналу, тем самым оставаясь в секретности.