Открыть сервис

Криптографический алгоритм

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

История развития

Древние шифры

Первые известные криптографические алгоритмы появились в древних цивилизациях. В Древнем Египте использовались иероглифические замены, в Древней Греции — шифр Скитала (перестановка на цилиндре). В Древнем Риме активно применялся шифр Цезаря (сдвиг букв алфавита на фиксированное число позиций). Эти алгоритмы были простыми подстановочными или перестановочными и не требовали сложных вычислений.

Средневековье и эпоха Возрождения

В IX веке арабский учёный Аль-Кинди написал трактат «О расшифровке криптографических сообщений», в котором описал частотный анализ — метод взлома простых подстановочных шифров. В эпоху Возрождения Леон Баттиста Альберти предложил шифр на основе диска с двумя алфавитами, что стало прообразом полиалфавитных систем. В XVI веке Блез де Виженер создал шифр с переменным ключом (шифр Виженера), который оставался устойчивым к частотному анализу до XIX века.

Индустриальная эпоха

С развитием телеграфа и радио в XIX — начале XX века возникла потребность в массовой защите передаваемых данных. В 1918 году Артур Шербиус изобрёл роторную шифровальную машину «Энигма», использовавшуюся Германией во Второй мировой войне. Взлом «Энигмы» британскими криптоаналитиками (включая Алана Тьюринга) стал одним из ключевых факторов победы союзников. В СССР в 1930-е годы разрабатывались шифры, основанные на одноразовых блокнотах (гаммирование с одноразовым ключом), которые теоретически невзламываемы при соблюдении условий.

Цифровая эпоха

С появлением электронных вычислительных машин в середине XX века криптография перешла на математическую основу. В 1976 году Уитфилд Диффи и Мартин Хеллман опубликовали концепцию криптографии с открытым ключом (асимметричные алгоритмы). В 1977 году был принят стандарт DES (Data Encryption Standard) — первый общедоступный симметричный блочный шифр, одобренный правительством США. В 2001 году на смену DES пришёл AES (Advanced Encryption Standard), разработанный бельгийскими криптографами Йоаном Дайменом и Винсентом Рейменом.

Классификация криптографических алгоритмов

Симметричные алгоритмы

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

Асимметричные алгоритмы

В асимметричных алгоритмах (криптография с открытым ключом) используется пара ключей: открытый (публичный) ключ для шифрования и закрытый (приватный) ключ для расшифрования. Открытый ключ может быть свободно распространён, закрытый хранится в секрете. Основные алгоритмы:

Хеш-функции

Хеш-функции — это односторонние алгоритмы, преобразующие произвольный объём данных в битовую строку фиксированной длины (хеш, дайджест). Они необратимы: по хешу невозможно восстановить исходные данные. Основные свойства: детерминированность (один и тот же вход даёт один и тот же хеш), лавинный эффект (малое изменение входа сильно меняет хеш), устойчивость к коллизиям (сложно найти два разных сообщения с одинаковым хешем). Примеры: MD5 (устарел, небезопасен), SHA-1 (устарел), SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512), SHA-3 (Keccak), российский стандарт ГОСТ Р 34.11-2012 («Стрибог»).

Устройство и принципы работы

Основные операции

Большинство современных симметричных блочных шифров (AES, ГОСТ 28147-89) основаны на структуре сеть Фейстеля или SP-сеть (Substitution-Permutation network). В сети Фейстеля блок данных делится на две половины, которые многократно преобразуются с помощью раундовой функции, использующей часть ключа. В SP-сети блок обрабатывается последовательностью операций замены (S-блоки) и перестановки (P-блоки). Для асимметричных алгоритмов (RSA, ECC) используются операции модульной арифметики (возведение в степень, умножение) и операции над точками эллиптической кривой.

Режимы шифрования

Для блочных шифров определены режимы работы, определяющие, как шифруются последовательности блоков:

Управление ключами

Безопасность любого криптографического алгоритма существенно зависит от надёжности управления ключами: генерации, распределения, хранения и уничтожения ключей. Для симметричных алгоритмов ключи должны передаваться по защищённому каналу (например, с использованием асимметричного шифрования или протокола Диффи-Хеллмана). Для асимметричных алгоритмов открытые ключи удостоверяются с помощью инфраструктуры открытых ключей (PKI) и цифровых сертификатов.

Применение

Защита данных при передаче

Криптографические алгоритмы используются в протоколах TLS/SSL (защита веб-трафика), SSH (удалённый доступ), IPsec (защита IP-пакетов), VPN. Например, в протоколе HTTPS (HTTP over TLS) применяются симметричные шифры (AES, ChaCha20) для шифрования данных и асимметричные (RSA, ECDHE) для обмена ключами.

Защита данных при хранении

Шифрование дисков (BitLocker, LUKS), файловых систем (encfs), баз данных и архивов (7-Zip с AES). Хеш-функции используются для хранения паролей (с солью) и проверки целостности файлов (контрольные суммы).

Электронная подпись и аутентификация

Асимметричные алгоритмы (RSA, ECDSA, ГОСТ Р 34.10-2012) применяются для создания электронной подписи, которая удостоверяет авторство и целостность документа. Хеш-функции используются для вычисления дайджеста сообщения перед подписанием.

Криптовалюты и блокчейн

В криптовалютах (биткоин, эфириум) применяются хеш-функции SHA-256 и Keccak-256 для майнинга и формирования цепочки блоков, а также асимметричные алгоритмы (ECDSA с эллиптической кривой secp256k1) для создания и верификации транзакций.

Государственные стандарты

В Российской Федерации криптографические алгоритмы регламентируются национальными стандартами (ГОСТ):

Эти стандарты обязательны для использования в государственных информационных системах и при обработке персональных данных в РФ.

Критика и уязвимости

Устаревшие алгоритмы

Некоторые алгоритмы, считавшиеся надёжными в прошлом, были взломаны или признаны небезопасными. MD5 и SHA-1 подвержены коллизионным атакам. DES (56-битный ключ) был взломан полным перебором в 1998 году. RC4 имеет множество уязвимостей (атаки на WEP, уязвимости в TLS). Рекомендуется использовать только современные алгоритмы (AES-256, SHA-256, ChaCha20-Poly1305).

Квантовая угроза

Развитие квантовых компьютеров представляет потенциальную угрозу для многих асимметричных алгоритмов. Алгоритм Шора позволяет эффективно решать задачи факторизации и дискретного логарифмирования, что делает RSA, DSA и ECDSA уязвимыми. Симметричные алгоритмы (AES) и хеш-функции (SHA-3) считаются более устойчивыми к квантовым атакам (требуется лишь удвоение длины ключа). В связи с этим разрабатываются постквантовые криптографические алгоритмы (например, на основе решёток, кодов, многомерных квадратичных систем).

Реализационные ошибки

Даже стойкий алгоритм может быть скомпрометирован из-за ошибок в реализации: утечки по побочным каналам (время выполнения, потребление энергии, электромагнитное излучение), неправильное управление ключами, использование слабых генераторов случайных чисел. Пример — атака Heartbleed на OpenSSL (2014 год).

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →