- Услуги
- Цена и срок
- О компании
- Контакты
- Способы оплаты
- Гарантии
- Отзывы
- Вакансии
- Блог
- Справочник
- Заказать консультацию
Криптография (от др.-греч. криптос − скрытый и графи − пишу) – это наука о методах и алгоритмах шифрования. Основной целью криптографии является обеспечение конфиденциальности информации при ее хранении и передаче путем шифрования содержания сообщений.
Криптографические алгоритмы охватывают шифрование, выработку имитовставки (криптографической контрольной суммы, кода аутентификации), хэширования (выработку контрольной суммы), цифровой подписи, а также различные вспомогательные алгоритмы, например, алгоритмы выработки ключевой информации.
В традиционном понимании криптографическое преобразование информации – взаимнооднозначное математическое преобразование, зависящее от секретного параметра – ключа, ставящее в соответствие открытой информации, представленной в некоторой цифровой кодировке, зашифрованную информацию (шифртекст), также в цифровой кодировке.
Шифрованием называется зависящее от ключа преобразование открытого текста в кажущуюся случайной последовательность символов, называемую криптограммой или шифртекстом, с целью сделать непонятным его смысл для посторонних.
Классическим шифром или криптографической системой (криптосистемой) называется семейство взаимнооднозначных отображений множества возможных сообщений X во множество криптограмм Y, проиндексированное элементами k из множества ключей:
Считается, что на стороне отправителя (A) имеются два источника информации – источник сообщений и источник ключей. Выбранный для шифрования ключ k передается отправителю (А) и получателю (B) по защищенному (закрытому) каналу, то есть перехватить его невозможно. Предполагается, что канал передачи ключей абсолютно надежен и недоступен для других.
В то же время основной канал обмена является открытым, это значит, что противник (E) может перехватывать передаваемые зашифрованные сообщения. При этом предполагается, что противнику известно о криптосистеме все, кроме использованного для шифрования секретного ключа k. Противник может знать шифрующий алгоритм, вероятности выбора различных ключей и открытых текстов, но не знает, какой именно ключ был выбран на этот раз. Таким образом, секретность шифра обеспечивается только секретностью ключ.
Целью противника является определение содержания скрывающегося за шифртекстом сообщения или нахождение использованного ключа, с помощью которого можно расшифровать криптограмму.
Степень гарантий того, что криптосистема не будет взломана, называется ее стойкостью. Показано существование абсолютно стойких шифров, невозможность вскрытия которых может быть теоретически доказана. Однако на практике использование таких криптосистем оказывается затруднительным. Стойкость подавляющего большинства практически применимых шифров базируется на вычислительной сложности методов криптоанализа, то есть теоретически они могут быть взломаны, но на практике это оказывается слишком сложной задачей. Успех вскрытия вычислительно стойких шифров зависит от наличия у криптоаналитика определенного объема перехваченных сообщений, доступных временных и вычислительных ресурсов.
Кроме пассивных атак, связанных с прослушиванием канала связи, перехватом и последующим криптоанализом передаваемых зашифрованных сообщений, существуют и активные атаки, предполагающие активное вмешательство противника с процесс обмена зашифрованными сообщениями: подмена криптограмм, блокирование их передачи, повторная передача или навязывание ложных сообщений, подмена отправителя сообщения или его переадресация другому абоненту. Для противодействия активным угрозам используют методы имитозащиты (добавление к сообщениям имитовставки, кодов аутентификации, регистрационных номеров, отметок времени) и цифровую подпись сообщений.
Традиционные шифры используют и для шифрования, и для расшифровывания один и тот же секретный ключ и называются симметричными.
В зависимости от числа и типа используемых секретных параметров (ключей) криптографические алгоритмы делятся на бесключевые, одноключевые и двухключевые. Кроме того, существуют специальные криптографические протоколы (схемы разделения секрета), которые позволяют использовать более двух ключей, то есть являются многоключевыми.
Симметричные блочные шифры допускают различные режимы работы, позволяющие использовать их, в том числе и как потоковые шифры, и в качестве имитовставки (кода аутентификации). В России принят стандарт ГОСТ Р 34.13–2015 «Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров», определяющий шесть режимов работы, применимых для произвольных симметричных блочных шифров, в том числе и описанных в стандарте ГОСТ Р 34.12–2015.
Эта проблема решена в асимметричных криптосистемах, использующих пару ключей: свой личный ключ (privat key) каждый из абонентов держит в секрете, а второй ключ пары – открытый (public key) может публиковаться открыто. Асимметричные криптосистемы называют также криптосистемами с открытым ключом, они являются двухключевыми. Наиболее известным асимметричным шифром являются шифр RSA (IEEE P1363, PKCS 1), стандартизированный в международной организации ISO (ISO/IEC 18033-2:2006). В России стандарт шифрования с открытым ключом не принят.
К асимметричным криптосистемам относятся также система распределения ключей Диффи-Хеллмана (NIST SP 800-56A, IEEE P1363, X9.42) и системы цифровой подписи DSA, ECDSA (американские стандарты FIPS 186, NIST SP 800-56B, X9.62, международный стандарт ISO/IEC 14888 в трех частях). Российский стандарт цифровой подписи ГОСТ Р 34.10–2012 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи» реализует алгоритм, подобный ECDSA.
Наряду с асимметричными криптосистемами технология цифровой подписи использует бесключевые хэш-функции. В США приняты алгоритмы хэш-функций SHA-2 (FIPS 180) и SHA-3 (FIPS 202, SP 800-185). Международный стандарт ISO/IEC 10118-3 наряду с алгоритмами SHA-2 определяет хэш-функции RIPEMD и WHIRLPOOL. Отечественный алгоритм цифровой подписи используется совместно с хэш-функциями, описанными стандартом ГОСТ Р 34.11–2012 «Информационная технология. Криптографическая защита информации. Функция хэширования».