Back to IF4020 Kriptografi
Kurva Eliptik dan Operasi Titik
Questions/Cues
- Mengapa dibutuhkan ECC jika sudah ada RSA, ElGamal, dan Diffie-Hellman?
- Seperti apa persamaan kurva eliptik dan apa syarat nonsingular-nya?
- Bagaimana penjumlahan dan penggandaan dua titik dihitung (geometri dan analitik)?
- Mengapa titik-titik kurva membentuk grup abelian dan apa itu titik di infinity?
- Apa itu ECDLP dan mengapa ia menjadi dasar keamanan ECC?
Reference Points
- IF4020 Kriptografi — Elliptic Curve Cryptography Bagian 2 (Slides 2-23)
Motivasi ECC
RSA, ElGamal, dan Diffie-Hellman memakai bilangan bulat sangat besar sehingga menyimpan kunci/pesan dan komputasinya mahal. ECC (Elliptic Curve Cryptography) menawarkan keamanan setara dengan kunci lebih pendek. ECC dikembangkan oleh Neal Koblitz dan Victor S. Miller (1985). Klaim klasiknya: kunci ECC 160-bit setara keamanan RSA 1024-bit; memori dan komputasi lebih sedikit sehingga cocok untuk piranti nirkabel dengan prosesor, memori, dan baterai terbatas.
Kurva Eliptik
Kurva eliptik (bentuk Weierstrass pendek) berpersamaan
Syarat menjamin kurva tidak singular (tak punya titik runcing/berpotongan sendiri; tak punya akar kembar). Tiap pasangan memberi kurva berbeda. Contoh: . Titik pada kurva bersama sebuah titik di infinity (titik khusus ) membentuk himpunan .
Penjumlahan Titik
Geometri: tarik garis melalui dan ; garis memotong kurva di titik ketiga ; cerminkan terhadap sumbu- untuk mendapat . Jika maka .
Analitik ():
Contoh: kurva , , . ; ; . Jadi . Periksa: ✓.
Invers dan Titik di Infinity
: garis vertikal tidak memotong kurva di titik ketiga (atau memotong di infinity). Maka adalah elemen netral () dan adalah invers .
Penggandaan Titik
Menjumlahkan titik dengan dirinya sendiri: garis yang dipakai adalah garis singgung di .
Bila garis singgung vertikal ( tak terdefinisi) sehingga .
Pelelaran dan Perkalian Titik
Pelelaran titik: ( suku). Perkalian skalar dihitung dengan mengulang dua operasi dasar (penjumlahan dan penggandaan), mis. dan
yaitu algoritma double-and-add ( langkah, bukan langkah).
Kurva Eliptik Membentuk Grup Abelian
Dengan = semua titik kurva (plus ) dan operasi , terpenuhi: closure (hasil selalu titik kurva), asosiatif, elemen netral , invers , dan komutatif . Jadi adalah grup abelian: inilah alasan struktur ini cocok untuk kriptografi.
ECDLP: Dasar Keamanan ECC
Menghitung mudah, tetapi bila diketahui dan , mencari sulit. Inilah Elliptic Curve Discrete Logarithm Problem (ECDLP): diberikan titik dan , carilah integer sehingga . Pada ECC, adalah kunci publik, kunci privat, dan sembarang titik (titik basis). Bandingkan dengan RSA yang operasi dasarnya perpangkatan: pada ECC operasi dasarnya perkalian titik .
flowchart LR K["k (privat)<br/>+ titik basis P"] -->|"mudah: kP<br/>double-and-add"| Q["Q = kP<br/>(publik)"] Q -.->|"sulit: ECDLP<br/>cari k dari P, Q"| K
ECC (Koblitz dan Miller, 1985) memberi keamanan setara RSA dengan kunci jauh lebih pendek (ECC 160-bit RSA 1024-bit). Kurva eliptik dengan plus titik di infinity membentuk grup abelian terhadap penjumlahan titik: garis melalui memotong kurva di , lalu dicerminkan menjadi (, , ). Penggandaan memakai garis singgung (), adalah netral, adalah invers, dan perkalian skalar dihitung dengan double-and-add. Keamanan ECC bertumpu pada ECDLP: mudah dihitung, tetapi sulit ditemukan dari dan .
Additional Information
Perbandingan Ukuran Kunci (NIST SP 800-57)
Keamanan simetrik RSA/DH ECC 80 bit 1024 bit 160 bit 112 bit 2048 bit 224 bit 128 bit 3072 bit 256 bit 192 bit 7680 bit 384 bit 256 bit 15360 bit 512 bit Pertumbuhan ECC linear, RSA superlinear: karena itu kurva eliptik makin unggul di tingkat keamanan tinggi. Algoritma terbaik untuk ECDLP (mis. Pollard’s rho) berwaktu , tidak ada serangan sub-eksponensial umum seperti index calculus pada RSA/DH.
Mengapa Hukum Grup Bekerja?
Asosiativitas adalah sifat yang paling sulit dibuktikan secara geometris (slide hanya menyatakannya). Buktinya memakai teorema Cayley-Bacharach atau komputasi aljabar; pada praktiknya cukup dipercaya dan diuji lewat implementasi.
Kurva Standar
Kurva yang dipakai nyata: secp256r1 (NIST P-256), secp256k1 (Bitcoin), Curve25519 (X25519/Ed25519, bentuk Montgomery/Edwards). Parameter dipilih ketat untuk menghindari kurva lemah (anomalous, supersingular).
Proyek Eksplorasi Mandiri
- Implementasikan
add(P, Q),double(P), danscalar_mul(k, P)(double-and-add) pada dengan bilangan riil dan bandingkan dengan demo andrea.corbellini.name/ecc/interactive/reals-add.html.- Gambar kurva dengan matplotlib dan visualisasikan secara geometris.
Bacaan Lanjutan
- Andrea Corbellini, Elliptic Curve Cryptography: a gentle introduction (blog seri).
- Hankerson, Menezes, Vanstone, Guide to Elliptic Curve Cryptography, Springer.
- Koblitz, N. (1987), Elliptic Curve Cryptosystems, Mathematics of Computation; Miller, V. (1985), Use of Elliptic Curves in Cryptography.