Описание карты. Обзор криптосхем

Описание карты. Обзор криптосхем

Ниже будет дано краткое пояснение всех криптосхем, обозначенных на "карте криптосхем" в пункте 1. Также на те криптосхемы, описание которых существует на сайте Энциклопедия теоретической и прикладной криптографии, приводятся ссылки.

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

Криптографические генераторы используются для выработки ключей и управляющих последовательностей поточных шифров. Базовым элементом криптосхем многих генераторов является ЛРС максимального периода, выходная последовательность которого (ЛРП) имеет большой период и хорошие статистические свойства. Однако ЛРП не имеет нелинейных свойств, что не позволяет рассматривать ЛРС как законченную схему качественного криптографического генератора. Поэтому использование ЛРС сочетается с различными функциональными схемами и элементами памяти. Назначение последних - привнести в криптосхему определенные нелинейные свойства, не теряя при этом положительные свойства ЛРП. Гамму такого генератора можно рассматривать как определенное усложнение ЛРП. [Ф10]

Псевдослучайные генераторы

Псевдослучайный генератор - это полиномиально вычислимая регулярная по длине функция g: * -> *, которая увеличивает длину входа и создает на выходе распределение вероятностей, вычислительно неотличимое от равномерного распределения на множестве всех двоичных строк соответствующей длины. [Я01]

Случайные генераторы

Случайный генератор - это алгоритм, который генерирует последовательность случайных чисел.

Криптографические хэш-функции

Криптографической хэш-функцией называется всякая хэш-функция, которая является криптостойкой, т.е. удовлетворяющая нескольким специфичным требованиям. [РМ04]

Secure Hash Standard (SHS)

Американский стандарт хэш-функции (SHS) разработан на основе алгоритма MD4 и принят в 1993 г. В SHS описана односторонняя функция хэширования без ключа, отображающая любое двоичное сообщение длины не больше 2^64 в 160-битовую строку. [Ш02]

ГОСТ Р 34.11-2012

ГОСТ Р 34.11-2012 - это действующий российский криптографический стандарт, который определяет алгоритм и процедуру вычисления хэш-функции. Данный алгоритм обрабатывает блоки сообщений, размер которых 512 бит и вычисляет 512- или 256-битные хэш-значения.

Симметричные криптосхемы

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

Блочные шифры

Первым опытом создания блочного шифра явился разработанный IBM шифр "Люцифер". Блоки открытого и шифрованного текста, обрабатываемые "Люцифером", представляют собой двоичные векторы длиной 128 бит. Шифр состоит из нескольких чередующихся уровней - преобразований замены блоков и преобразований перестановки координат блоков. Такие схемы называют SP-сети (сети перестановок и замен). Криптографическая идея SP-сети заключается в построении сложного преобразования с помощью композиции нескольких относительно простых, удобно реализуемых преобразований. [АЗКЧ01]

В симметричных блочных шифрах (СБШ) размер обрабатываемого блока данных варьируется от 64 до 256 бит и кратен 16 битам. СБШ может работать в нескольких различных режимах шифрования. Базовый режим, на основе которого построены все остальные режимы - электронная кодовая книга или простая замена (ECB).

Data Encryption Standart (DES)

DES - симметричный алгоритм шифрования, разработанный фирмой IBM. Он был утверждён правительством США в 1977 году как официальный стандарт (FIPS 46-3). Алгоритм DES обрабатывает блоки данных, размером 64 бита и использует ключ, размером 56 бит. Подобно шифру "Люцифер" он реализует преобразование SP-сети, построенной по итеративному принципу, то есть на основе композиции нескольких однотипных преобразований. В дальнейшем итеративный принцип построения SP-сети использовался в подавляющем большинстве разработок СБШ. [Ф10]

DESX — симметричный алгоритм шифрования, который был разработан на основе блочного шифра DES. DESX использует метод отбеливания ключа для усиления устойчивости к атакам на основе полного перебора. Алгоритм DES подвергался критике из-за короткой длины ключа, что повлекло запрет на его использование для защиты государственных секретов США. Чтобы увеличить длину ключа алгоритма DES, без его существенной переработки, был предложен алгоритм DESX. Суть алгоритма в том, что перед выполнением однократного DES и после него на данные операцией XOR накладываются различные 64-битные фрагменты ключа:

Таким образом, длина ключа увеличивается до 56 + 2 × 64 = 184 бит.

Advanced Encryption Standard (AES)

AES - итеративный обратимый блочный шифр, принятый в качестве стандарта шифрования правительством США по результатам конкурса AES. Данный шифр также известен под названием RIJNDAEL. Имеет блоки информации размером 128 бит, ключ с варьируемыми размерами - 128/192/256 бит, а также число циклов шифрования. Цикловое преобразование шифра однородно и состоит из трех типов слоев. Под однородностью преобразования понимается то, что каждый бит состояния обрабатывается аналогичным образом. Перед первым циклом и в завершение последнего цикла алгоритма применяются отображения отбеливания. [Ф10]

Доступно для скачивания приложение, позволяющее испытать AES-256 в режимах ECB и CBC:

Также доступен для скачивания исходный код этого приложения:

ГОСТ 28147-89

В 1989 году в СССР был разработан блочный шифр для использования в качестве государственного стандарта шифрования данных. Алгоритм ГОСТ 28147-89 - это итеративный 32-цикловой обратимый блочный шифр Фейстеля. Размер входного блока - 64 бита. Размер ключа - 256 бит. Данный шифр предусматривает 3 основных режима шифрования: простую замену, гаммирование и гаммирование с обратной связью, а также режим выработки имитовтавки, который используется для аутентификации данных. Режим простой замены используется только для шифрования ключевой информации (ключи и таблицы замен). Расшифрование данных возможно только при наличии синхропосылки, которая в открытом виде хранится в памяти ЭВМ или передается по каналам связи вместе с зашифрованными данными. [Ф10]

IDEA - симметричный блочный алгоритм шифрования данных, запатентованный швейцарской фирмой Ascom. Известен тем, что применялся в пакете программ шифрования PGP. В ноябре 2000 года IDEA был представлен в качестве кандидата в проекте NESSIE в рамках программы Европейской комиссии IST (англ. Information Societies Technology, информационные общественные технологии).

Симметричные криптосхемы, обеспечивающие конфиденциальность Поточные шифры

Поточный шифр - это симметричный шифр, в котором все символы открытого текста преобразуются в символы шифрованного, в зависимости и от используемого ключа, и от его места в потоке открытого текста. [БГС11]

A5 - это поточный шифр гаммирования, который используется для шифрования связи GSM, а именно канала "телефон - базовая станция". Шифр основан на побитовом сложении по модулю два генерируемой псевдослучайной последовательности и шифруемой информации. В A5 псевдослучайная последовательность вырабатывается на основе трёх линейных регистров сдвига с обратной связью. Эти регистры имеют длины 19, 22 и 23 бита соответственно. Сдвигами управляет специальная схема, которая организует на каждом шаге смещение как минимум двух регистров, что приводит к их неравномерному движению. Последовательность формируется путём операции XOR над выходными битами регистров. [M05]

Salsa20

Salsa20 - система поточного шифрования разработанная Daniel J. Bernstein. Алгоритм был представлен на конкурсе eSTREAM, целью которого было создание европейских стандартов для поточных систем шифрования. Salsa 20 стал победителем конкурса в первом профиле (поточные шифры для программного применения с большой пропускной способностью). Salsa20 основана на операциях 32-битного суммирования, побитового сложения (XOR) и операции сдвига. Алгоритм использует хэш-функцию с 20-ю циклами. [1]

Sosemanuk

Sosemanuk - это ориентированный поточный шифр. Длина ключа данного шифра колеблется от 128 до 256 бит. Начальное значение устанавливается объемом 128 бит. Шифр Sosemanuk основан на поточном шифре SNOW 2.0 и имеет некоторые особенности из блочного шифра SERPENT. Sosemanuk превосходит по многим показателям шифр SNOW 2.0. [2]

Симметричные схемы шифрования

Симметричные схемы шифрования - криптографические примитивы, которые определяются тремя компонентами: секретный ключ и алгоритмы зашифрования и расшифрования. Зашифрование и расшифрование происходит с использованием одного ключа, алгоритм шифрования обратим, а обратный ему является алгоритм зашифрования. В ходе шифрования и расшифрования с помощью блочных шифров сообщения интерпретируются как блоки данных. Как правило, длина строки превосходит размер блока, поэтому сообщения разбиваются на ряд последовательных блоков, которые обрабатываются поочередно. Для алгоритмов блочного шифрования разработаны разные режимы. [Я01]

Режим сцепления блоков зашифрованного текста (CBC) представляет собой общепринятый алгоритм блочного шифрования данных, которые имеют общий характер. В данном режиме результат шифрования представляет собой последовательность n-битовых блоков зашифрованного текста, сцепленных друг с другом. Таким образом, все блоки зашифрованного текста зависят не только от соответствующего блока исходного текста, но и от всех предыдущих блоков. Для вычисления первого блока в зашифрованном тексте необходим специальный входной блок, который называется "вектор инициализации" (Initializing Vector - IV), также называемый синхропосылка. Вектор инициализации представляет собой случайный n-битовый блок. В каждом сеансе шифрования должен применяться новый случайный вектор инициализации. [M05]

Режим счетчика (Counter Mode - CTR) - предполагает возврат на вход соответствующего алгоритма блочного шифрования значения счетчика, накопленного с момента начала. Увеличивая значение счетчика, алгоритм блочного шифрования образует строку битов, которая используется в качестве бегущего ключа шифра Вернама, т.е. к бегущему ключу и блокам исходного сообщения применяется операция XOR. [M05]

Симметричные криптосхемы, обеспечивающие конфиденциальность и аутентичность

Существуют криптосхемы, которые обеспечивают аутентичность и конфиденциальность, т.е. подлинность информации и доступ к ней только доверенных лиц. Примеры таких криптосхем: GCM, CCM, EAX. [Ш02]

Одновременное применение симметричных схем шифрования и аутентификации Encrypt-then-MAC

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

MAC-then-Encrypt

В данном обьединении добавляется имитовставка, которая сформирована с использованием открытого текста, к открытому тексту и далее полученное сообщение зашифровывается.

MAC-and-Encrypt

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

Схемы аутентичного шифрования

OCB - схема шифрования, основанная на блочном шифре и обеспечивающая конфиденциальность и аутентичность. Это по существу схема интегрирования Message Authentication Code (MAC) в работу блочного шифра. Таким образом режим OCB помогает избегать использование двух систем по отдельности: MAC для аутентификации и шифрование для обеспечения конфиденциальности. Есть три версии OCB: OCB1, OCB2 и OCB3. [RFC 7253]

Симметричные криптосхемы, обеспечивающие аутентичность

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

Симметричные схемы аутентификации сообщений на основе хэш функций

В основе симметричных схем аутентификации сообщений на основе хэш функций (см. Хэш-функция) лежат ключевые хэш функции. Такие хэш функции вычисляются на секретном ключе (известном ограниченному числу участников) и дополнительной информации (такой как идентификаторы сторон, сообщение) в зависимости от протокола.[GV07] Тем самым обеспечивается целостность и аутентичности сообщений, потому что подделать полученный хэш код представляется вычислительно трудной задачей. Пример подобных схем HMAC, CW-MAC.

Симметричные схемы аутентификации сообщений на основе блочных шифров

В симметричных схемы аутентификации сообщений на основе блочный шифров (см. Блочный шифр) используются обычные стандартные блочные шифры. Однако различными способами, в зависимости от применяемой схемы, на основе симметричных блочных шифров вычисляется MAC, применяющийся для предоставления свойства аутентичности сообщению. Пример подобных схем CBC-MAC, NMAC, CMAC, PMAC.

Асимметричные криптосхемы

Асимметричные криптосхемы, или криптосхемы с открытым ключом были предложены в 1975 г. Диффи и Хеллманом. На текущий момент времени они являются очень распространенными. Подобные криптосхемы называют асимметричными потому что их ключи шифрования и расшифрования не связаны отношением симметрии или равенством. Открытый ключ, или ключ шифрования часто известен всем. Однако зашифрованный им текст, можно расшифровать только лишь закрытым ключом, известным только лишь владельцу.[ZFL96]

Более подробно про математические основы см. здесь Математические основы асимметричной криптографии.

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

Протокол открытого распределения ключей

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

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

Для подтверждения подлинности открытого ключа используется сертификат открытого ключа, представляющий собой ключ, подписанный доверенным лицом. В случае централизованного управления ключ подписывается Удостоверяющим Центром - органом сертификации. Заверенный сертификат содержит не только ключ, но и информацию о его владельце.[L06]

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

Наиболее распространенной схемой открытого распределения ключей в настоящее время является протокол Диффи-Хеллмана, а если точнее, то его модификации, усиливающие свойства безопасности стандартного протокола Дифии-Хеллмана.[KL07]

Асимметричные криптосхемы, обеспечивающие конфиденциальность

Некоторые асимметричные криптосхемы могут обеспечивать свойство конфеденциальности, то есть предотвращают утечку какой-либо информации. Такими схемами являются детерминированные схемы шифрования и cхемы открытого шифрования.

Детерминированные схемы шифрования

В детерминированных схемах шифрования, в асимметричной криптографии, шифр при одинаковых входных данных всегда одинаковой. Это является существенным недостатком детерминированных схем шифрования. Этот недостаток позволяет при определенных условиях вычислить закрытый ключ, поэтому в настоящее время такие схемы редко используются. Однако не смотря на недостаток, такие схемы все же обеспечивают конфиденциальность информации.[GB08]

Примерами таких схем являются схемы SIV, EME, XTS.

Схемы открытого шифрования

Суть шифрования с открытым ключом заключается в том, что для шифрования данных используется один ключ (открытый), а для расшифрования другой(закрытый) (поэтому такие системы часто называют асимметричными).

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

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

Асимметричные криптосхемы, обеспечивающие конфиденциальность и аутентичность

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

Гибридные схемы шифрования

Общепризнанное преимущество симметричных систем заключается в более высокой скорости шифрования, в меньших размерах используемого ключа, обеспечивающего стойкость, и в более высокой степени научной обоснованности криптографической стойкости. Однако асимметричные криптосхемы позволяют реализовать протоколы, заметно расширяющие область применения криптографических методов защиты информации. Поэтому нередко используются гибридные криптосистемы, сочетающие принципиальные преимущества как симметричных, так и асимметричных систем.[VS01]

Также одной из целей создания таких схем шифрования является обеспечение шифров свойствами конфиденциальности и аутентичности.

Асимметричные криптосхемы, обеспечивающие аутентичность

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

Схемы обычных ЦП

Цифровая подпись или электронная подпись используется как электронный аналог традиционной ручной подписи, она предназначена для аутентификации информации и обеспечения неотказуемости от авторства. Ручная подпись, являющаяся непременным реквизитом бумажного документа, издавна рассматривалась как доказательство авторства или согласия с содержимым документа. общепринято, что ручная подпись обладает следующими свойствами:

  • Неповторимость, свидетельствующая о том, какое именно лицо намеренно подписало документ;
  • Подлинность, убеждающая, что именно это лицо подписало документ;
  • Отсутствие многократности, так как ручная подпись - часть документа, которую нельзя переместить на другие документы;
  • Фиксация неизменного состояния документа, т.е. состояния, не подлежащего дальнейшим изменениям;
  • Обеспечение неотказуемости от авторства или согласия с содержимым документа, от подписи в дальнейшем нельзя отказаться.
Схемы ЦП с восстановлением сообщений

Алгоритмы ЭЦП делятся на два больших класса: обычные цифровые подписи и цифровые подписи с восстановлением документа. Обычные цифровые подписи необходимо пристыковывать к подписываемому документу. К этому классу относятся, например, алгоритмы, основанные на эллиптических кривых (см. эллиптическая кривая) (ECDSA, ГОСТ Р 34.10-2001, ДСТУ 4145-2002).[R4996] Цифровые подписи с восстановлением документа содержат в себе подписываемый документ: в процессе проверки подписи автоматически вычисляется и тело документа. К этому классу относится один из самых популярных алгоритмов — RSA. Также этот класс обеспечивает аутентичность.

Глоссарий

  • Ключ
  • Цифровая подпись
  • Эллиптическая кривая
  • Хэш-функция
  • Блочный шифр
  • Открытый текст
  • Расшифрование
  • Зашифрование
  • Линейный регистр сдвига
  • SP-сеть
  • Симметричное шифрование
  • IV
  • Nonce
  • Криптосистема
  • Шифр
  • Шифртекст
  • Криптостойкость
  • Шифр Фейстеля
  • DES
  • AES
  • ГОСТ 28147-89
  • Аутентификация
  • Имитовставка
  • Дешифрование
  • RSA
  • Протокол
  • Открытый ключ (public key)
  • Секретный ключ (private key)
  • Целостность информации
  • Конфиденциальность информации
  • SHA-1
  • 3DES
  • Поточный шифр
  • Криптографический генератор
  • ECB
  • CTR
  • A5
  • Salsa20
  • Sosemanuk
  • SHS
  • Асимметричная криптосистема
  • Совершенно стойкий шифр (по Шеннону)
  • Открытый ключ
  • Аутентичность
  • Шифрование
  • Электронная подпись
  • Cхема Эль-Гамаля
  • Однонаправленная функция
  • Криптоатака
  • Криптографическая стойкость
  • Криптографический протокол
  • аутентификация информации
  • Неотказуемость от информации
  • Информационная безопасность
  • Удостоверяющий центр
  • Цифровой сертификат
  • Схемы открытого шифрования
  • Доверенная среда
  • IDEA
  • Протокол открытого распределения ключей Диффи-Хеллмана

Библиографический указатель

Перейти к списку литературы по разделу "Обзор основных криптографических конструкций. «Карта» криптосхем".

📎📎📎📎📎📎📎📎📎📎