4.2.2.2 Асимметричное шифрование

Алгоритмы асимметричного шифрования используют два ключа, которые образуют неразрывную пару. Создатель ключей оставляет один ключ себе: этот ключ называют закрытым (личным). Второй ключ публикуется. Его называют окрытым (публичным). В случае асимметричного шифрования каждый субъект обмена данными должен обладать парой из закрытого и открытого ключей. Безопасность обеспечивается сложностью алгоритма, что исключает возможность получения второго компонента пары ключей, зная первый компонент.
Рисунок 4‑3. Асимметричное шифрование (Источник: Learning Materials for Information Technology Professionals (EUCIP-Mat))
Поскольку асимметричное шифрование затратно по ресурсам и времени, то на практике обычно для шифрования данных используется симметричный алгоритм, а рассыллка ключей осуществляется с использованием алгоритма асимметричного шифрования с ключом получателя данных. Например, проводится шифрование э-письма таким образом, что содержание сообщения кодируется специально созданным для этого (симметричным) ключом, а ключ в свою очередь шифруется открытым ключом получателя сообщения. Зашифрованный ключ пересылается получателю, который может выполнить его расшифровку, используя свой закрытый ключ.
В настоящее время используются следующие алгоритмы асимметричного шифрования:
- RSA получил имя от имён его создателей: Ron Rivest, Adi Shamir ja Leonard Adleman. RSA использует большие простые числа при шифровании и использует широко распространённые инфраструктуры открытых ключей (PKI - Public Key Infrastructure). RSA алгоритмы можно использовать как для шифрования, так и для создания дигитальной (электронной) подписи. RSA находит применение в различных средах, в том числе, и при создании защищённого канала связи по технологии SSL (Secure Sockets Layer). Важно отметить, что симметричный ключ никуда не передаётся, поскольку у каждого из партнёров он вырабатывается непосредственно «на месте».
- Diffie-Hellmann обмен ключами (Diffie-Helmann key exchange) имеет имя в соответствии с именами его создателей. Считается, что именно они основали методологию пары открытого и закрытого ключей. Его используют в основном для безопасной пересылки ключей через глобальные сети.
- Криптосистема элиптических кривых (ECC - Elliptic Curve Cryptography) посвоему функционированию сходна с RSA алгоритмом. Её применяют в основном в малых системах (таких как мобильные телефоны и беспроводные устройства). ECC более компактна и требует меньше вычислительных ресурсов.