Чому Feige-Fiat-Shamir не має нульових знань без знакових бітів?


12

У главі 10 HAC (10.4.2) ми бачимо відомий протокол ідентифікації Feige-Fiat-Shamir, заснований на доказі нульових знань, використовуючи (імовірну) складність вилучення квадратних корінців за модулем композиту, який важко врахувати. Я наведу схему власними словами (і, сподіваюся, правильно).

Почнемо з більш простої схеми: нехай є цілим числом Блума (тому n = p q, і кожен з p і q - 3 mod 4) досить великого розміру, що факторинг не може бути дозволений. Оскільки n - ціле число Блума, половина елементів Z n мають символ Якобі +1, а інша половина -1. Для елементів +1 половина має квадратні корені, а кожен елемент, що має квадратний корінь, має чотири з них, точно один - сам квадрат.nn=pqpqnZn

Тепер Пеггі вибирає випадковий елемент із Z n і встановлює v = s 2 . Потім вона посилає V Віктору. Далі це протокол: Віктор хоче перевірити , що Пеггі знає квадратний корінь з V і Пеггі хочуть довести йому , НЕ розголошуючи нічого про з поза то , що вона знає , що такі сек .sZnv=s2vvss

  1. Пеггі вибирає випадковий у Z n і посилає r 2 Віктору.rZnr2
  2. Віктор однозначно надсилає або b = 1 назад до Пеггі.b=0b=1
  3. Пеггі відправляє до Віктора.rsb

Віктор може переконатись, що Пеггі надіслала правильну відповідь, підрахувавши отримане та порівнявши правильний результат. Звичайно, ми повторюємо цю взаємодію, щоб зменшити ймовірність того, що Пеггі просто щасливий здогад. Цей протокол вважається ZK; доказ можна знайти в різних місцях (наприклад, конспекти лекцій Боаза Барака ).

ks1skt1=±1,tk=±1v1=t1s12,,vk=tksk2vi

  1. Пеггі вибирає випадковий r у Z ∗ n і посилає r 2rZnr2
  2. kbi{0,1}
  3. rΠi=1ksibi

ti

Я не можу знайти атаку, яка витягує що-небудь з Пеггі, якщо вона пропускає знаки.

Відповіді:


8

Протокол ідентифікації Feige-Fiat-Shamir (FFS) є доказом знань (PoK), в якому доказчик (Peggy) доводить свої знання квадратним корінням даного входу для перевірки (Victor).

FFS хочуть дискримінувати PoK від доказів мовної приналежності , в яких Пеггі доводить, що вхід має певну властивість (формально, вхід належить певній мові).

Якщо ми не використовуємо негативні ознаки, можливо, вхідні дані не мають квадратного кореня. Наприклад, число 20 не має жодних квадратних коренів мод 21. Оскільки розмежування квадратів і неквадратів є відомою важкою проблемою , FFS уникає цього, дозволяючи введенню бути плюсом або мінусом деякого числа у квадраті. У своїх власних словах (трохи змінився):

vivi +1modnsivi

Під необмеженим введенням доказів з нульовим знанням знань вони означають ZK PoK, відповідне підтвердження належності до мови є тривіальним; тобто V може сам вирішити, що вхід є плюсом або мінусом якогось квадрата (просто перевіривши символ Якобі).


Дякую за відповідь, але я все одно не дотримуюся: без знаків символ Якобі - +1. З знаками символ Якобі - +1. Ви кажете вище, "якщо ми не використовуємо негативні знаки, можливо, вхідні дані не мають квадратного кореня". Як це можливо? Вхідні дані для верифікатора - це список квадратів, які (якщо чесний доказ) завжди мають квадратне коріння.
Fixee

Друге питання: ви говорите, що знаки є лише для того, щоб пройти доказ? Або є фактична атака, якщо вони опущені?
Fixee

@Fixee: Припустимо, що підманник, який обирає свої відкриті ключі ( ) не відповідно до протоколу; скажімо випадкове значення, символом якого є Jaccobi +1. Перевірявач (поганий) не може сказати, чи мають квадратні корені чи ні. Єдиний спосіб - запустити протокол і отримати допомогу від довідника. Тобто, доказчик одночасно доводить свої знання про , і надає доказ мовної належності (тобто належить до QR-коду квадратичних залишків.) Чомусь FFS любив відокремлювати цей тип доказів з доказів "необмеженого введення". Я бачу це як просто технічність. vivisivi
MS Dousti
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.