В чем разница между шифрованием SHA и AES? [закрытый]
в чем разница между шифрованием SHA и AES?
6 ответов:
SHA-это не шифрование, это односторонняя хэш-функция. AES (Advanced_Encryption_Standard) - это симметричный стандарт шифрования.
SHA это семейство "безопасных хэш-алгоритмов", которые были разработаны Агентством национальной безопасности. В настоящее время существует конкуренция среди десятков вариантов того, кто станет ша-3, новый алгоритм хэширования для 2012+.
вы используете функции SHA, чтобы взять большой документ и вычислить "дайджест" (также называемый "хэш") ввода. Важно понимать, что это односторонний процесс. Вы не можете взять дайджест и восстановить оригинал документ.
AES, расширенный стандарт шифрования представляет собой симметричный блочный алгоритм. Это означает, что он принимает 16 байтовых блоков и шифрует их. Он "симметричен", потому что ключ позволяет как шифрование, так и дешифрование.
обновление:Keccak был назван победителем SHA-3 2 октября 2012 года.
SHA и AES служат разным целям. SHA используется для генерации хэша данных, а AES-для шифрования данных.
вот пример, когда хэш SHA полезен для вас. Допустим, вы хотите загрузить образ DVD ISO какого-то дистрибутива Linux. Это большой файл, и иногда все идет не так - так что вы хотите, чтобы проверить, что то, что вы загрузили правильно. Что бы вы сделали, это перейти к надежному источнику (например, официальная точка загрузки дистрибутива), и у них обычно есть SHA хэш для образа ISO доступен. Теперь вы можете создать сопоставимый хэш SHA (используя любое количество открытых инструментов) для загруженных данных. Теперь вы можете сравнить два хэша, чтобы убедиться, что они совпадают - что подтвердит правильность загруженного изображения. Это особенно важно, если вы получаете образ ISO из ненадежного источника (например, торрент) или если у вас возникли проблемы с использованием ISO и вы хотите проверить, поврежден ли образ.
Как вы можете видеть в этом случае SHA был использован для проверки данных, которые не были повреждены. Вы имеете полное право видеть данные в ISO.
AES, с другой стороны, используется для шифрования данных или предотвращения просмотра этих данных людьми, знающими какой-то секрет.
AES использует общий ключ, который означает, что для шифрования данных используется тот же ключ (или связанный ключ), что и для расшифровки данных. Например, если я зашифровал электронное письмо с помощью AES, и я отправил вам это письмо, то вы и я бы оба необходимо знать общий ключ, используемый для шифрования и расшифровки электронной почты. Это отличается от алгоритмов, которые используют открытый ключ, такой как PGP или SSL.
Если вы хотите собрать их вместе, вы можете зашифровать сообщение с помощью AES, а затем отправить хэш SHA1 незашифрованного сообщения, чтобы при расшифровке сообщения они могли проверить данные. Это несколько надуманный пример.
Если вы хотите узнать больше об этих некоторых поисковых терминах Википедии (за пределами AES и SHA) вы хотите попробовать включить:
алгоритм симметричного ключа (для AES) Криптографическая хэш-функция (для SHA) Криптография с открытым ключом (для PGP и SSL)
SHA означает безопасный алгоритм хэширования, а AES - расширенный стандарт шифрования. Таким образом, SHA-это набор алгоритмов хеширования. АЕС с другой стороны-это шифр, который используется для шифрования. Алгоритмы SHA (SHA-1, SHA-256 и др...) будет принимать вход и производить дайджест (хэш), это обычно используется в процессе цифровой подписи (производить хэш некоторых байтов и знак с закрытым ключом).
SHA-это хэш-функция, а AES-стандарт шифрования. Учитывая Вход, вы можете использовать SHA для получения выхода, который вряд ли будет получен из любого другого входа. Кроме того, некоторая информация теряется при применении функции, поэтому даже если бы вы знали, как создать вход, дающий тот же выход, этот вход вряд ли был бы тем же самым, который использовался в первую очередь. С другой стороны, AES предназначена для защиты от раскрытия третьим лицам любых данных, передаваемых между двумя сторонами, совместно использующими тот же ключ шифрования. Это означает, что как только вы знаете ключ шифрования и выход (и IV...) вы можете легко вернуться к исходному входу. Обратите внимание, что SHA не требует ничего, кроме ввода, который должен быть применен, в то время как AES требует по крайней мере 3 thins: то, что вы шифруете/расшифровываете, ключ шифрования и вектор инициализации (IV).