Алгоритмы симметричных ключей - это метод в криптографии. Это когда ключи для расшифровки и шифрования являются одним и тем же общим секретом. Вы можете сгенерировать секрет в случайном порядке, или с помощью пароля, или через процедуру обмена секретными ключами, такую как Diffie-Hellman.
Алгоритмы с симметричными ключами очень важны, потому что они быстрее на компьютерах, чем другие виды: алгоритмы с открытыми ключами. В криптографии с открытым ключом (асимметричная криптография) ключ для шифрования может быть выдан общественности без проблем, и каждый может отправлять вам секретные сообщения. Ключ для шифрования "открыт", потому что на практике его нельзя использовать для получения ключа для расшифровки. Это очень полезно, но алгоритмы шифрования с открытым ключом очень медленные на компьютерах, поэтому они используются только для отправки секретного ключа. Тогда алгоритмы симметричной криптографии используются для всего остального, потому что они быстрее.
Существует два вида алгоритмов симметричных ключей, называемых шифрами потока и блочными шифрами. Потоковые шифры шифруют сообщение как поток битов по одному. Блочные шифры берут блоки битов, шифруют их как единое целое, а иногда используют ответ и позже. Часто использовались блоки по 64 бита, хотя современные шифры, такие как Advanced Encryption Standard, используют 128-битные блоки.
Примерами популярных симметричных шифров являются Twofish, Serpent, AES (он же Rijndael), Blowfish, CAST5, RC4, TDES и IDEA.
В истории некоторые методы криптоанализа использовали симметрию, поэтому симметричные системы были менее безопасны. Некоторые атаки называются атаками по известному и простому тексту, выборочными атаками по чистому тексту, дифференциальным криптоанализом и линейным криптоанализом.
Другими терминами для симметричного шифрования являются секретный ключ, одинарный ключ, общий ключ, одинарный ключ и, в конечном счете, шифрование частным ключом. Этот последний термин не имеет того же значения, что и термин "закрытый ключ" в криптографии с открытым ключом.

