Доказательства с нулевым знанием объяснили: Часть 1
Объяснение доказательств с нулевым разглашением. Часть 2. Неинтерактивные доказательства с нулевым разглашением.
Криптография в основном занимается безопасными коммуникациями и включает в себя сокрытие информации от злоумышленников и аутентификацию отдельных лиц..
Хэши, асимметричное шифрование и симметричное шифрование часто используются вместе для обеспечения безопасной связи. В популярных криптографических системах, таких как PGP, OTR и VPN, часто используются разные алгоритмы, включая:
- Хеш-функции, которые позволяют нам удобно идентифицировать файлы, текст и ключи
- Функции асимметричного шифрования для безопасного обмена ключами шифрования по незащищенным каналам
- Симметричные функции шифрования для эффективного шифрования больших объемов данных
- Функции обмена ключами для безопасного согласования ключей шифрования по незащищенным каналам
Доказательства с нулевым разглашением – это схемы шифрования, используемые для доказательства того, что вы что-то знаете, не раскрывая, что это такое. Например, вы можете без сомнения показать, что знаете ответ на головоломку, фактически не раскрывая решение.
Доказательства с нулевым разглашением все еще относительно новы, и в последнее время они нашли общий случай использования в криптовалютах..
Интерактивные доказательства с нулевым разглашением
Интерактивные доказательства с нулевым разглашением требуют взаимодействия между индивидуумом (или компьютерной системой), доказывающего свои знания, и индивидом, подтверждающим доказательство.
Система создает еще одну интересную характеристику для доказательства с нулевым знанием: вы не только доказываете, что знаете что-то, не раскрывая то, что знаете, но вы также просто раскрываете это человеку, с которым взаимодействуете. Кто-то, кто просто наблюдает за вами, не сможет подтвердить вашу претензию.
Хотя это полезно для дополнительной конфиденциальности, оно также может потребовать значительных дополнительных усилий и затрат при попытке доказать что-то нескольким людям.
Как работают доказательства с нулевым знанием
Ситуация:
Представьте себе ядовитую жидкость без запаха, вкуса и цвета, которая выглядит и ощущается как вода. Что, если кто-то поместит этот стакан рядом с идентичным стаканом, полным воды? У вас нет возможности отличить две жидкости друг от друга. В самом деле, вы можете даже не знать, что они отличаются друг от друга.
Претензии:
Кто-то утверждает, что у них необыкновенное видение, которое позволяет им различать два стакана. Они не хотят говорить вам, что есть что, хотя. Как вы можете проверить свои претензии, не выяснив, какое стекло является ядом, а какое водой??
Доказательство:
Вы (проверяющий) завязываете глаза человеку, который утверждает, что разделяет два очка (проверяющий), и случайным образом решаете сменить очки или нет. После снятия повязки вы спрашиваете у прувера, изменились ли очки.
Если они действительно могут легко отличить две жидкости друг от друга, они смогут сказать вам, если они поменялись местами. В противном случае они будут ошибаться с вероятностью 50%..
Если затем повторить эксперимент, проверяющий (если они только догадываются) будет ошибочным с совокупной вероятностью 75%.
После повторения теста 10 раз, если проверяющий каждый раз корректен, вероятность того, что они не догадались, составляет 99,9%, и вполне вероятно, что у них действительно есть способ различить два очка. После повторения теста n раз:
1 – 0,5 ^ n * 100%
Конечно, у нашего примера есть несколько практических недостатков. Это могут быть камеры видеонаблюдения или датчики движения, но в абстрактном мире математики мы можем быть уверены,.
Почему доказательства с нулевым знанием работают
Вы, проверяющий, теперь можете быть уверены на 99,9%, что у другого человека действительно есть способ идентифицировать очки, хотя вы все еще не знаете, какой стакан полон яда, а какой полон воды.
Кто-то, кто наблюдал за вами и прувером, однако, не убежден. Теоретически, верификатор и проверяющий могли бы вступить в сговор друг с другом и устроить шоу с заранее заданными ходами..