Рейтинг:0

Какой смысл использовать NIZK для хэш-функции?

флаг vn

Итак, мой вопрос заключается в использовании NIZK для хэш-функции. Я полагаю, что если вы хотите доказать, что у вас есть определенный прообраз, не достаточно ли прямо указать хеш-значение этого прообраза, чтобы доказать этот аргумент? Может быть, я что-то упускаю здесь. Спасибо!

kodlu avatar
флаг sa
пожалуйста, отредактируйте свой вопрос в свете ответа и комментариев Дэниела С., чтобы было ясно, о чем вы спрашиваете.
Рейтинг:1
флаг ru

Предоставление хеш-значения не является доказательством того, что у вас есть прообраз. Я могу легко создать 256-битное число 0x9A867C4957D32E09420239682A3502F6, но это не доказывает, что у меня есть входные данные для SHA256, который его генерирует.

Конструкция NIZK позволила бы мне продемонстрировать, что у меня есть ввод, который производит это значение, но без раскрытия какой-либо информации о вводе.

Jimmy avatar
флаг vn
Да. Но позвольте мне уточнить мой сценарий. Дайджест сообщения хранится как один секрет для проверки стороной A (получен откуда-то, но A не может узнать прообраз), и другая сторона B имеет доступ к прообразу, если B завершает определенные задачи (определенные каким-либо контрактом). После завершения задач B может использовать прообраз для создания хэша и отправить его A для проверки. Здесь, поскольку значение хеша также является секретом, нам все еще нужен NIZK?
Daniel S avatar
флаг ru
Для дальнейшего использования, из вашего вопроса нелегко сделать вывод об этой настройке. Описанная вами установка уязвима для атаки [pass the hash](https://en.wikipedia.org/wiki/Pass_the_hash), если кто-то может прочитать сохраненный хэш на сервере. NIZK заблокировал бы подход с передачей хэша (но вы, возможно, захотите побеспокоиться об атаках с повторным воспроизведением).
Jimmy avatar
флаг vn
Спасибо за советы! Возвращаясь к вашему объяснению, я не уверен, что ваш пример пароля/хэша такой же, как у меня здесь. Цель состоит в том, чтобы гарантировать, что B действительно завершит задачу, и эта пара хэш-прообраз будет использоваться только один раз. В этом случае я не думаю, что передача хэш-значения является большой проблемой?
Daniel S avatar
флаг ru
Я действительно не уверен, какая у вас здесь модель безопасности. Если цель состоит в том, что вы хотите, чтобы проверялись только законные исполнители задачи, то NIZK будет защищаться от тех, кто получает доступ (авторизованный или иной) к хранимому значению на A. Без NIZK у нас есть гарантия, что B знает хэш-значение, которое может быть полученный из предварительного образа, но может быть получен другими способами в зависимости от вашей модели угрозы.

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

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