Back to IF4020 Kriptografi

Kurva Eliptik pada Medan Berhingga

Questions/Cues

  • Mengapa kurva eliptik pada bilangan riil tidak cocok untuk kriptografi?
  • Bagaimana bentuk kurva eliptik di dan bagaimana mencari semua titiknya?
  • Bagaimana rumus penjumlahan, pengurangan, dan penggandaan titik di ?
  • Bagaimana pembagian dihitung di ?
  • Bagaimana grup titik eliptik terlihat dari tabel ?

Reference Points

  • IF4020 Kriptografi — Elliptic Curve Cryptography Bagian 2 (Slides 24-36)

Dari Bilangan Riil ke

Operasi kurva eliptik pada bilangan riil tidak akurat karena melibatkan pembulatan, sedangkan kriptografi bekerja di ranah integer. Maka kurva eliptik didefinisikan di atas medan berhingga atau (Aljabar Abstrak - Grup, Medan, dan Galois Field). Kuliah ini hanya membahas :

dengan prima dan . Grafiknya bukan lagi kurva mulus, melainkan sebaran titik diskret.

Mencari Semua Titik:

Untuk tiap hitung , lalu cari yang kuadratnya sama (akar kuadrat modulo):

06tidak ada
18tidak ada
254, 7
335, 6

Dilanjutkan sampai diperoleh 12 titik: . Ditambah , grup eliptik memiliki elemen. Kurva memiliki 26 titik (afin) pada contoh slide, dari sampai .

Operasi Titik di

Rumus sama dengan versi riil, hanya semuanya modulo , dan pembagian berarti perkalian dengan invers modulo .

OperasiGradien Hasil
(), (mod )
(), (mod )
dengan

Bila maka .

Contoh pada

, :

(a) : . . . Jadi .

(b) : (karena ). . . Jadi .

Hasil keduanya terverifikasi: dan ada di daftar 12 titik.

Tabel dan ECDLP

Dengan titik basis pada kurva yang sama:

12345678910111213
(2,7)(5,2)(8,3)(10,2)(3,6)(7,9)(7,2)(3,5)(10,9)(8,8)(5,9)(2,4)

Karena , titik basis mempunyai orde 13 dan membangkitkan seluruh grup (siklik). Mudah menghitung bila diketahui, tetapi diberi dan , mencari sangat sukar ketika orde grup besar (ECDLP). Pada contoh kecil ini cukup menelusuri tabel, pada kurva sungguhan orde grup .

flowchart LR
    R["Kurva riil<br/>y² = x³ + ax + b<br/>(pembulatan, tak akurat)"] -->|"pindah ke<br/>medan berhingga"| F["GF(p)<br/>y² ≡ x³ + ax + b (mod p)"]
    F --> T["himpunan titik diskret<br/>+ titik O"]
    T --> G["grup abelian<br/>berorde n"]

Summary

Agar dapat dipakai di kriptografi, kurva eliptik didefinisikan di medan berhingga (di sini ): . Titik-titiknya dicari dengan mencoba tiap dan menyelesaikan (akar kuadrat modulo); contoh memiliki 12 titik + = 13 elemen. Rumus penjumlahan dan penggandaan identik dengan versi riil tetapi semua modulo dan pembagian = perkalian dengan invers modulo (mis. dan ). Pengurangan dengan . Menghitung mudah sedangkan membalikkannya (ECDLP) sulit.