concurrent zk

34
Concurrent ZK םםםםם םםםםםםםםםםם םםםםםםםםםםםם – םםםם םםם

Upload: zyta

Post on 05-Feb-2016

44 views

Category:

Documents


0 download

DESCRIPTION

Concurrent ZK. סמינר בפרוטוקולים קריפטוגרפיים – עומר פנט. חזרה - ZK. IP היא ZK אם לכל יריב קיים סימולטור לכל שפה ב NP יש פרוטוקול ZK הפרוטוקול של Blum הרכבה סדרתית של פרוטוקול ZK היא גם ZK אין משפט עבור הרכבה מקבילית. חזרה BB-ZK. פרוטוקול הוא BB-ZK אם קיים סימולטור לכל יריב - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Concurrent ZK

Concurrent ZK

סמינר בפרוטוקולים קריפטוגרפיים – עומר פנט

Page 2: Concurrent ZK

ZKחזרה -

IP היא ZKאם לכל יריב קיים סימולטור לכל שפה בNP יש פרוטוקול ZK הפרוטוקול שלBlum הרכבה סדרתית של פרוטוקולZK היא גם ZKאין משפט עבור הרכבה מקבילית

Page 3: Concurrent ZK

BB-ZKחזרה

פרוטוקול הואBB-ZK אם קיים סימולטור לכל יריב

לא קייםBB-ZK עם שלושה סיבובים [GK 96] קיים פרוטוקולBB-ZKעם מספר סיבובים קבוע

commit G

decommit r

decommit G

commit r

VP

Page 4: Concurrent ZK

cZKמוטיווציה -

שימוש בZK"בתצורה "מציאותית שרת מרכזי כל יכולמספר לקוחות מוגבלים חישובית ובלתי תלויים עבור כל לקוח השרת מריץ עותק חדש שלP כל העותקים שלPרצים באופן בלתי תלוי לא מובטח כי העותקים שלVהם בלתי תלויים

Page 5: Concurrent ZK

היריבV* שולט ומתזמן את כל העותקים של V מכיל את המקרה של הרצה סדרתית או מקבילית

cZKמוטיבציה -

server

P

P

P V

V

VV*

Page 6: Concurrent ZK

cZKהגדרה -

פרוטוקול(P,V) הוא cZK אם הוא IP לשפה L קיים סימולטור *Vבו זמני ולכל יריב פולינומאלי

[x(]P,V) הפלט של xL כך שלכל Sפולינומאלי )S)xבלתי מובחן מהפלט של

יריב בו זמני הוא יריב ששולט במספרsessions ובתזמון שלהםPמול עותקים בלתי תלויים של

Page 7: Concurrent ZK

cZKהגדרה –

הפרוטוקול הואIP ביחס לכל sessionבנפר מספר הסיבובים נקבע על פיsessionבודד מספר הsessions הבו זמניים פולינומאלי )בגלל

V* ) פרוטוקול הואBB-cZK אם קיים סימולטור

BBשמדמה ריצה של כל יריב בעזרת שאילתות ?מהו מודל החישוב

Page 8: Concurrent ZK

מספר סיבובים – סקירת תוצאות

לא קיים פרוטוקולBB-cZK 3 עם[ סיבובים GK 96] לא קיים פרוטוקולBB-cZK 4 עם[ סיבובים KPR 98] קיים פרוטוקול עםω)n([ סיבובים RK 99] לא קיים פרוטוקולBB-cZK 7 עם[ סיבובים R 00] קיים פרוטוקול עםω)log2 n([ סיבובים KP 01] חסם תחתון שלlog n[ סיבובים CKPR 01] קיים פרוטוקול עםω)log n([ סיבובים PRS 02]

3 4 7 Log n Log2 n n

Page 9: Concurrent ZK

הקושי בסימולציה - דוגמה

האם הפרוטוקולZK סיבובים הוא גם 4 ב cZK?

P1 - commit GV2 - decommit rP2 - decommit G

V1 - commit r

VPV1P1V1P1V2P2V2P2

S1 S2

Page 10: Concurrent ZK

הקושי בסימולציה

תזמון גרוע במיוחד סימולציה דורשת זמן

אקספוננציאלי

די בתזמון זה על מנתלהכשיל כל סימולטור

Page 11: Concurrent ZK

חסם תחתון למספר סיבובים

אם קיימת לL מערכת הוכחה (P,V) שהיא BB-cZK סיבובים, אז 4 עם L ב BPP ]KPR 98[

3ההוכחה דומה לחסם עבור[ סיבובים GK 96] מניחים בשלילה כי קיים סימולטורS ובונים

Lבעזרתו אלגוריתם הכרעה עבור עבורxL הטעות זניחה בגלל השלמות של (P,V) עבורxL הטעות זניחה בגלל הנכונות של (P,V)

Page 12: Concurrent ZK

חסם תחתון למספר סיבובים

נגדיר יריבV* שמממש את התזמון הגרוע וכל הודעה שלו תלויה בכל ההודעות הקודמות בכל ה

sessions שימוש בT)S(-wise independent hash function

אלגוריתם הכרעה: עבור קלטx הרצת ,S עם היריב V* נחזיר כי ,xL

sessions משתכנע בכל ה *S, Vאם בפלט של

Page 13: Concurrent ZK

V

חסם תחתון למספר סיבובים

עבורxL, S מדמה ריצות רגילות של (P,V) עבורxL אם קיים S שמשכנע את V*

שמשכנע *Pבהסתברות לא זניחה, נבנה בעזרתו xL ש Vאת

היריבP* מצליח אם S לא עושה rewind ל session

P*

....

S V*session i

Page 14: Concurrent ZK

עוד חסמים תחתונים

7חסם תחתון ל[ סיבובים R 00] חסם תחתון לlog)n(/loglog)n( ]CKPR 01[כל החסמים משתמשים בתזמון קבוע החסם לכל קבוע משתמש ביריב שסוטה

מהפרוטוקול

Page 15: Concurrent ZK

סיבוביםkפרוטוקול עם

נוסיף לפרוטוקול שלBlum שלב התחלתי ונחזור פעמיםkעליו

Blum

STSRT VPP1,V1 – slot 1

Pk,Vk – slot k

open all slots

Part 1

Part 2

END

Page 16: Concurrent ZK

RKהסימולטור של

הסימולטור נוקט בגישה חמדנית ומבצעrewind ל slot אם מספר ה sessions שנאבד קטן מ (n-1/)k

נוסחאת נסיגה לעבודהW)n(=poly)n(*W)n-1/k( אםk=O)n( אז הסימולטור פולינומאלי אםk=O)1(אז הסימולטור קואזי-פולינומאלי לכלε>0 קיים פרוטוקול cZK עם nεסיבובים

Page 17: Concurrent ZK

KPהסימולטור של

solve)hist, m(– If m>1

hist1 = solv)hist, m/2( hist2 = solv)hist, m/2( hist3 = solv)hist1, m/2( hist4 = solv)hist1, m/2( return hist3

– pick random msg p– simulate V*)hist, p(( -> v– return hist + )p,v(

התעלמות מהתזמון שלV* וביצוע rewinds על פי

אסטרטגיה קבועה מראש 1ספירת רק הודעות שלב שמירת כל התשובות

*Vהעדכניות של שימוש בשתשובות

שנשמרו עבור הודעות שלב שני

Page 18: Concurrent ZK

solveהפרוצדורה

Page 19: Concurrent ZK

PKניתוח הסימולטור של

הסימולטור רץ בזמן פולינומיאליהסימולטור מוציא פלט בלתי מובחן מריצה תקינה "הסימולטור כמעט אף פעם לא "נתקע התמודדות עםV*שסוטה מהפרוטוקול

Page 20: Concurrent ZK

הסימולטור לא נתקע

נניח כי התזמון שלV*קבוע מראש, אך לא ידוע בלוק הוא רצף הודעות שמסומלץ על ידיsolve בלוקi מינימאלי הוא הבלוק הקטן שמכיל את-slot i בלוקיםiמינימאליים הם שונים- בלוק הוא טוב אם הוא לא מכילSTART או END ישk-2d בלוקים טובים ומספיק אחד בכל session נבחרk=O)log n(ונקבל כי הסימולטר לא נתקע

Page 21: Concurrent ZK

התמודדות עם סטיות מהפרוטוקול

היריבV* יכול להחזיר בכל שלב הסימולטור מחזיר את התוצאה האחרונה שלV* בלוק הוא רע עם אח שלו מחזירוהוא לא בלוק אחד הוא רע בהסתברות קטנה מ¼בלוקים שלא מוכלים זה בזה הם בלתי תלויים ההסתברות שכל הבלוקים רעים קטנה מ)¼(k/d

נבחרk=O)log2 n(ונקבל הסתברות זניחה להיתקע

Page 22: Concurrent ZK

PRSהסימולטור של

למעשה מדובר בסימולטור שלKPעם ניתוח מתוחכם המטרה היא להוכיח כי רוב הסרטים האקראיים טוביםהתאמת סרטים טובים רבים לכל סרט רע

למצוא בלוקים קטנים שרצים פעמים רבות ולהחליף להחליף ריצה של בלוקים אחים[PTV 08]

Page 23: Concurrent ZK

PRSניתוח הסימולטור של

נגדירthread כסימולציה רצופה של V* כלsession בכל threadנתקע בהסתברות זניחה נאמר כיslot פתור ב threadעם הוא מקבל תשובה מתיthread יגיע ל END של session מתיthread\sessionיתקע נבחרthread\sessionראשיים סרט רע גורם לthread\sessionהראשיים להתקע

Page 24: Concurrent ZK

PRSניתוח הסימולטור של

עבור סרטr החלפת בלוק ,B באחיו B’ על ידי הלחפת הביטים האקראיים בהם השתמשה

, וקבלת סרט חדש ’B באלו של Bהסימולציה של r’

בתוךB יתכן תזמון שונה מבתוך B’ הבלוקיםB,B’ משתמשים באותה כמות של

ביטים הסימולציה בתוך הבלוקיםB,B’לא משתנה

Page 25: Concurrent ZK

PRSניתוח הסימולטור של

( נגדיר יחס סדר בין בלוקיםC>B)

1 .

2 .

Page 26: Concurrent ZK

PRSניתוח הסימולטור של

בלוקB עם אח B’ :הוא מתחלף אם הראשיthreadהוא על )מכיל את( ה – הראשיsession פתור של ה slotהוא מכיל –STARTהוא לא מכיל את ––B’ לא מכיל את END

Page 27: Concurrent ZK

PRSניתוח הסימולטור של

אםB בלוק מתחלף עם אח B’ והסרט ,r מתקבל הוא טובr את הסרט ’B עם Bעל ידי החלפת

אחרי ההחלפהB’ על ה threadהראשי אחרי ההחלפהB מכיל slotפתור אם הthread הראשי מגיע ל END אז Bהתבצע

Page 28: Concurrent ZK

PRSניתוח הסימולטור של

אםC>B בלוקים מתחלפים, לאחר שנחליף את B עדיין מתחלףC, הבלוק ’Bעם אחיו

אםC מתבצע לפני B ההחלפה לא משפיעה על ,C

אםC מכיל את B,B’ הוא מכיל אותם אחרי ההחלפה

הסימולציה באח שלCלא משתנה

Page 29: Concurrent ZK

PRSניתוח הסימולטור של

בלוקB:מתחלף הוא הפיך אם הראשי thread יש על ה B ל START בסימולציה בין –

הראשיsession משכנעים של ה slotsרק האחרים threads על כל ה B ל STARTבסימולציה בין –

הראשיsession לא משכנעים של ה slotsיש רק

אםC>B בלוקים הפיכים, החלפת B,B’ משאירה הפיךCאת

Page 30: Concurrent ZK

PRSניתוח הסימולטור של

עבור סרטr נסמן ב undo)r( את הסרט שמתקבל threadממציאת הבלוק הראשון שאינו על ה

משכנע, והחלפתו עם אחיוslotהראשי ומכיל אםB בלוק הפיך והסרט r’ מתקבל מ r על ידי

)’r = undo)r אז ’B עם אחיו Bהחלפת

Page 31: Concurrent ZK

PRSניתוח הסימולטור של

אם בסרט רע ישp בלוקים מתחלפים והפיכים אז סרטים טוביים 2p-1ניתן ליצור ממנו

אם שני סרטים טובים מתקבלים משני סרטיםרעים על ידי החלפת בלוקים הפיכים, אז הם

שונים אם בכל סרט רע ישp בלוקים מתחלפים והפיכים

p)½(אז ההסתברות לסרט רע היא

Page 32: Concurrent ZK

PRSניתוח הסימולטור של

נניח כי הסרט רע ישk-2d בלוקים i מינימאלים ללא-START או

END אםB בלוק i מינימאלי עם אח-B’ לא מכיל את ,

END אז גם B’ לא מכיל את END כל בלוקiמינימאלי טוב הוא מתחלף והפיך- נבחרk=O)log n( ונקבל הסתברות זניחה

להיתקע

Page 33: Concurrent ZK

מקורות

O. Goldreich and A. Kahan. How to Construct Constant-Round Zero-Knowledge Proof Systems for NP 1996

J. Kilian, E. Petrank, and C. Rackoff. Lower Bounds for Zero-Knowledge on the Internet 1998

R. Richardson and J. Kilian. On the Concurrent Composition of Zero-Knowledge Proofs 1999

A. Rosen. A Note on the Round-Complexity of Concurrent Zero-Knowledge 2000 J. Kilian and E. Petrank. Concurrent and Resettable Zero-Knowledge in Polylogarithmic

Rounds 2001 R. Canetti, J. Kilian, E. Petrank and A. Rosen. Black-Box Concurrent Zero-Knowledge

Requires )Almost( Logarithmically Many Rounds 2001 M. Prabhakaran, A. Rosen and A. Sahai. Concurrent Zero-Knowledge Proofs in

Logarithmic Number of Rounds A. Rosen Concurrent Zero-Knowledge 2006 R. Pass W. Tsengy M. Venkitasubramaniamz Unconditional Characterizations of

Concurrent Zero Knowledge 2008

Page 34: Concurrent ZK

סיכום ושאלות