Cryptography
Криптография — это наука о методах обеспечения конфиденциальности, целостности, аутентичности и неотказуемости информации. Она изучает математические способы преобразования данных (шифрования), делающие их недоступными для неавторизованных лиц, а также обратные методы (дешифрования) для восстановления исходного текста законными получателями. Криптография является фундаментальной дисциплиной в области информационной безопасности, кибербезопасности и защиты данных.
История
Докомпьютерная эпоха
История криптографии насчитывает тысячелетия. Одним из первых известных шифров является шифр Цезаря, использовавшийся в Древнем Риме для военной переписки. Он относится к классу шифров простой замены, где каждая буква алфавита заменяется на другую, сдвинутую на фиксированное число позиций. В Древней Греции применялся скитала — приспособление для шифрования методом перестановки столбцов текста, намотанного на цилиндр.
В Средние века криптография развивалась в арабском мире (Аль-Кинди, IX век, написал трактат о криптоанализе — искусстве взлома шифров) и в Европе эпохи Возрождения (Леон Баттиста Альберти, XV век, предложил шифр с многоалфавитной заменой). В XVI веке французский дипломат Блез де Виженер создал шифр, названный его именем, который оставался невзламываемым на протяжении нескольких столетий.
В XIX веке криптография стала применяться в телеграфной связи и дипломатии. Во время Первой мировой войны активно использовались шифры и коды, а также началось применение механических устройств для шифрования. Вторая мировая война стала переломным моментом: немецкая шифровальная машина «Энигма» была взломана британскими криптоаналитиками под руководством Алана Тьюринга, что оказало значительное влияние на ход войны.
Компьютерная эра
С появлением электронных вычислительных машин в середине XX века криптография перешла на новый уровень. В 1970-х годах Национальное бюро стандартов США (NBS, ныне NIST) приняло первый стандарт шифрования данных DES (Data Encryption Standard), основанный на симметричном ключе. В 1976 году Уитфилд Диффи и Мартин Хеллман опубликовали концепцию криптографии с открытым ключом, а в 1977 году Рон Ривест, Ади Шамир и Леонард Адлеман разработали алгоритм RSA — первый практический асимметричный шифр.
В 1990-х годах стандарт DES был заменён на AES (Advanced Encryption Standard) после конкурса, проведённого NIST. Параллельно развивалась криптография на эллиптических кривых (ECC), предложенная Нилом Коблицем и Виктором Миллером, которая обеспечивает аналогичный уровень безопасности при меньшей длине ключа. В XXI веке криптография стала неотъемлемой частью интернет-протоколов (TLS, SSL), цифровых подписей, блокчейна и криптовалют, а также систем электронного документооборота.
Основные понятия
Шифрование и дешифрование
Шифрование — это процесс преобразования открытого текста (plaintext) в зашифрованный (ciphertext) с использованием алгоритма и ключа. Дешифрование — обратный процесс, восстанавливающий исходный текст. Ключ — это секретный параметр, определяющий конкретное преобразование.
Криптосистемы
Криптосистема состоит из:
- Множества возможных открытых текстов (P).
- Множества возможных шифротекстов (C).
- Множества ключей (K).
- Алгоритма шифрования E: P × K → C.
- Алгоритма дешифрования D: C × K → P.
Криптоанализ
Криптоанализ — это наука о методах взлома шифров, то есть восстановления открытого текста без знания ключа. Основные виды атак:
- Атака на основе шифротекста (ciphertext-only): имеется только зашифрованный текст.
- Атака на основе известного открытого текста (known-plaintext): известны пары открытый текст — шифротекст.
- Атака на основе выбранного открытого текста (chosen-plaintext): криптоаналитик может выбирать открытые тексты и получать их шифротексты.
- Атака на основе выбранного шифротекста (chosen-ciphertext): криптоаналитик может выбирать шифротексты и получать их открытые тексты.
Классификация криптографических методов
Симметричная криптография
В симметричной криптографии один и тот же ключ используется как для шифрования, так и для дешифрования. Основные подклассы:
- Блочные шифры — обрабатывают данные блоками фиксированной длины (обычно 64, 128 или 256 бит). Примеры: AES, DES, Blowfish, Twofish. Режимы работы блочных шифров (ECB, CBC, CFB, OFB, GCM) определяют, как шифруются последовательные блоки.
- Поточные шифры — шифруют данные побитово или побайтово, генерируя псевдослучайную последовательность (гамму), которая накладывается на открытый текст операцией XOR. Примеры: RC4, Salsa20, ChaCha20.
Асимметричная криптография
В асимметричной криптографии используются два математически связанных ключа: открытый (публичный) для шифрования и закрытый (приватный) для дешифрования. Открытый ключ может быть свободно распространён, закрытый — хранится в секрете. Основные алгоритмы:
- RSA — основан на сложности разложения больших целых чисел на простые множители.
- ECC (криптография на эллиптических кривых) — основана на сложности задачи дискретного логарифма в группе точек эллиптической кривой.
- DSA (Digital Signature Algorithm) — алгоритм цифровой подписи, основанный на задаче дискретного логарифма.
- Diffie-Hellman — протокол обмена ключами, позволяющий двум сторонам получить общий секретный ключ по незащищённому каналу связи.
Хэш-функции
Криптографические хэш-функции преобразуют входные данные произвольной длины в выходную строку фиксированной длины (хэш). Они обладают свойствами:
- Необратимость (односторонность): по хэшу невозможно восстановить исходные данные.
- Коллизионная стойкость: практически невозможно найти два различных входных сообщения с одинаковым хэшем.
- Лавинный эффект: малое изменение входных данных приводит к значительному изменению хэша.
Примеры: SHA-256, SHA-3, BLAKE2, MD5 (считается небезопасным из-за уязвимости к коллизиям).
Цифровые подписи
Цифровая подпись — это криптографический механизм, обеспечивающий аутентичность, целостность и неотказуемость электронного документа. Создаётся с помощью закрытого ключа отправителя и проверяется с помощью его открытого ключа. Стандарты: ECDSA (на основе ECC), RSA-PSS, EdDSA.
Применение
Защита данных в покое
Криптография используется для шифрования файлов, дисков (Full Disk Encryption), баз данных и резервных копий. Примеры: BitLocker (Windows), FileVault (macOS), LUKS (Linux), VeraCrypt.
Защита данных в передаче
Протоколы TLS/SSL обеспечивают шифрование трафика в интернете (HTTPS, SMTPS, FTPS). VPN-протоколы (IPsec, WireGuard, OpenVPN) используют криптографию для создания защищённых туннелей.
Аутентификация и управление доступом
Криптография лежит в основе систем аутентификации: пароли хранятся в виде хэшей (bcrypt, scrypt, Argon2), используются одноразовые пароли (TOTP, HOTP) и сертификаты X.509.
Электронная подпись и документооборот
В России электронная подпись регулируется Федеральным законом № 63-ФЗ «Об электронной подписи». Используются сертификаты, выданные удостоверяющими центрами, и алгоритмы ГОСТ Р 34.10-2012 (на основе эллиптических кривых) и ГОСТ Р 34.11-2012 (хэш-функция «Стрибог»).
Блокчейн и криптовалюты
Криптография является основой технологии блокчейн: хэш-функции (SHA-256 в Bitcoin, Keccak-256 в Ethereum) обеспечивают связность блоков, асимметричные алгоритмы (ECDSA, EdDSA) — цифровые подписи транзакций, а криптографические протоколы (Proof of Work, Proof of Stake) — консенсус.
Криптография в России
В России криптографическая деятельность регулируется Федеральным законом № 149-ФЗ «Об информации, информационных технологиях и о защите информации» и подзаконными актами ФСБ России. Использование криптографических средств в коммерческих целях требует лицензирования. Национальные стандарты криптографической защиты (ГОСТ) включают:
- ГОСТ 28147-89 — блочный шифр с длиной ключа 256 бит, заменённый на ГОСТ Р 34.12-2015 (шифры «Магма» и «Кузнечик»).
- ГОСТ Р 34.10-2012 — алгоритмы цифровой подписи на основе эллиптических кривых.
- ГОСТ Р 34.11-2012 — хэш-функция «Стрибог» с длиной выхода 256 или 512 бит.
Эти стандарты обязательны для использования в государственных информационных системах и при обработке персональных данных.
Современные вызовы и направления развития
Квантовая криптография
С развитием квантовых компьютеров многие современные асимметричные алгоритмы (RSA, ECC, DSA) становятся уязвимыми благодаря алгоритму Шора, который может эффективно решать задачи факторизации и дискретного логарифма. В ответ разрабатывается постквантовая криптография — алгоритмы, устойчивые к атакам квантовых компьютеров (например, на основе решёток, кодов, многомерных квадратичных систем). В России ведётся работа по адаптации ГОСТов к постквантовым угрозам.
Гомоморфное шифрование
Позволяет выполнять вычисления над зашифрованными данными без их расшифровки, что важно для облачных вычислений и анализа данных с сохранением конфиденциальности. На практике пока ограничено высокой вычислительной сложностью.
Zero-Knowledge Proofs (доказательства с нулевым разглашением)
Криптографические протоколы, позволяющие одной стороне доказать другой знание некоторого факта (например, владение закрытым ключом) без раскрытия самого факта. Используются в блокчейн-проектах (zk-SNARKs, zk-STARKs) для повышения приватности и масштабируемости.
Источники
- Шнайер Б. «Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си». — М.: Триумф, 2002.
- Менезес А., ван Ооршот П., Ванстон С. «Руководство по прикладной криптографии». — М.: Вильямс, 2003.
- Федеральный закон № 63-ФЗ «Об электронной подписи» от 06.04.2011.
- ГОСТ Р 34.10-2012 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи».
- ГОСТ Р 34.11-2012 «Информационная технология. Криптографическая защита информации. Функция хэширования».
- ГОСТ Р 34.12-2015 «Информационная технология. Криптографическая защита информации. Блочные шифры».
- NIST Special Publication 800-38A «Recommendation for Block Cipher Modes of Operation».
- Diffie W., Hellman M. «New Directions in Cryptography» (1976).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →