Обяснени са доказателства за нулево знание: Част 1

Какво е доказателство за нула?

Обяснени доказателства за нулево знание Част 2: Неинтерактивни доказателства с нулево знание

Криптографията най-вече се отнася до сигурни комуникации и включва скриване на информация от противници и удостоверяване на личности.

Хеши, асиметрично криптиране и симетрично криптиране често се използват заедно, за да позволят сигурна комуникация. В популярни криптографски системи, като PGP, OTR и VPN, често се използват различни алгоритми заедно, включително:

  • Функции за хеш, които ни позволяват да идентифицираме удобно файлове, текст и клавиши
  • Асиметрични функции за криптиране за сигурна обмяна на кодиращи ключове по несигурни канали
  • Симетрично криптиране функции за ефективно криптиране на големи количества данни
  • Функции за обмен на ключове за сигурно договаряне на кодове за криптиране по несигурни канали

Доказателствата за нулево знание са схеми за криптиране, използвани за доказване, че знаете нещо, без да разкривате какво е то. Например, можете да покажете без съмнение, че знаете отговора на пъзел, без всъщност да разкриете решението.

Доказателствата за нулево знание все още са сравнително нови и в последно време само в криптовалутите са намерили често срещано приложение.

Интерактивни доказателства за нулеви знания

Интерактивните доказателства за нулево знание изискват взаимодействие между индивида (или компютърната система), доказващ знанията му, и индивида, потвърждаващ доказателството.

Системата създава една допълнителна интересна характеристика за доказателство за нулеви знания: Не само доказвате, че знаете нещо, без да разкривате това, което знаете, но и просто го разкривате на индивида, с който взаимодействате. Някой, който просто наблюдава, няма да може да потвърди искането ви.

Въпреки че това е добре за допълнителна поверителност, тя също може да дойде със значителни допълнителни усилия и разходи, когато се опитвате да докажете нещо на множество индивиди.

Как работят доказателствата с нулево знание

Положението:

Представете си отровна течност без мирис, без вкус и безцветна, която изглежда и се чувства точно като вода. Ами ако някой постави тази чаша до една и съща чаша, пълна с вода? Нямате начин да различите двете течности една от друга. Всъщност може дори да не знаете, че са различни един от друг.

Твърдението:

Някой твърди, че имат изключителна визия, която им позволява да разкажат двете очила. Те обаче не искат да ви кажат кое е кое. Как можете да проверите твърдението им, без да разберете коя чаша е отрова и коя е вода?

Доказателството:

Вие (проверяващият) завързвате със затворени очи лицето, което твърди, че разказва двете очила (доказателствата) и произволно решавате да сменяте очилата или не. След свалянето на окачването, вие питате доказателя дали очилата са сменили положението си.

Ако те наистина могат лесно да разкажат двете течности един от друг, те ще могат да ви кажат дали са сменили местата си. В противен случай ще сгрешат с 50% шанс.

Ако след това повторите експеримента, доказателствата (ако те само се досещат) ще сгрешат с кумулативен 75% шанс.

След повторение на теста 10 пъти, ако доказателствата са правилни всеки път, има 99,9% вероятност те да не познаят и е вероятно наистина да имат начин да разграничат двете очила. След повтаряне на теста n пъти:

1 – 0,5 ^ n * 100%

Разбира се, примерът ни тук има няколко практически слабости. Те могат да бъдат инсталирани камери за сигурност или датчици за движение, но в абстрактния свят на математиката можем да сме сигурни.

Защо доказателствата с нулево знание работят

Вие, проверяващият, сега можете да бъдете убедени с 99,9% сигурност, че другият човек наистина има начин да идентифицира чашите, въпреки че все още не знаете коя чаша е пълна с отрова и коя е пълна с вода.

Някой, който ви е наблюдавал и доказателя обаче, не е убеден. На теория проверяващият и доказателят можеха да се сговарят помежду си и да участват в шоу с предварително определени ходове.