Concurrent ZK
Post on 05-Feb-2016
40 Views
Preview:
DESCRIPTION
Transcript
Concurrent ZK
סמינר בפרוטוקולים קריפטוגרפיים – עומר פנט
ZKחזרה -
IP היא ZKאם לכל יריב קיים סימולטור לכל שפה בNP יש פרוטוקול ZK הפרוטוקול שלBlum הרכבה סדרתית של פרוטוקולZK היא גם ZKאין משפט עבור הרכבה מקבילית
BB-ZKחזרה
פרוטוקול הואBB-ZK אם קיים סימולטור לכל יריב
לא קייםBB-ZK עם שלושה סיבובים [GK 96] קיים פרוטוקולBB-ZKעם מספר סיבובים קבוע
commit G
decommit r
decommit G
commit r
VP
cZKמוטיווציה -
שימוש בZK"בתצורה "מציאותית שרת מרכזי כל יכולמספר לקוחות מוגבלים חישובית ובלתי תלויים עבור כל לקוח השרת מריץ עותק חדש שלP כל העותקים שלPרצים באופן בלתי תלוי לא מובטח כי העותקים שלVהם בלתי תלויים
היריבV* שולט ומתזמן את כל העותקים של V מכיל את המקרה של הרצה סדרתית או מקבילית
cZKמוטיבציה -
server
P
P
P V
V
VV*
cZKהגדרה -
פרוטוקול(P,V) הוא cZK אם הוא IP לשפה L קיים סימולטור *Vבו זמני ולכל יריב פולינומאלי
[x(]P,V) הפלט של xL כך שלכל Sפולינומאלי )S)xבלתי מובחן מהפלט של
יריב בו זמני הוא יריב ששולט במספרsessions ובתזמון שלהםPמול עותקים בלתי תלויים של
cZKהגדרה –
הפרוטוקול הואIP ביחס לכל sessionבנפר מספר הסיבובים נקבע על פיsessionבודד מספר הsessions הבו זמניים פולינומאלי )בגלל
V* ) פרוטוקול הואBB-cZK אם קיים סימולטור
BBשמדמה ריצה של כל יריב בעזרת שאילתות ?מהו מודל החישוב
מספר סיבובים – סקירת תוצאות
לא קיים פרוטוקול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
הקושי בסימולציה - דוגמה
האם הפרוטוקולZK סיבובים הוא גם 4 ב cZK?
P1 - commit GV2 - decommit rP2 - decommit G
V1 - commit r
VPV1P1V1P1V2P2V2P2
S1 S2
הקושי בסימולציה
תזמון גרוע במיוחד סימולציה דורשת זמן
אקספוננציאלי
די בתזמון זה על מנתלהכשיל כל סימולטור
חסם תחתון למספר סיבובים
אם קיימת לL מערכת הוכחה (P,V) שהיא BB-cZK סיבובים, אז 4 עם L ב BPP ]KPR 98[
3ההוכחה דומה לחסם עבור[ סיבובים GK 96] מניחים בשלילה כי קיים סימולטורS ובונים
Lבעזרתו אלגוריתם הכרעה עבור עבורxL הטעות זניחה בגלל השלמות של (P,V) עבורxL הטעות זניחה בגלל הנכונות של (P,V)
חסם תחתון למספר סיבובים
נגדיר יריבV* שמממש את התזמון הגרוע וכל הודעה שלו תלויה בכל ההודעות הקודמות בכל ה
sessions שימוש בT)S(-wise independent hash function
אלגוריתם הכרעה: עבור קלטx הרצת ,S עם היריב V* נחזיר כי ,xL
sessions משתכנע בכל ה *S, Vאם בפלט של
V
חסם תחתון למספר סיבובים
עבורxL, S מדמה ריצות רגילות של (P,V) עבורxL אם קיים S שמשכנע את V*
שמשכנע *Pבהסתברות לא זניחה, נבנה בעזרתו xL ש Vאת
היריבP* מצליח אם S לא עושה rewind ל session
P*
....
S V*session i
עוד חסמים תחתונים
7חסם תחתון ל[ סיבובים R 00] חסם תחתון לlog)n(/loglog)n( ]CKPR 01[כל החסמים משתמשים בתזמון קבוע החסם לכל קבוע משתמש ביריב שסוטה
מהפרוטוקול
סיבוביםkפרוטוקול עם
נוסיף לפרוטוקול שלBlum שלב התחלתי ונחזור פעמיםkעליו
Blum
STSRT VPP1,V1 – slot 1
Pk,Vk – slot k
…
open all slots
Part 1
Part 2
END
RKהסימולטור של
הסימולטור נוקט בגישה חמדנית ומבצעrewind ל slot אם מספר ה sessions שנאבד קטן מ (n-1/)k
נוסחאת נסיגה לעבודהW)n(=poly)n(*W)n-1/k( אםk=O)n( אז הסימולטור פולינומאלי אםk=O)1(אז הסימולטור קואזי-פולינומאלי לכלε>0 קיים פרוטוקול cZK עם nεסיבובים
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העדכניות של שימוש בשתשובות
שנשמרו עבור הודעות שלב שני
solveהפרוצדורה
PKניתוח הסימולטור של
הסימולטור רץ בזמן פולינומיאליהסימולטור מוציא פלט בלתי מובחן מריצה תקינה "הסימולטור כמעט אף פעם לא "נתקע התמודדות עםV*שסוטה מהפרוטוקול
הסימולטור לא נתקע
נניח כי התזמון שלV*קבוע מראש, אך לא ידוע בלוק הוא רצף הודעות שמסומלץ על ידיsolve בלוקi מינימאלי הוא הבלוק הקטן שמכיל את-slot i בלוקיםiמינימאליים הם שונים- בלוק הוא טוב אם הוא לא מכילSTART או END ישk-2d בלוקים טובים ומספיק אחד בכל session נבחרk=O)log n(ונקבל כי הסימולטר לא נתקע
התמודדות עם סטיות מהפרוטוקול
היריבV* יכול להחזיר בכל שלב הסימולטור מחזיר את התוצאה האחרונה שלV* בלוק הוא רע עם אח שלו מחזירוהוא לא בלוק אחד הוא רע בהסתברות קטנה מ¼בלוקים שלא מוכלים זה בזה הם בלתי תלויים ההסתברות שכל הבלוקים רעים קטנה מ)¼(k/d
נבחרk=O)log2 n(ונקבל הסתברות זניחה להיתקע
PRSהסימולטור של
למעשה מדובר בסימולטור שלKPעם ניתוח מתוחכם המטרה היא להוכיח כי רוב הסרטים האקראיים טוביםהתאמת סרטים טובים רבים לכל סרט רע
למצוא בלוקים קטנים שרצים פעמים רבות ולהחליף להחליף ריצה של בלוקים אחים[PTV 08]
PRSניתוח הסימולטור של
נגדירthread כסימולציה רצופה של V* כלsession בכל threadנתקע בהסתברות זניחה נאמר כיslot פתור ב threadעם הוא מקבל תשובה מתיthread יגיע ל END של session מתיthread\sessionיתקע נבחרthread\sessionראשיים סרט רע גורם לthread\sessionהראשיים להתקע
PRSניתוח הסימולטור של
עבור סרטr החלפת בלוק ,B באחיו B’ על ידי הלחפת הביטים האקראיים בהם השתמשה
, וקבלת סרט חדש ’B באלו של Bהסימולציה של r’
בתוךB יתכן תזמון שונה מבתוך B’ הבלוקיםB,B’ משתמשים באותה כמות של
ביטים הסימולציה בתוך הבלוקיםB,B’לא משתנה
PRSניתוח הסימולטור של
( נגדיר יחס סדר בין בלוקיםC>B)
1 .
2 .
PRSניתוח הסימולטור של
בלוקB עם אח B’ :הוא מתחלף אם הראשיthreadהוא על )מכיל את( ה – הראשיsession פתור של ה slotהוא מכיל –STARTהוא לא מכיל את ––B’ לא מכיל את END
PRSניתוח הסימולטור של
אםB בלוק מתחלף עם אח B’ והסרט ,r מתקבל הוא טובr את הסרט ’B עם Bעל ידי החלפת
אחרי ההחלפהB’ על ה threadהראשי אחרי ההחלפהB מכיל slotפתור אם הthread הראשי מגיע ל END אז Bהתבצע
PRSניתוח הסימולטור של
אםC>B בלוקים מתחלפים, לאחר שנחליף את B עדיין מתחלףC, הבלוק ’Bעם אחיו
אםC מתבצע לפני B ההחלפה לא משפיעה על ,C
אםC מכיל את B,B’ הוא מכיל אותם אחרי ההחלפה
הסימולציה באח שלCלא משתנה
PRSניתוח הסימולטור של
בלוקB:מתחלף הוא הפיך אם הראשי thread יש על ה B ל START בסימולציה בין –
הראשיsession משכנעים של ה slotsרק האחרים threads על כל ה B ל STARTבסימולציה בין –
הראשיsession לא משכנעים של ה slotsיש רק
אםC>B בלוקים הפיכים, החלפת B,B’ משאירה הפיךCאת
PRSניתוח הסימולטור של
עבור סרטr נסמן ב undo)r( את הסרט שמתקבל threadממציאת הבלוק הראשון שאינו על ה
משכנע, והחלפתו עם אחיוslotהראשי ומכיל אםB בלוק הפיך והסרט r’ מתקבל מ r על ידי
)’r = undo)r אז ’B עם אחיו Bהחלפת
PRSניתוח הסימולטור של
אם בסרט רע ישp בלוקים מתחלפים והפיכים אז סרטים טוביים 2p-1ניתן ליצור ממנו
אם שני סרטים טובים מתקבלים משני סרטיםרעים על ידי החלפת בלוקים הפיכים, אז הם
שונים אם בכל סרט רע ישp בלוקים מתחלפים והפיכים
p)½(אז ההסתברות לסרט רע היא
PRSניתוח הסימולטור של
נניח כי הסרט רע ישk-2d בלוקים i מינימאלים ללא-START או
END אםB בלוק i מינימאלי עם אח-B’ לא מכיל את ,
END אז גם B’ לא מכיל את END כל בלוקiמינימאלי טוב הוא מתחלף והפיך- נבחרk=O)log n( ונקבל הסתברות זניחה
להיתקע
מקורות
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
סיכום ושאלות
top related