משתנה היברידי

משתנה היברידי, בקריפטוגרפיה, הוא שיטת הוכחה שנועדה להוכיח ששתי התפלגויות הן דומות (בלתי ניתנות להבחנה חישובית). השיטה הוצגה לראשונה על ידי שפי גולדווסר וסילביו מיקאלי [1]

מבוא

לרוב, כשרוצים להוכיח שאם טענה מסוימת היא נכונה עבור קבוצת המספרים הטבעיים (או חלק ממנה) משתמשים בשיטות כמו אינדוקציה. במדעי המחשב בכלל ובקריפטוגרפיה בפרט, הוכחות באינדוקציה עשויות לא לעבוד, מכיוון שאנחנו מתייחסים גם לזמן הבניה, ולא רק לנכונותה.

דוגמה

נניח שיש לנו יצרן פסאודו אקראי הממפה קלט מאורך n ביטים לאורך n+1 ביטים. נרצה להוכיח שקיים יצרן שממפה קלט מאורך n ביטים לאורך 2n ביטים. בסיס האינדוקציה - קיום יצרן בטוח מ-n ל-n+1

צעד האינדוקציה - אם קיים יצרן הממפה מ-k ל-k+1 (עבור k > n) אזי קיים יצרן הממפה מ-k ל-k+2

בנייה עבור קלט באורך n

  1. נסמן: , כאשר .
  2. נחזור על התהליך למעלה k+2 פעמים, ונקבל
  3. נחזיר את הווקטור

אם נבדוק נראה שאכן זו בנייה בטוחה. אך הבעיה שונה.

בדוגמה זו קל לראות את הבעיה מיד - האינדוקציה לא מגבילה אותנו לאורך - כלומר ניתן להוציא גם אורך אקספוננציאלי. אך הבעיה עמוקה עוד יותר. בצעד ה-k+1 אנחנו מפעילים את היצרן הקודם k+2 פעמים. זאת אומרת שאף על פי שכל צעד בפני עצמו הוא נכון, מתקיים ש:

וזה סופר פולינומי.[2]

הגדרה פורמלית

נרצה להראות שההתפלגויות אינן מובחנות חישובית, כלומר

לכל יריב A, לכל פולינום ולכל n גדול דיו

כאשר מסמל דגימה יוניפורמית מ-, ו-n הוא פרמטר הביטחון.

נגדיר משתנה היברידי כאשר t פולינומי בפרמטר הביטחון n. מתקיים:

ועל פי אי שוויון המשולש, הביטוי שלמעלה קטן או שווה ל-

מאחר ש-t פולינומי ב-n, ועל פי עקרון שובך היונים, אם קיים מבחין A בין עם יתרון לא זניח אז ניתן להבחין גם בין ל- מסוים. מכאן נובע שאם ניתן להוכיח עבור כל זוג היברידים שכנים שהם ניתנים להבחנה בהסתברות זניחה לכל היותר, אזי נובע מיד שלילת הטענה שלמעלה, כלומר זה גורר באופן מיידי שמתקיים , כלומר ההתפלגויות ניתנות להבחנה עם יתרון זניח לכל היותר.

שימושים

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

דוגמה

הערות שוליים

  1. ^ S. Goldwasser and S. Micali. Probabilistic Encryption. JCSS, 28(2):270–299, 1984.
  2. ^ הבניה למעלה נכונה, אך צריך להוכיח את נכונותה בזהירות עם משתנה היברידי