מפתח ציבורי
הגדרה בסיסית

כל מערכת הצפנת מפתח ציבורי מכילה מספר פרמטרים בסיסיים. לצורך ההסבר, מקובל לכנות את השולח והמקבל אליס ובוב ואיב היא מצותתת פסיבית, ייתכנו גורמים נוספים כמו קרול או מלורי שלהם "תפקידים" שונים בהתאם לנושא. בתיאור זה אליס היא השולחת ובוב המקבל.  {\mathcal {M}} מייצג את מרחב כל המסרים האפשריים מהם אליס מעוניינת לשלוח מסר אחד  m לבוב, בסימון מתמטי  m\in {\mathcal {M}}. מרחב המסרים יכול להיות מקודד בכל דרך מוסכמת כמו מחרוזת בינארית או מספר שלם ובלבד שתהיה דרך קלה ומסוכמת להמיר את המסר לפורמט המתאים למערכת ההצפנה ובחזרה. המסר המוצפן המתקבל שייך למרחב המסרים המוצפנים של המערכת המסומן ב- {\mathcal {C}} או בקיצור  c\in {\mathcal {C}}. (ברוב המקרים המרחבים חופפים כך שמתקיים  |{\mathcal {C}}|=|{\mathcal {M}}| אך אין זה חובה). מה שמייחד מערכת אסימטרית הוא מרחב המפתח  {\mathcal {K}} של בוב, שבניגוד למערכת סימטרית מורכב למעשה משני מפתחות, מפתח פרטי המסומן ב- k_{\text{priv}} ומפתח ציבורי מתאים  k_{\text{pub}}. באופן פורמלי:
המפתח הציבורי  k_{\text{pub}} משמש את פונקציית ההצפנה  e כך:
במילים, פונקציית ההצפנה  e היא פונקציה חד-כיוונית שיכולה להיות גם פונקציה הסתברותית, המקבלת את  m ואת  k_{\text{pub}}, מצפינה את  m ומחזירה את הטקסט המוצפן  c. במקרה של הצפנה הסתברותית נוסף לתהליך ההצפנה אלמנט אקראי כך שבכל פעם שמצפינים את  m יתקבל  c אחר, אפילו אם המפתח זהה.
באופן דומה המפתח הפרטי  k_{\text{priv}} משמש את פונקציית הפענוח  d כך:
פונקציית הפענוח  d היא פונקציה דטרמיניסטית המבצעת את הפעולה ההפוכה, היא מקבלת את  c ואת המפתח הפרטי  k_{\text{priv}} ומשחזרת את  m המקורי. עבור כל מפתח ציבורי קיים אך ורק מפתח פרטי יחיד המתאים לו וכמו בכל מערכת הצפנה כדי שהיא תקרא שלמה; בהינתן כל זוג מפתחות תואם  (k_{\text{priv}},k_{\text{pub}})\in {\mathcal {K}} וכל מסר  m\in {\mathcal {M}} צריך תמיד להתקיים:
לפי עקרונות מערכת הצפנה מודרנית מקובל שפונקציות ההצפנה והפענוח אינן סודיות והן ידועות לכל, הדבר היחידי שנשמר בסוד הוא מפתח הפענוח. ומעל הכול כדי שמערכת כזו תקרא בטוחה, חובה שיהיה "קשה מאוד" לאויב לחשב את מפתח הפענוח הפרטי  k_{\text{priv}} מתוך מפתח ההצפנה הציבורי  k_{\text{pub}} הידוע לכל. ולכן יהיה קשה מאוד לחשב את פונקציית הפענוח  d_{k_{\text{priv}}}(c) בהינתן המידע המתקבל מפונקציית ההצפנה  e_{k_{\text{pub}}}(m).
ישנם כמה מודלים תאורטיים להערכת ביטחון מערכת הצפנה אסימטרית. באופן לא פורמלי בביטוי "קשה מאוד" מתכוונים שניסיון לנחש את המפתח הפרטי מתוך המפתח הציבורי עם מיטב האלגוריתמים הידועים יהיה בסיבוכיות גבוהה מעבר ליכולת המחשוב הנוכחית עם שולי ביטחון מניחים את הדעת. זו תכונה יסודית של מערכת הצפנה אסימטרית ומכאן נובע שמה. מסיבה זו המקבל בוב יכול לשלוח לאליס ללא חשש את מפתח ההצפנה באמצעות ערוץ תקשורת פתוח שניתן לציתות על ידי כל אחד. הדרך היחידה לפענח מסר שהוצפן עבור בוב עם המפתח הציבורי שלו היא לדעת מהו מפתח הפענוח  k_{\text{priv}} המתאים שברשותו. ההנחה היא שרק בוב יודע מהו כי הוא נשמר בסוד ולעולם אינו נשלח ברשת פתוחה. המפתח הפרטי נקרא מהיבט תאורטי "דלת צונחת" מכיוון שהוא מאפשר קיצור דרך למקבל כדי לחשב את הפונקציה ההופכית של פונקציית ההצפנה החד-כיוונית ולפענח את המסר המוצפן ביעילות.
בתרשים למעלה מתוארת מערכת מפתח ציבורי טיפוסית: בוב מכין זוג מפתחות  k_{\text{priv}},k_{\text{pub}}. את המפתח הציבורי  k_{\text{pub}} הוא שולח לאליס ואת  k_{\text{priv}} הוא שומר בסוד. כעת אליס מצפינה את המסר  m עבור בוב באמצעות הפונקציה  c=e_{k_{\text{pub}}}(m) ואילו בוב משחזר את הטקסט המוצפן באמצעות  m=d_{k_{\text{priv}}}(c). איב שהיא מצותתת פאסיבית המסוגלת לראות את תעבורת הרשת, רואה את  k_{\text{pub}} (שנשלח על ידי בוב) ואת  c (שנשלח על ידי אליס). אולם ההנחה היא שאיב תוכל לפענח את הטקסט המוצפן  c רק בידיעת  k_{\text{priv}}. כיוון ש- k_{\text{priv}} מעולם לא שודר, ביכולתה רק לנחשו בכוח גס כלומר ניסוי כל האפשרויות שברוב המכריע של המקרים, אם המפתח מספיק גדול, אינו בר ביצוע מבחינה מעשית.