Симметричный-ключ алгоритмы [а] являются алгоритмами для шифрования , которые используют одни и те же ключи шифрования и для шифрования открытого текста и расшифровок зашифрованного текста . Ключи могут быть идентичными, или между двумя клавишами может происходить простое преобразование. [1] На практике ключи представляют собой общий секрет между двумя или более сторонами, который может использоваться для поддержания канала частной информации. [2] Требование, чтобы обе стороны имели доступ к секретному ключу, является одним из основных недостатков шифрования с симметричным ключом по сравнению с шифрованием с открытым ключом.(также известное как шифрование с асимметричным ключом). [3] [4]
Типы
Шифрование с симметричным ключом может использовать либо потоковые шифры, либо блочные шифры . [5]
- Потоковые шифры шифруют цифры (обычно байты ) или буквы (в замещающих шифрах) сообщения по одной за раз. Пример - ChaCha20 .
- Блочные шифры принимают несколько битов и шифруют их как единое целое, дополняя открытый текст так, чтобы он был кратен размеру блока. Advanced Encryption Standard алгоритм (AES), утвержденный NIST в декабре 2001 года, использует 128-битные блоки.
Реализации
Примеры популярных алгоритмов с симметричным ключом включают Twofish , Serpent , AES (Rijndael), Camellia , Salsa20 , ChaCha20 , Blowfish , CAST5 , Kuznyechik , RC4 , DES , 3DES , Skipjack , Safer и IDEA . [6]
Использовать как криптографический примитив
Симметричные шифры обычно используются не только для шифрования, но и для других криптографических примитивов . [ необходима цитата ]
Шифрование сообщения не гарантирует, что оно останется неизменным при шифровании. Следовательно, часто код аутентификации сообщения добавляется к зашифрованному тексту, чтобы гарантировать, что изменения в зашифрованном тексте будут отмечены получателем. Коды аутентификации сообщений могут быть построены из шифра AEAD (например, AES-GCM ).
Однако симметричные шифры нельзя использовать в целях предотвращения отказа от авторства, кроме как с привлечением дополнительных сторон. [7] См. Стандарт ISO / IEC 13888-2 .
Другое приложение - создание хеш-функций из блочных шифров. См. Описание некоторых таких методов в функции одностороннего сжатия .
Построение симметричных шифров
Многие современные блочные шифры основаны на конструкции, предложенной Хорстом Фейстелем . Конструкция Фейстеля позволяет строить обратимые функции из других функций, которые сами по себе не обратимы. [ необходима цитата ]
Безопасность симметричных шифров
Симметричные шифры исторически были восприимчивы к открытому тексту атак , атак по выбранному тексту , дифференциального криптоанализа и линейного криптоанализа . Тщательное построение функций для каждого раунда может значительно снизить шансы на успешную атаку. [ необходима цитата ]
Ключевой менеджмент
Ключевое учреждение
Алгоритмы с симметричным ключом требуют, чтобы и отправитель, и получатель сообщения имели один и тот же секретный ключ. Все ранние криптографические системы требовали, чтобы отправитель или получатель каким-то образом получали копию этого секретного ключа по физически безопасному каналу.
Почти все современные криптографические системы по-прежнему используют алгоритмы с симметричным ключом для внутреннего шифрования основной части сообщений, но они устраняют необходимость в физически безопасном канале за счет использования обмена ключами Диффи – Хеллмана или какого-либо другого протокола с открытым ключом для безопасного достижения соглашения по новый новый секретный ключ для каждого сеанса / разговора (прямая секретность).
Генерация ключей
При использовании с асимметричными шифрами для передачи ключей генераторы псевдослучайных ключей почти всегда используются для генерации сеансовых ключей симметричного шифра. Однако отсутствие случайности в этих генераторах или в их векторах инициализации является катастрофическим и приводило к криптоаналитическим взломам в прошлом. Следовательно, важно, чтобы реализация использовала источник высокой энтропии для своей инициализации. [8] [9] [10]
Взаимный шифр
Обратный шифр - это шифр, в котором так же, как вводят открытый текст в криптографическую систему для получения зашифрованного текста , можно ввести зашифрованный текст в то же место в системе, чтобы получить открытый текст. Взаимный шифр также иногда называют самовзаимным шифром . [11] [12]
Практически все механические шифровальные машины реализуют обратный шифр, математическую инволюцию для каждой введенной буквы. Вместо того, чтобы разрабатывать два типа машин, одну для шифрования, а другую для дешифрования, все машины могут быть идентичными и могут быть настроены (привязаны) одинаковым образом. [13]
Примеры взаимных шифров включают:
- Атбаш
- Шифр Бофорта [14]
- Энигма машина [15]
- Мария-Антуанетта и Аксель фон Ферсен общались с помощью взаимного шифра. [16]
- полиалфавитный шифр Порта является самовзаимодействующим. [17]
- Фиолетовый шифр [18]
- RC4
- ROT13
- Шифр XOR
- Шифр Ватсьяяна
Практически все современные шифры можно классифицировать как потоковые шифры , в большинстве из которых используется обратный сумматор шифров XOR , или как блочные шифры , в большинстве из которых используется шифр Фейстеля или схема Лая-Месси с обратным преобразованием в каждом раунде.
Заметки
- ^ Другие термины для шифрования с симметричным ключом - это шифрование с секретным ключом , с одним ключом , с общим ключом , с одним ключом и с частным ключом . Использование последнего и первого терминов может создать двусмысленность с аналогичной терминологией, используемой в криптографии с открытым ключом . Криптографию с симметричным ключом следует противопоставить криптографии с асимметричным ключом .
Рекомендации
- ^ Kartit, Зайд (февраль 2016). «Применение алгоритмов шифрования для защиты данных в облачном хранилище, Картит и др.» . Достижения в области повсеместного сетевого взаимодействия : материалы UNet15 : 147. ISBN 9789812879905.
- ^ Делфс, Ханс и Кнебль, Гельмут (2007). «Симметричное шифрование» . Введение в криптографию: принципы и приложения . Springer. ISBN 9783540492436.CS1 maint: использует параметр авторов ( ссылка )
- ^ Маллен, Гэри и Маммерт, Карл (2007). Конечные поля и приложения . Американское математическое общество. п. 112. ISBN 9780821844182.CS1 maint: использует параметр авторов ( ссылка )
- ^ «Демистификация симметричных и асимметричных методов шифрования» . Дешевый магазин SSL. 2017-09-28.
- ^ Пельцль и Паар (2010). Понимание криптографии . Берлин: Springer-Verlag. п. 30 . Bibcode : 2010uncr.book ..... P .
- ^ Рёдер, Том. «Криптография с симметричным ключом» . www.cs.cornell.edu . Проверено 5 февраля 2017 .
- ^ 14: 00-17: 00. «ИСО / МЭК 13888-2: 2010» . ISO . Проверено 4 февраля 2020 .CS1 maint: числовые имена: список авторов ( ссылка )
- ↑ Ян Голдберг и Дэвид Вагнер. «Случайность и браузер Netscape» . Январь 1996 г. Журнал доктора Добба. цитата: «жизненно важно, чтобы секретные ключи были сгенерированы из непредсказуемого источника случайных чисел».
- ^ Томас Ристенпарт, Скотт Йилек. «Когда хорошая случайность становится плохой: уязвимости сброса виртуальных машин и хеджирование развернутой криптографии (2010 г.)»CiteSeer x : 10.1.1.183.3583 цитата из аннотации: «Генераторы случайных чисел (ГСЧ) неизменно являются слабым звеном в безопасном использовании криптографии».
- ^ «Симметричная криптография» . Джеймс. 2006-03-11.
- ^ Пол Реуверс и Марк Саймонс. Крипто-музей. «Энигма Ур» . 2009 г.
- ^ Крис Кристенсен. «Простые подстановочные шифры» . 2006 г.
- ^ Грег Гебель. «Механизация шифров» . 2018.
- ^ "... настоящий шифр Бофорта. Обратите внимание, что у нас есть взаимное шифрование ; шифрование и дешифрование - одно и то же". - Хелен Ф. Гейнс. «Криптоанализ: исследование шифров и их решение» . 2014. с. 121.
- ^ Грег Гебель. «Механизация шифров» . 2018.
- ^ Фридрих Л. Бауэр. «Расшифрованные секреты: методы и принципы криптологии» . 2006. с. 144
- ^ Дэвид Саломон. «Кодирование данных и компьютерных коммуникаций» . 2006. с. 245
- ^ Грег Гебель. «Взломщики кодов США в тени войны» . 2018.