Подтвердить что ты не робот

Какая разница между шифрованием SHA и AES?

Какая разница между SHA и AES-шифрованием?

4b9b3361

Ответ 1

SHA не является шифрованием, это односторонняя хеш-функция. AES (Advanced_Encryption_Standard) - это симметричный стандарт шифрования.

Ссылка AES

Ответ 2

SHA - это семейство "алгоритмов безопасного хэша", разработанных Агентством национальной безопасности. В настоящее время существует конкуренция среди десятков вариантов для тех, кто станет SHA-3, новым алгоритмом хеширования на 2012 год.

Вы используете функции SHA, чтобы взять большой документ и вычислить "дайджест" (также называемый "хэш" ) ввода. Важно понимать, что это односторонний процесс. Вы не можете взять дайджест и восстановить исходный документ.

AES, Advanced Encryption Standard является симметричным блочным алгоритмом. Это означает, что он принимает 16 байтовых блоков и шифрует их. Он "симметричен", потому что ключ позволяет шифровать и дешифровать.

UPDATE: Keccak был назван победителем SHA-3 2 октября 2012 года.

Ответ 3

SHA и AES служат для разных целей. SHA используется для генерации хэша данных, и AES используется для шифрования данных.

Здесь пример того, когда хэш SHA полезен для вас. Скажем, вы хотели загрузить образ ISO DVD из какого-то дистрибутива Linux. Это большой файл, и иногда все идет не так - поэтому вы хотите проверить правильность загруженного вами файла. То, что вы сделаете, это перейти к надежному источнику (например, к официальной точке загрузки дистрибутива), и они обычно имеют хэш SHA для изображения ISO. Теперь вы можете создать сопоставимый хэш файл SHA (используя любое количество открытых инструментов) для ваших загруженных данных. Теперь вы можете сравнить два хэша, чтобы убедиться, что они совпадают - что подтвердит правильность загруженного вами изображения. Это особенно важно, если вы получаете образ ISO из ненадежного источника (например, торрент) или если у вас возникли проблемы с использованием ISO и вы хотите проверить, повреждено ли изображение.

Как вы можете видеть, в этом случае SHA использовался для проверки данных, которые не были повреждены. Вы имеете полное право видеть данные в ISO.

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

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

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

Если вы хотите узнать больше об этих некоторых условиях поиска в Wikipedia (помимо AES и SHA), которые вы хотите попробовать, выполните следующие действия:

Алгоритм симметричных ключей (для AES) Криптографическая хэш-функция (для SHA) Криптография с открытым ключом (для PGP и SSL)

Ответ 4

SHA означает алгоритм Secure Hash, а AES - Advanced Encryption Standard. Таким образом, SHA представляет собой набор алгоритмов хеширования. AES, с другой стороны, является шифром, который используется для шифрования. SHA-алгоритмы (SHA-1, SHA-256 и т.д.) Будут принимать входные данные и создавать дайджест (хэш), это обычно используется в процессе цифровой подписи (выдает хэш некоторых байтов и знак с закрытым ключом),

Ответ 5

SHA - хеш-функция, а AES - стандарт шифрования. Учитывая ввод, вы можете использовать SHA для производства вывода, который вряд ли будет производиться с любого другого входа. Кроме того, некоторая информация теряется при применении функции, поэтому, даже если вы знали, как создавать входные данные, дающие один и тот же результат, этот вход вряд ли будет тем же самым, который использовался в первую очередь. С другой стороны, AES предназначена для защиты от раскрытия третьим сторонам любых данных, передаваемых между двумя сторонами, использующими один и тот же ключ шифрования. Это означает, что, как только вы знаете ключ шифрования и выход (и IV...), вы можете легко вернуться к исходному входу. Обратите внимание, что SHA не требует ничего, кроме ввода, который требуется применять, в то время как AES требует не менее 3-х разрывов: что вы шифруете/дешифруете, ключ шифрования и вектор инициализации (IV).

Ответ 6

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