הוכחה באפס ידיעה – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
שורה 101:
-->
=====דוגמה לפרוטוקול פיאט-שמיר=====
לצורך הכנה, אליס בוחרת את המודולוס <math>\ n</math>, שהוא מכפלת הראשוניים <math>\ 173 \cdot 227</math> (קטנים, רק לצורך המחשה כמובן): <math>\ n = 173 \cdot 227 = 39271</math>, בוחרת סיסמה סודית, נניח: <math>\ sx = 401</math>, ומחשבת את <math>\ vy</math> המשמש לאימות: <math>\ vy = 401^ {2} \mbox{ mod } 39271 = 3717</math>. את <math>\ 3717</math> יחד עם <math>\ 39271</math> היא רושמת אצל [[צד שלישי]] נאמן כ[[מפתח ציבורי]].
 
====== מהלכי הפרוטוקול ======
* אליס בוחרת מספר אקראי, נניח: <math>\ r = 386</math>, ומחשבת את ההוכחה <math>xs</math>:
:<math>\ xs = 386^ {2} \mbox{ mod } 39271 = 31183</math>
 
* אליס משדרת לבוב את ההוכחהההתחייבות: <math>\ 31183</math>
 
* בוב מחזיר לאליס סיבית אתגר אחת, נניח: <math>\ \beta = 1</math>
 
* אליס מחשבת את ערך <math>\ yz</math> בהתאם לסיבית האתגר:
:<math>\ yz = 386 \cdot 401 \mbox{ mod } 39271 = 36973</math>
:ומשדרת לבוב את המענה: <math>\ 36973</math>
* כעת נותר לבוב לבדוק את המענה, כיוון ש:
 
:<math>\ 36973^2 \equiv 31183 \cdot 3717 \, (\mbox{mod }39271)</math>
 
ההוכחה מתקבלת. אילו היה בוב משדר את הסיבית <math>\ \beta = 0</math>, אזי המענה במהלך השני היה: <math>\ yz = 386</math>, ואז <math>\ 386^2 \mbox{ mod } 39271 = 31183</math>, וזהו בדיוק ערכו של <math>\ xs</math>.
ההוכחה מתקבלת.
 
אילו היה בוב משדר את הסיבית <math>\ \beta = 0</math>, אזי המענה במהלך השני היה: <math>\ y = 386</math>, ואז <math>\ 386^2 \mbox{ mod } 39271 = 31183</math>, וזהו בדיוק ערכו של <math>\ x</math>.
 
==הוכחת אפס ידיעה לא אינטראקטיבית==