Алгоритмы с открытым ключом

Алгоритмы с открытым ключом

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

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

Наиболее надежные алгоритмы с открытым ключом разрабатываются на основе математической логики, но в настоящее время до сих пор нету абсолютно надежного решения. Стойкие алгоритмы также тяжело применимы на практике, так как требуют слишком длинных ключей. К примеру, ключ криптосистемы HFE зачастую занимает десятки мегабайтов, что чрезвычайно тяжело применить в алгоритмах с открытым ключем.

Также асимметричные алгоритмы затрачивают на исполнение большее количество времени по сравнению с симметричными. Кроме этого, казусы возникают когда размер шифртекста больше открытого текста.

Используются алгоритмы с открытым ключом для защиты цифровой подписи и шифрования данных. Если вы проведете аудит сайта Google.com, то вы увидите, что там также используется этот алгоритм для аутентификации пользователей.

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

Но проблема алгоритмов с открытым ключем остается в силе из-за потребности распространения ключа. Да подобного рода криптография позволяет открывать защищенный канал между двумя абонентами, так как между ними проводится обмен ключами в закрытом режиме. Однако отсутствует уверенность в том, что вы ведете диалог с доверенной личностью. Данная проблема была решена при помощи PKI, которая устанавливает доверие между сертификатом абонента и корневым центром.

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


Похожие материалы: