Алгоритм с симметричным ключом


Алгоритмы с симметричным ключом [a] — это алгоритмы криптографии , которые используют одни и те же криптографические ключи как для шифрования открытого текста , так и для дешифрования зашифрованного текста . Ключи могут быть идентичными, или между двумя ключами может быть простое преобразование. [1] На практике ключи представляют собой общий секрет между двумя или более сторонами, который можно использовать для поддержания конфиденциальной информационной связи. [2] Требование, чтобы обе стороны имели доступ к секретному ключу, является одним из основных недостатков шифрования с симметричным ключом по сравнению с шифрованием с открытым ключом.(также известный как шифрование с асимметричным ключом). [3] [4] Однако шифрование с симметричным ключом обычно лучше подходит для массового шифрования. Они имеют меньший размер файла, что обеспечивает меньше места для хранения и более быструю передачу. Из-за этого асимметричное шифрование часто используется для замены секретного ключа на шифрование с симметричным ключом. [5]

Примеры популярных алгоритмов с симметричным ключом включают Twofish , Serpent , AES (Rijndael), Camellia , Salsa20 , ChaCha20 , Blowfish , CAST5 , Kuznyechik , RC4 , DES , 3DES , Skipjack , Safer и IDEA . [8]

Симметричные шифры обычно используются для достижения других криптографических примитивов , а не только шифрования. [ нужна ссылка ]

Шифрование сообщения не гарантирует, что оно останется неизменным при шифровании. Следовательно, часто к зашифрованному тексту добавляется код аутентификации сообщения , чтобы гарантировать, что изменения в зашифрованном тексте будут отмечены получателем. Коды аутентификации сообщения могут быть созданы из шифра AEAD (например , AES-GCM ).

Тем не менее, симметричные шифры не могут использоваться в целях сохранения авторства , кроме как с привлечением дополнительных сторон. [9] См. стандарт ISO/IEC 13888-2 .

Другое применение — создание хеш-функций из блочных шифров. Описание нескольких таких методов см . в описании функции одностороннего сжатия .