Elliptic Curve Kurva Eliptik

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 akan 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 : = − + : = − + Universitas Sumatera Utara 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 Universitas Sumatera Utara 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 = , menjadi garis tangen kurva di titik Universitas Sumatera Utara 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 Universitas Sumatera Utara 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 + = . kali Universitas Sumatera Utara 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: : = + + Universitas Sumatera Utara 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: = � − − = − − = − − = � − − = − ∙ − = − . Jadi, + = , + , = , dalam � . Universitas Sumatera Utara 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 kali penambahan Universitas Sumatera Utara 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 , ∈ � . 2.6. Elliptic Curve ElGamal Public Key Cryptosystem Sangat mudah untuk membuat analogi langsung sistem kriptografi kunci publik ElGamal terhadap kriptografi kurva eliptik. Secara singkat, Alice dan Bob setuju untuk menggunakan bilangan prima tertentu , kurva eliptik , dan titik ∈ � . Alice memilih pengali rahasia � dan memublikasikan titik � = � sebagai kunci publik- nya. Pesan rahasia Bob adalah titik ∈ � , dia memilih sebuah bilangan bulat untuk dijadikan kunci ephemeral dan menghitung = dan = + � . Bob mengirimkan dua titik , ke Alice, yang akan digunakan untuk menghitung − � = + � − � = + � − � = dan mendapatkan kembali pesan rahasia. Universitas Sumatera Utara Gambar 2.7: Sistem kriptografi kunci publik ElGamal kurva eliptik.  Bangkitkan sebuah bilangan prima � yang besar.  Bangkitkan sebuah persamaan kurva eliptik dalam � � .  Pilih sebuah titik ∈ � � . Bob Alice Pembuatan Parameter Publik Pilih sebuah kunci rahasia � � . Hitung � = � � ∈ � � . Pilih plaintext ∈ � � . Pilih sebuah kunci ephemeral �. Gunakan kunci publik � dari Alice untuk menghitung:  � = � ∈ � �  � = + � � ∈ � � . Hitung � − � � � ∈ � � untuk mendapatkan pesan . Meminta kunci publik Kirim kunci publik � Kirim cipher � dan � Universitas Sumatera Utara

BAB 3 ANALISIS DAN PERANCANGAN SISTEM