Криптогра́фия (от  «скрытый» +  «пишу») — наука о математических методах обеспечения конфиденциальности, целостности данных, аутентификации, шифрования.

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

Пример: Шифр АТБАШ, в котором ключом является перевёрнутый алфавит того языка, на котором шифруется текст.

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

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

Терминология

Открытый (исходный) текст — данные (не обязательно текстовые), передаваемые без использования криптографии или другими словами незашифрованные данные. Шифротекст, шифрованный (закрытый) текст — данные, полученные после применения криптосистемы (обычно — с некоторым указанным ключом). Другое название: криптограмма. Шифр, криптосистема — семейство обратимых преобразований открытого текста в шифрованный. Ключ — параметр шифра, определяющий выбор конкретного преобразования данного текста. В современных шифрах криптографическая стойкость шифра целиком определяется секретностью ключа (принцип Керкгоффса). Также выделяют ключ шифрования (encryption key) и ключ расшифрования (decryption key). Шифрование — процесс нормального применения криптографического преобразования исходных данных, известных как открытый текст, в нечитаемую форму – шифротекст. Основная цель – обеспечение конфиденциальности информации. Расшифровывание — процесс нормального применения криптографического преобразования шифрованного текста в открытый. Асимметричный шифр, двухключевой шифр, шифр с открытым ключом — шифр, в котором используются два ключа, шифрующий и расшифровывающий. Зная лишь ключ зашифровывания, нельзя расшифровать сообщение, и наоборот. Открытый ключ — один из двух ключей асимметричной системы, свободно распространяющийся. Шифрующий для секретной переписки и расшифровывающий — для электронной подписи. Секретный ключ, закрытый ключ — один из двух ключей асимметричной системы, хранящийся в секрете. Криптоанализ — наука, изучающая математические методы нарушения конфиденциальности и целостности информации. Криптоаналитик — учёный, создающий и применяющий методы криптоанализа. Криптография и криптоанализ составляют криптологию как единую науку о создании и взломе шифров (такое деление привнесено с Запада; до этого в СССР и России не применялось специального деления). Криптографическая атака — попытка криптоаналитика вызвать отклонения в атакуемой защищённой системе обмена информацией. Успешную криптографическую атаку называют взлом или вскрытие. Дешифрование (дешифровка) — процесс извлечения открытого текста без знания криптографического ключа на основе известного шифрованного. Термин дешифрование обычно применяют по отношению к процессу криптоанализа шифротекста (криптоанализ сам по себе, вообще говоря, может заключаться и в анализе криптосистемы, а не только зашифрованного ею открытого сообщения). Криптографическая стойкость — способность криптографического алгоритма противостоять криптоанализу. Имитозащита — защита от навязывания ложной информации. Другими словами, текст остаётся открытым, но появляется возможность проверить, что его не изменяли ни случайно, ни намеренно. Имитозащита достигается обычно за счёт включения в пакет передаваемых данных имитовставки. Имитовставка — блок информации, применяемый для имитозащиты, зависящий от ключа и данных. Электронная цифровая подпись, или электронная подпись — асимметричная имитовставка (ключ защиты отличается от ключа проверки). Другими словами, такая имитовставка, которую проверяющий не может подделать. Центр сертификации — сторона, чья честность неоспорима, а открытый ключ широко известен. Электронная подпись центра сертификации подтверждает подлинность открытого ключа. Хеш-функция — функция, которая преобразует сообщение произвольной длины в число («свёртку») фиксированной длины. Для криптографической хеш-функции (в отличие от хеш-функции общего назначения) сложно вычислить обратную и даже найти два сообщения с общей хеш-функцией. Гибри́дная криптосисте́ма — система шифрования, совмещающая преимущества криптосистемы с открытым ключом с производительностью симметричных криптосистем.

История

История криптографии насчитывает около 4 тысяч лет. В качестве основного критерия периодизации криптографии возможно использовать технологические характеристики используемых методов шифрования.

Первый период (приблизительно с 3-го тысячелетия до н. э.) характеризуется господством моноалфавитных шифров (основной принцип — замена алфавита исходного текста другим алфавитом через замену букв другими буквами или символами). Второй период (хронологические рамки — с IX века на Ближнем Востоке (Ал-Кинди) и с XV века в Европе (Леон Баттиста Альберти) — до начала XX века) ознаменовался введением в обиход полиалфавитных шифров. Третий период (с начала и до середины XX века) характеризуется внедрением электромеханических устройств в работу шифровальщиков. При этом продолжалось использование полиалфавитных шифров.

Четвёртый период — с середины до 70-х годов XX века — период перехода к математической криптографии. В работе Шеннона появляются строгие математические определения количества информации, передачи данных, энтропии, функций шифрования. Обязательным этапом создания шифра считается изучение его уязвимости для различных известных атак — линейного и дифференциального криптоанализа. Однако до 1975 года криптография оставалась «классической», или же, более корректно, криптографией с секретным ключом.

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

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

Современная криптография Для современной криптографии характерно использование открытых алгоритмов шифрования, предполагающих использование вычислительных средств. Известно более десятка проверенных алгоритмов шифрования, которые при использовании ключа достаточной длины и корректной реализации алгоритма криптографически стойки. Распространённые алгоритмы: симметричные DES, AES, ГОСТ 28147-89, ГОСТ 34.12-2018, Camellia, Twofish, Blowfish, IDEA, RC4 и др.; асимметричные RSA и Elgamal (Эль-Гамаль); хеш-функций SHA-2, SHA-3, ГОСТ Р 34.11-2012 («Стрибог») . Криптографические методы стали широко использоваться частными лицами в электронных коммерческих операциях, телекоммуникациях и многих других средах.

Во многих странах приняты национальные стандарты шифрования. В 2001 году в США принят стандарт симметричного шифрования AES на основе алгоритма Rijndael с длиной ключа 128, 192 и 256 бит. Алгоритм AES пришёл на смену прежнему алгоритму DES, который теперь рекомендовано использовать только в режиме Triple DES. В Российской Федерации действует стандарт ГОСТ 34.12-2015 с режимами шифрования блока сообщения длиной 64 («Магма») и 128 («Кузнечик») битов, и длиной ключа 256 бит. Также, для создания цифровой подписи используется алгоритм ГОСТ Р 34.10-2012.

Криптография с симметричным ключом

Криптография с открытым ключом

Криптоанализ

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

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

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

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

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

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

Государство, законодательство, философия и криптография

В России В Российской Федерации коммерческая деятельность, связанная с использованием криптографических средств, подлежит обязательному лицензированию. С 22 января 2008 года действовало постановление Правительства РФ от 29 декабря 2007 № 957 (отменено постановлением Правительства РФ от 16 апреля 2012 г. № 313) «Об утверждении положений о лицензировании отдельных видов деятельности, связанных с шифровальными (криптографическими) средствами», которым приняты положения о лицензировании деятельности по: распространению шифровальных (криптографических) средств; техническому обслуживанию шифровальных (криптографических) средств; предоставлению услуг в области шифрования информации; разработке, производству шифровальных (криптографических) средств, защищённых с использованием шифровальных (криптографических) средств информационных и телекоммуникационных систем.