What is Elliptic Curve Diffie Hellman (ECDH)?
Elliptic Curve Diffie Hellman (ECDH) คือวิธีที่สองฝ่ายใช้ข้อตกลงคีย์ลับร่วมกันโดยสื่อสารกันสาธารณะ ไม่มีความลับที่ออกจากด้านใดด้านหนึ่งเลย แต่ทั้งคู่ได้คีย์ที่ตรงกัน ลองนึกถึงมันเหมือนบาริสต้าสองคนผสมซ syrups ต่างๆ ที่ให้รสชาติเดียวกันอย่างวิเศษ ในขณะที่คนอื่นเห็นเพียงถ้วยกาแฟ
Elliptic Curve Diffie Hellman (ECDH) ไม่เข้ารหัสข้อความของคุณด้วยตัวมันเอง มันให้คุณเพียงคีย์ร่วมที่ใช้งานได้เท่านั้น คุณยังต้องมี cipher หรือแบบพิสูจน์ตัวตนที่ผ่านการตรวจสอบเพื่อทำการล็อกและปลดล็อกจริง
How Elliptic Curve Diffie Hellman (ECDH) works
การเดินผ่านอย่างรวดเร็ว: ลองนึกถึงแอปกระเป๋าเงินของคุณจับคู่กับอุปกรณ์ใหม่ พวกเขาพูดกันสาธารณะ แต่กระซิบด้วยคณิตศาสตร์
- Start: แต่ละฝ่ายสร้าง private key แบบสุ่มและเก็บไว้เป็นความลับ จากนั้นเตรียมจุดสาธารณะที่ตรงกัน คู่นี้เป็นส่วนหนึ่งของแนวคิดที่กว้างขึ้นของ cryptographic keys.
- Share: พวกเขาแลกเปลี่ยน public points ผ่านช่องทางใดก็ได้ที่คนทั่วไปเห็น แม้กระทั่งแชทที่มีเสียงดัง
- Mix: ทั้งสองฝ่ายผสม private secret ของตนกับ public point ของฝ่ายอื่นเพื่อให้ได้จุดที่ร่วมกัน
- Derive: พวกเขาวิ่งจุดร่วมนี้ผ่านฟังก์ชันการ derivation ของคีย์เพื่อให้ได้ symmetric key ใหม่
- Use: symmetric key นั้นใช้ในการเข้ารหัสและตรวจสอบข้อความสำหรับช่วงเซสชัน ECDH เพียงแค่ตั้งโต๊ะสระ
นั่นคือทั้งหมด เดโมเงียบๆ คณิตศาสตร์ดังๆ
Why Elliptic Curve Diffie Hellman (ECDH) Matters
นี่คือผลตอบแทน โดยไม่แต่งเติม:
- Benefit: คีย์ที่สั้นลงและการ handshake ที่รวดเร็วช่วยประหยัด bandwidth, แบตเตอรี่ และเวลา ซึ่งมือถือของคุณและค่าธรรมเนียมของคุณจะชื่นชมหาย
- Perspective: ความมั่นคงขึ้นอยู่กับความยากของ Elliptic Curve Discrete Logarithm Problem (ECDLP) ซึ่งคอมพิวเตอร์สมัยนี้มีความยากในการย้อนกลับ
- Relevance: คุณจะพบมันในการ pairing กระเป๋าเงิน, ข้อความ P2P, handshakes ของ Lightning node, และส่วน crypto ของ TLS
Always verify the other side’s public key before trusting the session. A quick fingerprint check or a signature check prevents a silent impostor from sitting in the middle.
Key Characteristics of Elliptic Curve Diffie Hellman (ECDH)
สิ่งที่ทำให้มันโดดเด่น:
- Compact: ความมั่นคงที่แข็งแกร่งด้วยคีย์ที่สั้นกว่าระบบแบบเก่าอย่าง RSA
- Quick: คำนวณเร็ว เหมาะสำหรับมือถือและระบบที่มีการใช้งานสูง
- Secret: คีย์ร่วมไม่เคยถูกส่งผ่านสายสัญญาณ มีเฉพาะ public points ที่ส่งผ่าน
- Forward: ด้วย ephemeral keys ใหม่ สดใหม่ ข้อความเมื่อวานยังคงปลอดภัยถึงแม้จะมีอุปกรณ์ถูกละเมิดในภายหลัง
Variations
รูปแบบต่างๆ เหมาะกับ threat model ที่ต่างกัน:
- Static: คีย์ที่อยู่ยาวรักษาช่วงเซสชันให้สอดคล้อง แต่มีความเป็นส่วนตัวน้อยลง
- Ephemeral: คีย์ใหม่ต่อเซสชันให้ forward secrecy เป็นค่าเริ่มต้น
- Hybrid: ฝั่งหนึ่งเป็น static อีกฝั่งเป็น ephemeral เพื่อสมดุลระบุตัวตนและความเป็นส่วนตัว
Key agreement is not identity. Without authentication, a clever attacker can relay messages. Pair it with signatures like Elliptic Curve Digital Signature Algorithm (ECDSA) to prove who you’re talking to.
Example
เมื่อสองโหนด Lightning เชื่อมต่อกัน พวกมันรัน Elliptic Curve Diffie Hellman (ECDH) เพื่อสร้าง session key ร่วมกัน และกระเป๋าเงินอาจใช้ Elliptic Curve Integrated Encryption Scheme (ECIES) เพื่อส่งคำขอ pairing ของอุปกรณ์ที่เข้ารหัสให้ทีหลัง
Fun Fact
การเข้ารหัสด้วย elliptic curve ถูกเสนอโดย Koblitz และ Miller ในกลางทศวรรษที่แปดสิบ หลังจากไอเดียเดิมของ Diffie และ Hellman และมันฮิตขึ้นเพราะคุณได้ความมั่นคงคล้ายเดิมด้วยคีย์ที่สั้นลงมากกว่า ลดภาระคณิตศาสตร์บนโทรศัพท์ของคุณ ทำให้ใช้งานได้ดีขึ้นกับทุกอย่างที่เหลือ
Wrap Up
สรุปสั้นๆ: ECDH ให้สองฝ่ายเห็นชอบกันในคีย์ลับแบบสาธารณะ แล้วใช้มันสำหรับการสนทนาหรือการชำระเงินแบบส่วนตัวโดยไม่ต้องมี drama