Рейтинг:2

я не совсем понимаю хеширование

флаг id

Я не совсем понимаю хэширование, для шифрования или что-то еще.

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

Скажем, вы хешируете предложение, используя SHA-256, вы КОГДА-ЛИБО расшифровываете такой хэш или даже имеете возможность?

Последнее дополнение: Whatsapp говорит, что мои сообщения зашифрованы. Итак, если я шифрую их при отправке, как другие люди расшифровывают их?

Я понимаю, что это очень общий вопрос, но я пытаюсь понять, как это работает. Пожалуйста, не кричи.

флаг et
Нет, хеш не может быть реверсирован. Хеширование является односторонней операцией. Хеширование не является шифрованием.
meshcollider avatar
флаг gb
Отвечает ли это на ваш вопрос? [Различия между алгоритмами хеширования и шифрования?] (https://crypto.stackexchange.com/questions/62036/differences-between-hash-and-encryption-algorithms)
Sheldon avatar
флаг nl
**Криптографическая хеш-функция (CHF)** — это математический алгоритм, который отображает данные **произвольного размера** (часто называемые «**сообщением**») в битовый массив **фиксированного размера** ( «хеш-значение», «хэш» или «**дайджест сообщения**»). Это **односторонняя** функция, то есть функция, для которой практически невозможно инвертировать или реверсировать вычисление.
kelalaka avatar
флаг in
Да, это слишком широкий вопрос, и на него нужно дать очень длинный ответ, и все же его нелегко удовлетворить. ватсап? См. это [Не нужно ли доверять серверу при сквозном шифровании?] (https://crypto.stackexchange.com/q/54082/18298) и в WhatsApp: [Технический документ по безопасности WhatsApp] (https ://www.documentcloud.org/documents/2806301-WhatsApp-Security-Whitepaper-1)
Рейтинг:1
флаг ng

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

Да, с тремя дополнительными деталями стандартным современным способом:

  • Пароль попадает на сайт в зашифрованном виде по протоколу TLS; он расшифровывается перед хешированием.
  • Соль (выбирается случайным образом при регистрации пароля или/и имя пользователя/электронная почта) хешируется вместе с паролем и сохраняется сервером вместе с хэшем пароля.
  • Он использует преднамеренно медленный и, надеюсь, жесткий итеративный хэш, разработанный для паролей, например Аргон2. Это разработано в качестве защиты на случай, если сервер допустит утечку списка хэшей и соли (такие утечки случаются регулярно). Эта мера предосторожности усложняет поиск пароля (точнее, приемлемого пароля, скорее всего исходного) в словаре обычных паролей путем хеширования возможных паролей и соли и сравнения с хэшем пароля, как это делает сервер для проверки пароль при входе.

Скажем, вы хешируете предложение, используя SHA-256, вы КОГДА-ЛИБО расшифровываете такой хэш или даже имеете возможность?

Нет. Во-первых, «расшифровать» - неправильный термин для поиска ввода хэш-функции с учетом ее вывода; правильный термин - «обратный». И хеш предназначен для необратимости при нормальной работе. Если ввод хэша неизвестен и выбран случайным образом в большом наборе, а дизайн хэша хорош, практически невозможно обратить хэш.


WhatsApp говорит, что мои сообщения зашифрованы. Итак, если я шифрую их при отправке, как другие люди расшифровывают их?

Хеширование — это не то же самое, что шифрование. Хеширование преобразует сообщение необратимым образом и не использует ключ. Шифрование преобразует сообщение в соответствии с ключом шифрования способом, обратимым с помощью ключа дешифрования.

Ключ дешифрования должен быть секретным, иначе цель шифрования (сокрытие зашифрованного от злоумышленников, не знающих ключ дешифрования) не будет достигнута. В симметричном шифровании (например, AES-GCM) ключи шифрования и дешифрования совпадают. В асимметричном шифровании (например, RSA, ECIES) они другие: ключ шифрования может быть обнародован и называется открытым ключом; ключ дешифрования является закрытым ключом.

Когда вы отправляете сообщение с помощью современного приложения, использующего асимметричное шифрование (например, Whatsapp), вот общая картина:

  • Ваше приложение рисует случайный симметричный ключ, уникальный для сообщения.
  • Ваше приложение шифрует сообщение, используя симметричное шифрование с этим уникальным для сообщения ключом, и результат отправляется.
  • Ваше приложение многократно шифрует уникальный ключ сообщения для каждого предполагаемого получателя, используя асимметричное шифрование (например, ECIES) и каждый открытый ключ предполагаемого получателя, и результаты отправляются.
  • Когда получателю необходимо расшифровать сообщение, его приложение сначала получает зашифрованный уникальный для сообщения ключ, зашифрованный его открытым ключом, и расшифровывает его (по асимметричному расшифрованию) с помощью своего закрытого ключа, получая уникальный для сообщения ключ.
  • Приложение получателя получает зашифрованное сообщение, расшифровывает его с помощью симметричного расшифрования с использованием уникального ключа сообщения, а затем отображает расшифрованное сообщение.

Основным механизмом защиты конфиденциальности сообщения является симметричное шифрование. Асимметричное шифрование защищает конфиденциальность уникального для сообщения ключа, таким образом косвенно защищая конфиденциальность сообщения. Хеширование обычно используется внутри в качестве строительного блока на некоторых этапах, но не является механизмом шифрования сообщения или уникального для сообщения ключа.

Рейтинг:0
флаг kr

В дополнение к ответу @frieu:

Скажем, вы хешируете предложение, используя SHA-256, вы КОГДА-ЛИБО расшифровываете такое хэш, или даже иметь возможность?

Для проверки пароля вам не нужно восстанавливать пароль из хеша. Вы просто вычисляете хеш для пароля, который хотите проверить. Если пароль тот же, вы получите тот же хэш.

Важно знать, что может быть более одного пароля, который создает один и тот же хэш. Но для таких алгоритмов, как SHA-256 или Argon2, есть два важных аспекта:

  1. Вероятность того, что два пароля сгенерируют один и тот же хэш, очень мала.
  2. Не существует аналитического способа найти какой-либо пароль, производящий заданный хэш. Единственный способ — перебор, то есть перебор всех возможных значений. Если пароль имеет низкую энтропию («недостаточно случайный», проще говоря), например. если он имеет длину 8 символов, то его хэш SHA-256 может быть легко взломан. Чтобы предотвратить это, следует использовать алгоритмы, делающие брут-форс очень ресурсоемким, например, Argon2.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.