0Pricing
Cryptology Academy · Pelajaran

ECDH: Kurva Eliptik untuk Pertukaran Kunci

Terapkan perkalian skalar kurva eliptik untuk kesepakatan kunci ECDH.

ECDH: Kurva Eliptik untuk Pertukaran Kunci adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Selamat Datang

ECDH menggantikan grup perkalian DH dengan grup kurva eliptik. Hasilnya: tingkat keamanan yang setara dengan kunci 10× lebih kecil dan operasi 10× lebih cepat.

Operasi Grup EC

Dalam ECDH, “perkalian” adalah perkalian skalar pada kurva eliptik: mengalikan titik P dengan skalar k berarti menjumlahkan P dengan dirinya sendiri sebanyak k kali: k×P. Ini adalah padanan EC dari g^k mod p.

Protokol ECDH

Sepakati kurva E dan titik dasar G (publik). Alice: kunci privat a, kunci publik A = a×G Bob: kunci privat b, kunci publik B = b×G Alice: S = a×B = a×b×G Bob: S = b×A = b×a×G Keduanya memperoleh titik S yang sama.

ECDLP

Diberikan A = a×G pada kurva eliptik, tentukan a. Ini adalah Masalah Logaritma Diskret Kurva Eliptik, yaitu ECDLP. Tidak ada algoritma subeksponensial yang diketahui untuk kurva umum, sehingga ECDLP lebih sulit daripada DLP dengan ukuran kunci yang sama.

Curve25519

Dirancang oleh Bernstein pada 2005. Bentuk Montgomery: y²=x³+486662x²+x atas bilangan prima 2^255-19. Kurva ini dirancang agar cepat dan tahan terhadap kesalahan implementasi. Digunakan dalam WireGuard, Signal, dan SSH.

Pertukaran Kunci X25519

X25519 adalah fungsi ECDH yang menggunakan Curve25519. Hanya koordinat x dari titik bersama yang digunakan; perkalian kofaktor menangani kasus tepi. RFC 7748 menstandarkan X25519 dan X448.

ECDH dalam Python

from cryptography.hazmat.primitives.asymmetric.x25519 import X25519PrivateKey alice_priv = X25519PrivateKey.generate() bob_priv = X25519PrivateKey.generate() alice_pub = alice_priv.public_key() bob_pub = bob_priv.public_key() shared_alice = alice_priv.exchange(bob_pub) shared_bob = bob_priv.exchange(alice_pub) assert shared_alice == shared_bob

Dari Titik Bersama ke Kunci Simetris

Titik bersama mentah tidak digunakan langsung sebagai kunci karena distribusinya tidak seragam. Gunakan HKDF untuk menghasilkan kunci simetris yang tepat: from cryptography.hazmat.primitives.kdf.hkdf import HKDF key = HKDF(SHA256, 32, salt, info).derive(shared_secret)

Ukuran Kunci ECDH vs DH

Tingkat keamanan 128 bit: - DH: bilangan prima 3072 bit - ECDH: kurva 256 bit Rasio ukuran kunci: sekitar 12:1. Kunci publik ECDH: 32 byte (Curve25519). Kunci publik DH: 384 byte. Operasi kunci privat ECDH sekitar 50× lebih cepat.

Serangan Kofaktor pada Kurva Buruk

Serangan subgrup kecil mengeksploitasi kurva dengan kofaktor yang tidak sepele. Curve25519 memiliki kofaktor 8, tetapi X25519 menanganinya dengan benar. Kurva-P NIST memiliki kofaktor 1. Selalu gunakan implementasi yang telah distandardisasi.

ECDH dalam TLS 1.3

TLS 1.3 mendukung X25519, X448, P-256, P-384, dan P-521 untuk pertukaran kunci. X25519 adalah yang paling umum—cepat, aman, dan memiliki waktu konstan. Kedua pihak menghasilkan kunci sementara untuk setiap sesi.

Pemeriksaan Singkat

Apa keunggulan utama ECDH dibandingkan Diffie-Hellman klasik?

Ringkasan

ECDH sudah dikuasai! Selanjutnya, kita memahami kerahasiaan maju dan alasan pertukaran kunci sementara sangat penting dalam TLS.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “ECDH: Kurva Eliptik untuk Pertukaran Kunci” gratis?

Ya — teks lengkap “ECDH: Kurva Eliptik untuk Pertukaran Kunci” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “ECDH: Kurva Eliptik untuk Pertukaran Kunci”?

Terapkan perkalian skalar kurva eliptik untuk kesepakatan kunci ECDH. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “ECDH: Kurva Eliptik untuk Pertukaran Kunci” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Masalah Distribusi Kunci
  2. Matematika Pertukaran Kunci Diffie-Hellman
  3. ECDH: Kurva Eliptik untuk Pertukaran Kunci
  4. Kerahasiaan Maju & Pertukaran Kunci Ephemeral
← Kembali ke Cryptology Academy