อลิซเลือกรายการคีย์ส่วนตัวแบบสุ่มที่เหมือนกัน $\{a_i\}$. เธอคำนวณรายการคีย์สาธารณะที่เกี่ยวข้อง $\{A_i\}$ เช่น $\{a_iG\}$. จากนั้นเธอประกาศรายการแฮชคีย์สาธารณะที่เกี่ยวข้อง $\{P_i\}$ คำนวณเป็น $\{แฮช(A_i)\}$.
$G$ เป็นจุดฐานที่รู้จักกันดีบนเส้นโค้งและ $แฮช()$ เป็นฟังก์ชันแฮชที่มีความปลอดภัยในการเข้ารหัส
Bob ทำเช่นเดียวกัน เพื่อให้ Bob มีกุญแจส่วนตัว $\{b_i\}$มีกุญแจสาธารณะ $\{B_i\}$และประกาศแฮชคีย์สาธารณะ $\{Q_i\}$.
ในขั้นตอนนี้ อลิซและบ็อบสามารถตัดสินใจที่จะร่วมมือกันเพื่อกำหนดรายการลับที่ใช้ร่วมกันของดิฟฟี-เฮลล์แมน $\{S_i\}$ เช่น $\{a_iB_i\}$ หรือ $\{b_iA_i\}$. อย่างไรก็ตามพวกเขาไม่ทำเช่นนี้
หากอลิซต้องการเรียนรู้ความลับที่ใช้ร่วมกันที่ดัชนี $เจ$ โดยที่บ๊อบไม่รู้ $เจ$ หรือความลับที่แบ่งปัน:
อลิซเลือกปัจจัยที่ทำให้ไม่เห็นแบบสุ่มอย่างสม่ำเสมอ $r$และส่ง $X=rA_j+jH$ ถึงบ๊อบ $H$ เป็นจุดฐานที่สองที่รู้จักกันดีบนเส้นโค้ง โดยที่ $h$ ไม่เป็นที่รู้จักเช่นนั้น $hG==H$.
บ๊อบส่งรายการกลับมาให้อลิซ $\{Z_i\}$ = $\{b_i(X-iH)\}$.
ตอนนี้อลิซทำได้เพียงเลิกตาบอดและเรียนรู้ความลับที่ใช้ร่วมกัน $S_j$ โดยการคำนวณ $r^{-1}Z_j$. เธอไม่สามารถเรียนรู้อะไรเกี่ยวกับความลับที่ใช้ร่วมกันอื่น ๆ เนื่องจาก $H$ ส่วนประกอบของรายการคำตอบของ Bob จะยกเลิกที่ดัชนีใดดัชนีหนึ่งเท่านั้น
ตั้งแต่ความลับของ Diffie-Hellman $S_j$ จะเท่ากับ $a_jB_j$จากนั้นอลิซสามารถตรวจสอบแฮชของบ็อบได้ $Q_j$ จับคู่โดยการตรวจสอบ $Q_j\overset{?}{=}แฮช(a_j^{-1}S_j)$.