• Tidak ada hasil yang ditemukan

BAB 2: TINJAUAN PUSTAKA

2.5. Elliptic Curve (Kurva Eliptik)

Kurva eliptik adalah himpunan solusi dalam bentuk persamaan:

= + + .

Persamaan jenis ini disebut persamaan Weierstrass, seorang ahli matematika yang telah mempelajarinya secara ekstensif selama abad ke-19. Gambar 2.3 adalah dua

contoh kurva eliptik, : = − + dan : = − + .

Gambar 2.3: Dua contoh kurva eliptik

Sebuah fitur yang mengagumkan dari kurva eliptik adalah bahwa ada cara alami untuk mengambil dua buah titik pada sebuah kurva eliptik dan "menambahkan"-nya untuk menghasilkan titik ketiga. Cara yang paling tepat untuk menggambarkan hukum "penambahan" pada kurva eliptik ini adalah dengan menggunakan geometri.

Gambar 2.4: Hukum penambahan pada kurva eliptik.

Misalkan dan adalah dua titik pada kurva eliptik , seperti yang diilustrasi-kan pada Gambar 2.4. Jika ada garis melalui titik dan , maka garis ini adiilustrasi-kan memotong di tiga titik, yaitu , , dan satu titik lainnya . Selanjutnya, titik ini dicerminkan terhadap sumbu (dengan mengalikan koordinat dengan − ) untuk mendapatkan titik yang baru, . Titik ini adalah hasil "penambahan" dari dan

yang tidak sama seperti proses penambahan pada umumnya. Hukum penjumlahan ini dilambangkan dengan . Sehingga dapat ditulis = (Hoffstein, et al. 2008).

Contoh 2.2. Misalkan kurva eliptik sebagai berikut:

= − +

Titik = , dan = , berada di kurva . Persamaan garis yang menghubungkan kedua titik itu adalah

∶ = −

Untuk mencari titik-titik di mana kurva dan garis berpotongan, substitusikan persamaan ke dalam persamaan , sehingga:

( − ) = − +

− + = − +

= − − +

Selanjutnya, perlu ditemukan akar kubik dari persamaan polinomial ini. Secara umum, menemukan akar kubik sangat sulit. Namun, dalam hal ini dua akar sudah diketahui, yaitu = dan = , karena dan berada di perpotongan . Hal ini menjadi mudah untuk menemukan akar yang lain,

− − + = − ∙ − ∙ ( + )

sehingga titik ketiga dari perpotongan garis dan kurva memiliki koordinat sama dengan − . Selanjutnya mencari koordinat dengan menyubstitusikan = − ke dalam persamaan (2), sehingga diketahui titik = − , . Terahir, refleksikan titik

ini dengan sumbu untuk mendapatkan

= (− , − )

Ada beberapa hal yang perlu diperhatikan pada penambahan kurva eliptik. Bayangkan apa yang terjadi pada garis yang menghubungkan titik dan , jika titik digeser sepanjang kurva dan semakin dekat ke titik . Dalam limit mendekati , garis akan menjadi garis tangen pada kurva di titik . Jadi, dapat dikatakan titik ditambahkan ke dirinya sendiri. Untuk menambahkan titik dengan , garis harus menjadi garis tangen terhadap kurva di titik , seperti pada Gambar 2.5. Maka garis

memotong di titik dan satu titik lainnya, . Sama seperti sebelumnya, garis tetap memotong kurva di tiga titik, namun dihitung sebagai dua di antaranya.

Gambar 2.5: Penambahan titik dengan dirinya sendiri.

Melanjutkan dengan kurva dan titik pada Contoh 2.2 untuk menghitung , kemiringan � dapat dihitung dengan diferensiasi dari persamaan .

= − , =

Dengan menyubstitusikan titik = , , diperoleh kemiringan � = . Jadi, persamaan garis tangen di titik adalah:

: = −

Sekarang substitusikan persamaan ke dalam persamaan untuk kurva , sederhanakan, lalu faktorkan:

( ) = +

+ + =

∙ ( − ) =

Koordinat pada titik , yaitu = , muncul sebagai akar kuadrat dari polinomial kubik, sehingga mudah untuk mencari akar ketiga. Akhirnya, substitusikan = ke persamaan pada garis , sehingga didapatkan = − , lalu ganti tanda pada untuk mendapatkan

= ( , )

Muncul permasalahan pada "hukum penambahan" jika mencoba untuk menambahkan titik , dengan refleksinya dengan sumbu , yaitu ′ , − . Garis yang melalui titik dan ′ adalah garis vertikal = , dan garis ini memotong kurva hanya di dua titik, yaitu dan ′. Tidak ada titik ketiga yang memotong kurva, sehingga tampak terjebak dalam permasalahan ini. Tapi, sebenarnya inilah jalan keluarnya. Solusinya adalah dengan membuat titik tambahan, � yang ada di "tak terhingga". Lebih tepatnya titik � tidak ada dalam koordinat , tapi diandaikan bahwa titik ini terletak di sepanjang garis vertikal. Selanjutnya ditetapkan

′ = �

Garis yang menghubungkan ke � adalah garis vertikal yang melalui titik dan � yang diandaikan ada dan terletak di sepanjang garis vertikal dan garis vertikal ini memotong kurva pada titik-titik , �, dan , − . Untuk menambahkan dengan �, refleksikan ′ pada sumbu yang mendapat kembali titik . Dengan kata lain,

� = ′. Jadi, � bertindak seperti nol pada penjumlahan kurva.

Gambar 2.6: Garis vertikal yang melalui , dan ′ , − .

Maka dapat diambil kesimpulan baru, kurva eliptik adalah himpunan solusi untuk persamaan Weierstrass

: = + +

bersama dengan titik tambahan �, di mana konstanta dan harus memenuhi

+ ≠ .

Hukum penambahan pada kurva didefinisikan sebagai berikut: misalkan dan adalah dua titik pada kurva , dan adalah garis yang menghubungkan dan , atau garis singgung terhadap di titik jika = . Kemudian perpotongan dengan terdiri dari tiga titik , , dan , dan dengan pemahaman bahwa � diandaikan

ada dan terletak di sepanjang garis vertikal. Jika , adalah hasil penjumlahan dari dan yang didefinisikan sebagai pencerminan dari terhadap sumbu , yaitu

, − . Penjumlahan ini dinotasikan dengan , atau hanya dengan +

(Hoffstein, et al. 2008).

Selanjutnya, jika = , , maka refleksi terhadap sumbu dapat dinotasi-kan dengan = , − , atau hanya dengan – , dan dapat didefinisikan

(atau − ) menjadi . Demikian pula, penambahan berulang dapat direpresentasikan sebagai perkalian suatu titik dengan integer (Hoffstein, et al. 2008),

= + + + +

Hasil dari △= + disebut diskriminan . Kondisi ≠ adalah setara dengan kondisi bahwa polinomial kubik + + tidak memiliki akar yang diulang, yaitu jika + + difaktorkan secara lengkap menjadi:

+ + = − − −

di mana , , adalah bilangan kompleks, kemudian + ≠ jika dan hanya jika , , dan semua berbeda.

Kurva dengan △= memiliki titik tunggal. Hukum penambahan tidak bekerja dengan baik pada kurva tersebut. Itulah sebabnya mengapa diperlukan kondisi △

dalam sebuah kurva eliptik.

Teorema 2.5. Misalkan menjadi kurva eliptik, maka hukum penambahan memiliki sifat sebagai berikut:

a) + � = � + = untuk semua ∈ . (Identitas) b) + − = � untuk semua ∈ . (Invers) c) + + = + + untuk semua , , ∈ . (Asosiatif) d) + = + untuk semua , ∈ . (Komutatif)

Dengan kata lain, hukum penambahan menjadikan titik-titik pada menjadi grup abelian (Hoffstein, et al. 2008).

Teorema 2.6: (Algoritma Penambahan pada Kurva Eliptik). Misalkan

: = + +

adalah sebuah kurva eliptik, dan misalkan dan adalah titik-titik pada . Maka: a) Jika = �, maka + = .

b) Sebaliknya, jika = �, maka + = .

c) Sebaliknya, nyatakan = , dan = , . d) Jika = dan = − , maka + = �. e) Sebaliknya, definisikan � dengan:

� = { − − , + , =

lalu tentukan = � − − dan = � − − . Maka + = ,

Untuk bagian (e), diketahui bahwa jika ≠ , maka � adalah kemiringan garis yang melalui dan , dan jika = , maka � adalah kemiringan garis singgung di = . Dalam kedua kasus, garis diberikan oleh persamaan = � + dengan = − � . Dengan menyubstitusikan persamaan garis ke dalam persamaan untuk ,

maka: � + = + +

− � + − � + − =

− � + − � + − = − − −

Koefisien di sisi kanan adalah − − − , yang sama dengan −� , koefisien di sisi kiri. Dengan demikian dapat diperoleh:

−� = − − − = � − − ,

dan kemudian untuk mendapatkan koordinat dari titik ketiga yang memotong kurva

adalah: = � +

= � + − �

= � − +

Akhirnya untuk mendapatkan + , refleksikan terhadap sumbu yang berarti mengalikan koordinat dengan − , − = � − − (Hoffstein, et al. 2008).

2.5.1. Kurva eliptik dalam finite field

Untuk menerapkan teori kurva eliptik ke dalam kriptografi, hanya perlu melihat kurva eliptik di mana titik-titiknya memiliki koordinat dalam finite field � . Secara sederhana, persamaan kurva eliptik dalam finite field � dapat didefinisikan dalam bentuk:

di mana , ∈ � harus memenuhi kondisi + ≠ , kemudian titik-titik pada dengan koordinatnya dalam � , dapat dinotasikan sebagai

(� ) = { , ∶ , ϵ � memenuhi = + + } {�}.

Misalkan sebuah kurva eliptik ∶ = + + dalam finite field � . Titik-titik pada � dapat ditemukan dengan menyubstitusikan semua kemungkinan nilai = , , , … , dan melihat nilai mana yang sama dengan kuadrat dari +

+ . Misalkan, untuk = , maka + + = + + =

, dan . Selanjutnya untuk = , maka + + = dan

merupakan kuadrat modulo . Pada kenyataannya, nilai tersebut selalu memiliki dua

akar kuadrat, yaitu: dan . Hasilnya adalah dua

titik , dan , pada � . Dan berikut adalah daftar seluruh titik pada � , � = { �, , , , , , , , , , , , , , , , }. Jadi, � terdiri dari 9 buah titik atau # � = .

Selanjutnya, gunakan algoritma penambahan dua buah titik untuk menambah-kan titik = , dan = , pada � . Langkah pertama adalah hitung kemiringan garis, �. Karena ≠ , maka:

� = = − = −

Selanjutnya hitung: = − � = − = − . Terakhir

hitung dan yang merupakan koordinat dari titik hasil penambahan dan ,

= � − − = − − =

− = − � + = − + = −

Jadi, + = , + , = , dalam � .

Demikian pula, jika ingin menambahkan = , ke dirinya sendiri. Karena = , maka hitung � dengan:

� = + = + =

kemudian hitung:

= � − − = − − = −

− = � − − = − ∙ − = − .

Hal ini jelas bahwa himpunan titik-titik (� ) adalah himpunan berhingga, karena banyaknya kemungkinan untuk koordinat dan juga berhingga. Lebih tepatnya ada kemungkinan untuk , dan untuk setiap dalam persamaan = +

+ menghasilkan paling banyak dua kemungkinan nilai untuk . Penambahan dengan titik � menunjukkan bahwa ⋕ (� ) memiliki paling banyak + titik. Namun, perkiraan ini jauh lebih besar dari ukuran sebenarnya. (Hoffstein, et al. 2008) 2.5.2. Masalah logaritma diskrit kurva eliptik

Kriptografi kurva eliptik pertama kali dikembangkan oleh Neal Koblitz dan Victor S. Miller pada tahun 1985. Untuk menciptakan sistem kriptografi berdasarkan masalah logaritma diskrit dalam finite field � , publikasikan dua buah parameter dan , dan

parameter rahasianya adalah pangkat yang memenuhi kongruensi ℎ .

Selanjutnya parameter dan ℎ dapat dipandang sebagai anggota dari group � ,

maka parameter rahasia dapat ditemukan sedemikian rupa sehingga

ℎ × × × … × .

Dengan kata lain, untuk mendapatkan ℎ perlu menentukan berapa kali harus dikalikan. Dengan formulasi ini, jelas bahwa Alice dapat melakukan hal yang sama dengan titik-titik pada group (� ) dari sebuah kurva elips dalam finite field � . Alice memilih dan memublikasikan dua buah titik dan dalam (� ), dan parameter rahasianya adalah sebuah bilangan bulat yang membuat

= + + + + = .

Kemudian Eve perlu mencari tahu berapa kali titik harus ditambahkan dengan dirinya sendiri untuk mendapatkan . Meskipun "hukum penambahan" pada kurva eliptik secara konvensional ditulis dengan tanda tambah, penambahan pada sebenarnya operasi yang sangat rumit, sehingga masalah kurva eliptik ini dapat dianalogikan dengan masalah logaritma diskrit yang mungkin cukup sulit untuk dipecahkan.

Definisi 2.11. Misalkan adalah kurva eliptik dalam finite field � , lalu dan menjadi titik-titik di (� ). Masalah logaritma diskrit kurva eliptik adalah masalah

kali

menemukan bilangan bulat sedemikian rupa sehingga = . Dengan meng-analogikan masalah logaritma diskrit untuk � , bilangan bulat dapat dinotasikan

sebagai = , dan dapat disebut logaritma diskrit eliptik terhadap

(Hoffstein, et al. 2008).

Definisi tidak cukup tepat. Kesulitan pertama adalah bahwa mungkin ada titik-titik , ∈ (� ), tetapi bukan kelipatan dari . Dalam kasus ini, tidak terdefinisi. Namun untuk tujuan kriptografi, ada dan nilainya adalah parameter rahasia milik Alice.

Kesulitan kedua adalah bahwa jika ada suatu nilai yang memenuhi = , maka ada banyak nilai untuk . Untuk memahaminya, pertama perhatikan bahwa ada bilangan bulat positif sehingga = �. Karena (� ) adalah berhingga, maka titik , , , … seluruhnya tidak bisa menjadi berbeda. Oleh karena itu, ada bilangan bulat > , sehingga = dan = − . Bilangan terkecil di mana disebut order dari . Jadi, jika adalah order dari dan jika adalah bilangan bulat apapun di mana

= , maka solusi = adalah bilangan bulat = + ∙ dengan ∈ ℤ. Ini berarti bahwa nilai adalah anggota ℤ/ ℤ, yaitu yang merupakan bilangan bulat modulo , di mana adalah order dari . Keuntungan dari mendefinisikan nilai-nilai menjadi ℤ/ ℤ adalah bahwa logaritma diskrit eliptik akan memenuhi

+ = + untuk semua , ∈ (� ).

Dokumen terkait