מיסור שלא לפרסום
מוטיבציה ומאפיינים כלליים

בשל מגבלות רשת האינטרנט, כדי לדמות שיחה פרטית בין שני משתמשים אין די בהצפנה. נניח שאליס ובוב מנהלים שיחה פרטית דרך רשת האינטרנט ואיב מצותתת להם. היות שחילופי המסרים ביניהם מוצפנים, היא אינה יכולה להפיק כל תועלת מכך. אולם אם איב (שיכולה לייצג כאן ארגון גדול כמו ה-FBI) תאחסן עותקים של כל השיחות ביניהם ותמתין להזדמנות הראשונה שבה תצליח להניח ידה על מפתח ההצפנה אם על ידי פריצה פיזית, ייתכן באישור שופט או באמצעות תוכנת רישום הקשות וכדומה, לא רק שהיא כעת יכולה להאזין לכל השיחות העתידיות שלהם, אלא היא יכולה אף לפענח את כל השיחות שנעשו בעבר וכך תוכל לשייך או "להפליל" אותם בדברים שנאמרו, כי במסגרת פרוטוקול אבטחה דוגמת PGP המשתתפים מנצלים את המפתחות הציבוריים הקבועים שלהם כדי להצפין את כל המסרים שהם שולחים. וכן משתמשים בחתימה הדיגיטלית הקבועה שלהם כדי לאמת את זהותם. הבעיה עם חתימה דיגיטלית שהיא מחייבת מבחינה חוקית, כל אחד יכול להוכיח בבית משפט שהמסר החתום הגיע מבעל החתימה כי המפתח הציבורי של בעל החתימה פומבי.
בנוסף, מתעורר כאן פרדוקס מסוים. מצד אחד בשיחה חברתית אינטימית המשתתפים מעוניינים לוודא שהם אכן משוחחים עם מי שהם חושבים ולא עם מתחזה, מצד שני הם לא מעוניינים שיהיה בכוחו של אף אחד אפילו לא אחד מהצדדים בעצמם, לשייך אליהם או להוכיח שהם אחראים לדברים שנאמרו לאחר מעשה. זהו מאפיין חשוב שנקרא יכולת הכחשה שקיים, במידה מסוימת, בשיחה פרטית פיזית (בהנחה שלא מצותתים להם). למשל אפילו בוב עצמו לא יוכל לטעון שאליס אמרה לו דברים כלשהם כי היא יכולה להכחיש ולטעון שהוא בעצם זה שאמר אותם ואין לו דרך להוכיח זאת אם רק שניהם היו נוכחים בזמן שהדברים נאמרו. פרוטוקולים כמו PGP או SSL אינם בנויים לספק מאפיין זה. את היעדים האמורים אפשר להשיג בדרך הבאה:
סודיות קדימה. כל השיחות יהיו מוצפנות באמצעות מפתחות חד פעמיים קצרי טווח שנוצרים לפי הצורך באופן אקראי ומושמדים מיד לאחר השימוש הם נקראים מפתח שיחה או המפתח הארעי (באנגלית: Ephemeral key). לכן גם אם מפתח סודי ארוך טווח של אחד מהמשתתפים נחשף לא ניתן יהיה לעשות בו שימוש כדי לפענח שיחות שנעשו בעבר. כדי לשתף את המפתח החד-פעמי הם משתמשים בפרוטוקול דיפי-הלמן שמאפשר למשתתפים לשתף מפתח מעל גבי ערוץ פתוח הנתון לציתות מבלי לחשוף אותו לאף אחד. בקצרה, תחילה הם בוחרים מספר ראשוני גדול  p ויוצר  g של תת-חבורה של  \mathbb {Z} _{p}^{*} מסדר ראשוני גדול, שניהם גלויים ומפורסמים לכל. ואז אליס ובוב בוחרים את המפתחות הפרטיים שלהם שהם השלמים  a ו- b בהתאמה ומשדרים אחד לשני את המפתחות הציבוריים שלהם שהם  g^{a} ו- g^{b} מודולו  p בהתאמה. אליס יכולה כעת לחשב את המפתח המשותף על ידי הכפלה של המפתח הפרטי שלה עם המפתח הציבורי של בוב:  g^{ab}\equiv (g^{b})^{a} ובאותה דרך בוב מחשב את המפתח על ידי  g^{ab}\equiv (g^{a})^{b} (מודולו  p). המפתח המשותף  g^{ab} מודולו  p אינו ידוע לאיש מלבדם. ההנחה היא שמבחינה מתמטית כל עוד לא קיים מחשב קוונטי, קשה מאוד לגלות את  a או את  b מתוך  g^{ab} מודולו  p ולכן הסוד שלהם בטוח. אלא אם כן מישהו יגלה דרך מתוחכמת לפתור את בעיית הלוגריתם הבדיד או בעיית דיפי-הלמן הנחשבות לבעיות מתמטיות קשות מזה שנים רבות.
חתימה דיגיטלית. כדי להבטיח את זהות הצדדים המשתתפים בשיחה יש צורך בחתימה דיגיטלית כמו DSA או RSA. ההנחה היא שלכל משתמש חתימה דיגיטלית קבועה שבדרך כלל אמורה להחזיק מעמד שנים רבות. חתימה דיגיטלית מאושרת על ידי רשות מאשרת אינה ניתנת להכחשה, החתימה משמשת כהוכחה לשייכות התוכן החתום לחותם מבחינה חוקית. כאן מעוניינים להשיג בדיוק את ההפך לכן במקום לחתום על השיחות עצמן החתימה משמשת רק לאימות המפתחות הציבוריים  g^{a} ו- g^{b} בהתאמה. בדרך זו כל אחד יכול לאמת שאכן אליס או בוב הם הבעלים של המפתחות הללו אך לא מעבר לכך. בכל אופן, בידי אליס ובוב קיים מידע נוסף והוא המפתחות הפרטיים שלהם, מידע זה שנשמר בסוד ישמש אותם לאחר מכן לאימות השיחות עצמן.
קוד אימות מסרים. קוד אימות בקיצור MAC מאפשר לאליס ובוב להבטיח את אותנטיות ומקור השיחות שלהם, אך בד בבד למנוע מצד שלישי מלהוכיח זאת בעצמו. התכונה של קוד אימות מסרים היא שבניגוד לחתימה דיגיטלית אינו מכיל אי-יכולת הכחשה, למעשה כל מי שיודע מהו המפתח הפרטי איתו הוכן קוד האימות יכול בעצמו להכין קוד אימות של תוכן כל שיחה אחרת. בקצרה, פונקציית אימות כמו HMAC היא פונקציה המקבלת את השיחה המיועדת לאימות ומפתח סודי ומפיקה תג אימות קצר אותו מצרפים לשיחה עצמה במהלך שידורה. המקבל משתמש בפונקציית האימות המתאימה, עם אותו מפתח סודי כדי לוודא באמצעות התג המצורף שאכן תוכן השיחה נותר שלם ואינו מכיל שינויים זדוניים על ידי צד שלישי כלשהו וכן שהשיחה אכן הגיעה מהמקור ממנו היא אמורה להגיע. לעומת זאת, למתבונן מהצד, אין בתג האימות כל מידע שיכול להוכיח ממי הגיעה השיחה. יתרה מזו, הפרוטוקול אף מכתיב לחשוף את מפתח האימות במכוון (לאחר שמקבל השיחה אישר שקיבל אותה), עובדה זו מוסיפה פרטיות כי לאחר קבלת השיחה ובדיקת תג האימות אין צורך במפתח האימות, כך שחשיפתו בעצם מטשטשת לחלוטין את הקשר בין מפתח האימות לבעל השיחה.
הצפנה חשילה. בנוסף ליכולת ההכחשה האמורה מנסים להשיג תכונה נוספת הנקראת חשילות או יכולת זיוף. כל השיחות מוצפנות באופן כזה שניתן יהיה לבצע מניפולציה שלהן מבלי שהדבר יתגלה. לעובדה זו שלכאורה נשמעת מנוגדת למטרה, יש חשיבות רבה כי היא בעצם מאפשרת לשלול כל הוכחה שתינתן בעתיד לגבי מקור השיחה כי כל אחד יכול היה "לזייף" את תוכנה. כמובן שהמשתתפים בשיחה בזמן אמת יכולים לוודא שלא נעשו שינויים כי בידם מפתח אימות סודי. לאחר מעשה, כאשר מפתח האימות נחשף אי אפשר להשתמש בו כדי להוכיח שהמסר המקורי לא שונה. אפשר להשיג זאת על ידי צופן זרם או במצב הפעלה של צופן בלוקים המדמה צופן זרם כמו מצב מונה. צופן זרם מצפין את המידע על ידי XOR עם מפתח הצפנה באורך המידע עצמו, סיבית אחר סיבית או מילה אחר מילה. ההשפעה של מניפולציות (היפוך סיביות) של הטקסט המוצפן משפיעה אך ורק על הסיביות המתאימות בטקסט המקורי לאחר פענוח. אם מישהו מצליח לנחש חלק מהטקסט המוצפן ביכולתו לשנות את הטקסט המוצפן למה שיחפוץ אפילו מבלי לגלות את מפתח ההצפנה.