העברה עלומה
פרוטוקול העברה עלומה של רבין > מהלכי הפרוטוקול

אליס ובוב בוחרים כל אחד בנפרד זוג ראשוניים שונים  \ p_{1},q_{1} וכן  \ p_{2},q_{2} ומכינים מפתחות הצפנה חד פעמיים  \ n_{A}=p_{1}q_{1} וכן  \ n_{B}=p_{2}q_{2}. אליס שולחת לבוב מסר חתום המכיל את  \ n_{A} ובוב מחזיר במסר חתום משלו המכיל  \ n_{B}.
בוב בוחר מספר שלם אקראי  \ x כאשר  \ x\leq n_{A} ומחשב את  \ c=x^{2}{\mbox{ mod }}n_{A} ושולח לאליס את  \ c ואת:  \ E_{k_{B}}(x) שהוא הצפנה של המספר האקראי שבחר באמצעות המפתח הפומבי שלו  \ k_{B}.
אליס מחשבת את  \ x_{1} המקיים  \ x_{1}^{2}\equiv c\ ({\mbox{mod }}n) (כלומר אחד מהשורשים הריבועיים של  \ c מודולו  \ n_{A}) ושולחת לבוב מסר חתום המכיל את  \ x_{1}.
בוב מחשב את  \ d={\mbox{gcd}}(x-x_{1},n_{A}) (הפונקציה gcd מייצגת מחלק משותף מקסימלי). בהסתברות של חצי  \ d=p או  \ d=q, על כן בהסתברות של חצי בוב מצליח לפרק לגורמים את  \ n_{A} ובמידה וכן יוכל לפענח את המסר המוצפן המכיל את  \ s_{A}. בשלב זה אליס אינה יכולה לדעת האם בוב הצליח לגלות את הגורמים הראשוניים של  \ n_{A} כיוון שהיא אינה יודעת מהו  \ x שבוב שלח במסר המוצפן בשלב קודם.
שלושת המהלכים האחרונים מבוצעים גם בכיוון ההפוך, כך שבסיכומם ההסתברות שאליס תצליח לפרק את  \ n_{B} לגורמים היא  \ 1/2 בעוד שבוב אינו יודע האם הצליחה לעשות זאת אם לאו.
כזכור סודם של אליס ובוב הוא סיבית אחת בלבד. בוב מחשב את  \ e_{B}=s_{B}\oplus v_{B} ושולח לאליס את  \ e_{B}.  \ e_{B} מייצג XOR של סודו  \ s_{B} עם  \ v_{B} המייצג את ידיעתו באשר לגורמים הראשוניים של  \ n_{A}. ידיעת  \ e_{B} אינה תורמת לאליס דבר על מנת ללמוד את סודו של בוב, כיוון שהיא אינה יודעת האם בוב אכן גילה את הגורמים הראשוניים של  \ n_{A}. אליס פועלת באותה הדרך ושולחת לבוב את  \ e_{A} הנגזר מ-XOR של סודה  \ s_{A} עם  \ v_{A}.
בשלב האחרון בפרוטוקול, אליס מצפינה מסר אקראי כלשהו  \ m_{A} כאשר סיבית אחת בו היא הסוד שלה  \ s_{A} באמצעות הצפנת מפתח פומבי כלשהי:  \ d_{A}=E_{n_{A}}(m_{A}), היא יכולה לעשות זאת למשל על ידי הצפנת רבין:  \ d_{A}=m_{A}^{2}{\mbox{ mod }}n_{A}, במידה וניתן יהיה לזהות את התוצאה הנכונה מבין ארבע התוצאות האפשריות (למשל על ידי תחילית מוסכמת). אליס שולחת את  \ d_{A} לבוב במסר חתום. ובוב פועל בדרך דומה ושולח לאליס הצפנה של מסר אקראי המכיל בתוכו את סיבית הסוד שלו.
הפרוטוקול המתואר מספק מענה לבעיית החלפת סוד האמורה בכך שההסתברות שהצדדים יקבלו את סודם היא  \ 1/4. ברור שאם אחד מהצדדים יחדל מהשתתפות בפרוטוקול לפני שמתבצע השלב האחרון, אף אחד מהם לא יוכל ללמוד מאומה בקשר לסודו של האחר. אם  \ v_{B}=0 פירושו של דבר שבוב יכול לפענח את  \ d_{A} כיוון שהגורמים הראשוניים של  \ n_{A} ידועים לו, אחרת תהיה זו בעיה קשה, כידוע. אם בוב ינסה להשתמש בסוד שקיבל, אליס תדע מכך (שוב ההנחה היא שבוב יעשה זאת רק אם יהיה משוכנע מעל לכל ספק שהסוד  \ s_{A} אכן ידוע לו) מה שיאפשר לאליס להסיק מכך מידית מהו הסוד  \ s_{B} כיוון ש- \ e_{B}=s_{B}\oplus v_{B}. הדברים האמורים נכונים גם להפך. עצם הניסיון לעשות שימוש בסוד מהווה הוכחה לידיעת הסוד המקביל בצד השני. ההסתברות במקרה שהפרוטוקול בוצע בשלמותו שאף אחד מהם לא ידע את הסוד של השני הוא  \ (1/2)^{2}.
ניתן להרחיב את הפרוטוקול כך שבוב ישלח לאליס בשלב השני שני מספרים במקום אחד והתהליך כולו יתבצע עם שניהם. במקרה כזה ההסתברות לידיעת הגורמים הראשוניים תהיה 3/4. אפשר לעשות זאת עם מספר גדול יותר של ערכים כל עוד מידת הידיעה המושגת על ידי כל אחד מהצדדים לפני השלב הסופי קטנה מכדי שהם יוכלו להשתכנע במידת ידיעתם, כלומר איש מהם לא ייקח סיכון וינסה לעשות שימוש בסוד מבלי להמתין לשלב הסופי. ניתן כמובן לאכוף זאת בכמה דרכים, כמו זו המוזכרת לעיל, באופן שניסיון לעשות שימוש בסוד במידה ואינו הסוד הנכון יגרום לנזק שהמשתתף אינו יכול להרשות לעצמו לספוג.