BAB 2 LANDASAN TEORI
2.1
Kriptografi
2.1.1 Pengertian Kriptografi •
Kata kriptografi berasal dari kata Yunani, kryptos (tersembunyi) dan graphein (menulis). Menurut terminologinya, kriptografi adalah ilmu atau seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain.
•
Cryptanalysis adalah aksi untuk memecahkan mekanisme kriptografi dengan cara mendapatkan plaintext (pesan asli) atau kunci dari ciphertext (pesan yang telah diacak). Hal ini dilakukan dengan tujuan untuk mendapatkan informasi yang berharga.
•
Cryptology adalah ilmu yang mencakup kriptografi dan cryptanalysis.
2.1.2
Sejarah Kriptografi Kriptografi memiliki sejarah yang panjang dan mengagumkan. Penulisan rahasia
ini dapat dilacak kembali ke 3000 tahun SM saat digunakan oleh bangsa Mesir. Mereka menggunakan hieroglyphics untuk menyembunyikan tulisan dari pihak lain yang tidak diharapkan. Hieroglyphics diturunkan dari bahasa Yunani hieroglyphica yang berarti ukiran rahasia. Hieroglyphics berevolusi menjadi hieratic, yaitu stylized script yang lebih mudah untuk digunakan. Sekitar 400 tahun SM, kriptografi militer digunakan oleh bangsa Spartan dalam bentuk sepotong papirus atau perkamen dibungkus dengan batang kayu. Sistem ini disebut Scytale.
8 Sekitar 50 tahun SM, Julius Caesar, kaisar Roma, menggunakan cipher substitusi untuk mengirim pesan ke Marcus Tullius Cicero. Pada cipher ini, huruf–huruf alfabet disubstitusi dengan huruf–huruf yang lain pada alfabet yang sama. Karena hanya satu alfabet yang digunakan, cipher ini merupakan substitusi monoalfabetik. Cipher semacam ini mencakup penggeseran alfabet dan mensubstitusikan huruf tersebut. Secara umum sistem cipher Caesar dapat ditulis sebagai berikut: Zi = Cn(Pi) di mana Zi adalah karakter–karakter ciphertext, Cn adalah transformasi substitusi alfabetik, n adalah jumlah huruf yang digeser, dan Pi adalah karakter–karakter plaintext. Disk mempunyai peranan penting dalam kriptografi sekitar 500 tahun yang lalu. Di Italia sekitar tahun 1460, Leon Battista Alberti mengembangkan diskcipher untuk enkripsi. Sistemnya terdiri dari dua disk konsentris. Setiap disk memiliki alfabet di sekelilingnya, dan dengan memutar satu disk berhubungan dengan yang lainnya, huruf pada satu alfabet dapat ditransformasi ke huruf pada alfabet yang lain. Bangsa Arab menemukan cryptanalysis karena kemahirannya dalam bidang matematika, statistika, dan linguistik. Karena setiap orang muslim harus menambah pengetahuannya, mereka mempelajari peradaban terdahulu dan mendekodekan tulisan– tulisannya ke huruf–huruf Arab. Pada tahun 815, Caliph al–Mamun mendirikan House of Wisdom di Baghdad yang merupakan titik pusat dari usaha–usaha translasi. Pada abad ke–9, filsuf Arab al–Kindi menulis risalat (ditemukan kembali tahun 1987) yang diberi judul “A Manuscript on Deciphering Cryptographic Messages”. Pada tahun 1790, Thomas Jefferson mengembangkan alat enkripsi dengan menggunakan tumpukan yang terdiri dari 26 disk yang dapat diputar secara individual. Pesan dirakit dengan memutar setiap disk ke huruf yang tepat di bawah batang berjajar
9 yang menjalankan panjang tumpukan disk. Kemudian, batang berjajar diputar dengan sudut tertentu, A, dan huruf–huruf di bawah batang adalah pesan yang terenkripsi. Penerima akan menjajarkan karakter–karakter cipher di bawah batang berjajar, memutar batang kembali dengan sudut A dan membaca pesan plaintext. Sistem disk digunakan secara luas selama perang sipil di Amerika Serikat. US Federal Signal Officer mendapatkan hak paten pada sistem disk. Sistem ini mirip dengan yang ditemukan oleh Leon Battista Alberti di Italia. Dia menggunakannya untuk mengkodekan dan mendekodekan sinyal–sinyal bendera di antara unit–unit. Sistem Unix menggunakan cipher substitusi yang disebut ROT 13 yang menggeser alfabet sebanyak 13 tempat. Penggeseran 13 tempat yang lain membawa alfabet kembali ke posisi semula, dengan demikian mendekodekan pesan. Mesin kriptografi mekanik yang disebut Hagelin Machine dibuat pada tahun 1920 oleh Boris Hagelin di Stockholm, Swedia. Di Amerika Serikat, mesin Hagelin dikenal sebagai M–209. Pada tahun 1920–an, Herbert O. Yardley bertugas pada organisasi rahasia US MI–8 yang dikenal sebagai “Black Chamber”. MI–8 menjebol kode–kode sejumlah negara. Selama Konferensi Angkatan Laut Washington tahun 1921–1922, Amerika Serikat membatasi negosiasi dengan Jepang. Hal ini terjadi karena MI–8 telah memberikan rencana negosiasi Jepang yang berhasil disadap kepada Sekretaris Negara Amerika Serikat. Departemen negara menutup MI–8 pada tahun 1929 sehingga Yardley merasa kecewa. Sebagai wujud kekecewaanya, Yardley menerbitkan buku The American Black Chamber. Buku tersebut menggambarkan rahasia dari MI–8. Sebagai konsekuensinya, pihak Jepang membuat kode–kode baru. Karena kepeloporannya dalam bidang ini, Yardley dikenal sebagai “Bapak Kriptografi Amerika”.
10 Mengikuti peninggalan Yardley, William F. Friedman melanjutkan usaha cryptanalysis untuk tentara Amerika Serikat. Tim Friedman berhasil menjebol cipher diplomatik Jepang yang baru. Rekan Yardley di Angkatan Laut Amerika Serikat adalah Laurence Stafford. Stafford mengepalai tim yang memecahkan kode Angkatan Laut Purple Machine Jepang selama Perang Dunia II. Kelompok pemecah kode ini bekerja di ruang bawah tanah yang gelap pada pusat distrik Naval di Pearl Harbour. Komandan Joseph J.Rochefort memimpin kelompok ini pada musim semi 1942 saat cryptanalysis– nya menyadap dan mendekodekan pesan terkode Jepang. Pesan ini mengatakan akan ada serangan Jepang pada sebuah lokasi yang dikenal dengan AF. Rochefort yakin bahwa AF adalah pulau Midway. Midway adalah basis Amerika Serikat kunci yang memproyeksikan kekuatan Amerika Serikat di Pasifik tengah. Rochefort tidak dapat meyakinkan atasannya bahwa AF adalah pulau Midway. Sebagai tipu daya, Rochefort meminta personel Midway untuk mengirim pesan bahwa Midway memiliki masalah air. Pesannya dikirim dengan kode yang jelas dan lemah yang diyakini akan disadap dan dipecahkan oleh Jepang. Kemudian pada tanggal 22 Mei 1942, agen rahasia Angkatan Laut Jepang mengirim pesan yang dibaca oleh Amerika Serikat bahwa AF mempunyai masalah air. Sebagai hasil dari usaha jenius dalam memecahkan kode ini, Laksamana Chester W. Nimitz mengotorisasi strategi untuk mengirimkan armada Amerika Serikat untuk mengejutkan armada Jepang di Midway. Usaha yang hebat ini berdampak pada gema kemenangan Amerika Serikat yang merupakan titik balik di perang Pasifik. Selama Perang Dunia II, militer Jerman menggunakan mesin cipher substitusi polialfabetik disebut Enigma. Enigma menggunakan rotor mekanis untuk pengkodean dan pendekodean. Seorang Belanda, Hugo Koch mengembangkan mesin ini pada tahun
11 1919, dan diproduksi untuk pasar komersial pada tahun 1923 oleh Arthur Scherbius. Scherbius mendapatkan hak paten pada mesin Enigma untuk perusahaan Berlin Chiffriermasschinen Aktiengesellschaft. Pakar cryptanalysis Polandia, Marian Rejewski, bekerja bersama Perancis dari tahun 1928 sampai dengan tahun 1938, berhasil memecahkan pengkabelan sistem 3 rotor yang digunakan Jerman saat itu dan menciptakan berkas kartu yang dapat mengantisipasi 6 kali 17,576 kemungkinan posisi rotor. Jerman mengubah indikator sistem dan jumlah rotor menjadi 6 pada 1938, sehingga meningkatkan kesulitan untuk memecahkan cipher Enigma. Dalam kerjanya pada tahun 1938, Polandia dan Perancis mengkonstruksi mesin prototipe yang disebut “The Bombe” untuk memecahkan cipher Enigma. Namanya diturunkan dari bunyi detikan yang dihasilkan oleh mesin. Usaha memecahkan cipher Enigma diambil alih oleh Inggris di Bletchley Park (Inggris) dan dipimpin oleh banyak ilmuwan terkemuka termasuk Alan Turing. Prototipe Bombe Turing muncul pada tahun 1940, dan Bombe berkecepatan tinggi dikembangkan oleh Inggris dan Amerika Serikat pada tahun 1943. Selama bertahun–tahun kriptografi menjadi bidang khusus yang hanya dipelajari oleh pihak militer. Agen keamanan nasional Amerika Serikat (National Security Agency), Uni Soviet, Inggris, Perancis, Israel, dan negara–negara lainnya yang telah membelanjakan miliaran dolar untuk mengamankan komunikasi mereka dari pihak luar. Di samping itu, mereka juga selalu mempelajari kode–kode rahasia negara lain. Dengan adanya persaingan ini maka kriptografi terus berkembang sesuai dengan perkembangan zaman. Namun pada 30 tahun terakhir ini, kriptografi tidak hanya dimonopoli oleh pihak militer saja. Hal yang sama juga dilakukan oleh individu–individu yang menginginkan
12 pesan dan dan komunikasi mereka tidak diketahui oleh pihak lain. Setiap individu berhak mengamankan informasi keluarganya, pekerjaan, bisnis, dan lainnya. Apalagi pada zaman sekarang ini persaingan yang begitu tinggi, mereka rela mengeluarkan uang yang banyak hanya untuk menjaga privasi mereka.
2.1.3
Tujuan Kriptografi Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek
keamanan informasi yaitu sebagai berikut. •
Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapa pun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka atau mengupas informasi yang telah disandi.
•
Integritas data, berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak–pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain ke dalam data yang sebenarnya.
•
Autentikasi, berhubungan dengan identifikasi atau pengenalan, baik secara kesatuan sistem mau pun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian isi datanya. Pada umumnya, pendekatan yang digunakan dalam pembuktian keaslian isi suatu data adalah dengan menggunakan suatu informasi yang hanya diketahui oleh pihak pengirim dan penerima, seperti: password, PIN, dan lain-lain.
13 •
Non–repudiasi atau nirpenyangkalan, adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman atau terciptanya suatu informasi oleh yang mengirimkan atau membuat.
2.1.4
Algoritma Kriptografi Definisi terminologinya, algoritma adalah urutan langkah–langkah logis untuk
penyelesaian masalah yang disusun secara sistematis. Algoritma kriptografi merupakan langkah–langkah logis bagaimana menyembunyikan pesan dari orang–orang yang tidak berhak atas pesan tersebut (Ariyus, 2006, p13). Algoritma kriptografi terdiri dari tiga fungsi dasar sebagai berikut. •
Enkripsi. Enkripsi merupakan hal yang sangat penting dalam kriptografi yang merupakan pengamanan data yang dikirimkan terjaga kerahasiannya. Pesan asli disebut plaintext yang diubah menjadi kode–kode yang tidak dimengerti. Enkripsi dapat diartikan dengan cipher atau kode. Sama halnya dengan orang yang tidak mengerti akan sebuah kata, maka orang tersebut akan melihatnya di dalam kamus atau daftar istilah–istilah. Beda halnya dengan enkripsi, untuk mengubah plaintext ke bentuk ciphertext, digunakan algoritma yang dapat mengkodekan data yang diinginkan.
•
Dekripsi. Dekripsi merupakan kebalikan dari enkripsi, pesan yang telah dienkripsi dikembalikan ke bentuk asalnya (plaintext) disebut dengan dekripsi pesan.
14 Algoritma yang digunakan untuk dekripsi tentu berbeda dengan yang digunakan untuk enkripsi. •
Kunci. Kunci yang dimaksud di sini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi.
2.2
Macam Bilangan
2.2.1
Bilangan Bulat Bilangan bulat adalah bilangan yang tidak mempunyai pecahan desimal,
misalnya 8, 21, 8765, –34, 0.
2.2.2
Bilangan Asli Bilangan asli (counting numbers atau natural numbers) merupakan bilangan
yang pertama kali dipakai oleh orang primitif. N = {1, 2, 3, ….} adalah himpunan bilangan asli atau himpunan bilangan bulat positif. Himpunan bilangan bulat positif merupakan himpunan bagian dari himpunan bilangan bulat.
2.2.3
Bilangan Prima Jika p bilangan asli, p≠1 hanya mempunyai pembagi 1 dan p, maka p disebut
bilangan prima. Contoh bilangan–bilangan prima: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, ….
15 2.3
Aritmatika Modular
2.3.1
Pembagi Bilangan bulat a adalah pembagi dari b (a ≠ 0), jika ada bilangan bulat c
sedemikian sehingga b = a . c. Simbol: a⎪b. Bilangan bulat b disebut kelipatan dari a dan bilangan a disebut faktor dari b. Contoh: 3⎪12, –3⎪6, a⎪0.
2.3.2 Faktor Persekutuan Terbesar Jika a⎪b dan a⎪c, maka a disebut faktor persekutuan dari b dan c (a≠0). Contoh: 2⎪8 dan 2⎪12, maka 2 adalah faktor persekutuan 8 dan 12. Misalkan a dan b adalah dua buah bilangan bulat tidak nol. Faktor Persekutuan Terbesar (FPB) dari a dan b adalah bilangan bulat terbesar d sedemikian sehingga d⎪a dan d⎪b. Hal ini dapat dinyatakan bahwa FPB(a, b) = d. Contoh: Faktor–faktor 45: 1, 3, 5, 9, 15, 45; Faktor–faktor 36: 1, 2, 3, 4, 9, 12, 18, 36; Faktor persekutuan dari 45 dan 36 adalah 1, 3, 9; FPB(45, 36) = 9.
2.3.3
Relatif Prima Bilangan–bilangan bulat disebut saling relatif prima jika dan hanya jika FPB dari
bilangan–bilangan asli tersebut sama dengan 1. Contoh: •
20 dan 3 relatif prima sebab FPB(20, 3) = 1.
•
7 dan 11 relatif prima karena FPB(7, 11) = 1.
•
20 dan 5 tidak relatif prima sebab FPB(20, 5) = 5 ≠ 1.
16 Untuk sembarang bilangan bulat m dan n, serta bilangan asli a dan b. Persamaan m . a + n . b = 1 dapat terpenuhi, jika dan hanya jika a dan b saling relatif prima. Bukti: •
Misal, FPB(a, b) = f.
•
Karena f merupakan FPB dari a dan b, maka f habis membagi a dan b.
•
Misal hasil bagi dari a terhadap f adalah x, sehingga x adalah bilangan asli.
•
Misal hasil bagi dari b terhadap f adalah y, sehingga y adalah bilangan asli.
•
Persamaan m . a + n . b = 1 dapat diuraikan menjadi: m . (f . x) + n . (f . y) = 1 (f . m . x + f . n . y) = 1 f (m . x + n . y) = 1 1 f Karena m, n, x, dan y adalah bilangan bulat, maka hasil dari (m . x + n . y) pasti (m.x + n. y ) =
adalah bilangan bulat. Supaya persamaan tersebut di atas dapat terpenuhi, maka nilai f harus sama dengan 1. Hal ini dikarenakan jika f ≠ 1 maka nilai dari (m . x + n . y) tidaklah berbentuk bilangan bulat. Jadi nilai f atau FPB(a, b) harus sama dengan 1, atau dengan kata lain a dan b saling relatif prima. Contoh: •
Bilangan 20 dan 3 adalah relatif prima karena FPB(20, 3) = 1, atau dapat ditulis 2 . 20 + (–13) . 3 = 1, dengan m = 2 dan n = –13.
•
Bilangan 20 dan 5 tidak relatif prima, karena FPB(20, 5) = 5 ≠ 1, 20 dan 5 tidak dapat dinyatakan dalam m . 20 + n . 5 = 1.
17 2.3.4
Algoritma Pembagian Jika a sembarang bilangan bulat dan b ≠ 0, maka ada dua bilangan bulat q dan r,
sedemikian sehingga a = b . q + r. Dalam hal ini a disebut yang dibagi, b disebut pembagi, q disebut hasil bagi, dan r > 0 disebut sisa pembagian. Contoh: 13 = 5 . 2 + 3. Bilangan 13 disebut yang dibagi, 5 adalah pembagi, 2 adalah hasil bagi, dan 3 adalah sisa pembagian.
2.3.5
Kongruen Modulo Kongruen modulo diberi notasi ≡. Bila dua bilangan bulat a dan b dibagi dengan
bilangan asli m dan bersisa sama, maka dikatakan a konguren dengan b modulo m dan ditulis a ≡ b (mod m), atau b kongruen dengan a modulo m dan ditulis b ≡ a (mod m). Sebagai contoh, 13 dibagi 5 memberikan hasil bagi 2 dengan sisa pembagian 3. Dengan kata lain: 13 mod 5 = 3, atau 13 ≡ 3 (mod 5); dibaca: 13 kongruen dengan 3 modulo 5. Jadi bila a dan b bilangan bulat (positif, negatif, atau nol) dan m sebuah bilangan asli, maka a ≡ b (mod m) secara sederhana berarti bahwa (a – b) itu habis dibagi m. Atau dengan kata lain bila a ≡ b (mod m) maka a – b = k . m (k merupakan bilangan bulat). Secara kongkrit, didefinisikan demikian: dua bilangan bulat a dan b kongruen modulo m jika dan hanya jika m | (a – b). (dibaca: m habis membagi (a – b)). Contoh: •
19 ≡ 7 (mod 6), sebab 19 dan 7 bila dibagi 6 masing–masing bersisa sama, yaitu 1. Juga dapat diperiksa bahwa (19 – 7) habis dibagi 6.
18 •
19 ≡ 76 (mod 3) sebab 19 dan 76 bila dibagi 3 bersisa sama 1. Juga dapat diperiksa bahwa (19 – 76) habis dibagi 3.
2.3.6
Sifat–Sifat Relasi Kongruensi Relasi dengan tanda ≡ pada a ≡ b (mod m) disebut relasi kongruensi. Andaikan a,
b, c, dan d ialah bilangan bulat dan m ialah bilangan asli. Relasi kongruensi memenuhi sifat–sifat: •
Refleksif, yaitu a ≡ a (mod m). Sebab a – a = 0 habis dibagi m.
•
Simetris. Bila a ≡ b (mod m) maka b ≡ a (mod m). (a – b) habis dibagi m. – (b – a) habis dibagi m. (b – a) habis dibagi m.
•
Transitif. Bila a ≡ b (mod m) dan b ≡ c (mod m) maka a ≡ c (mod m). Bukti: a ≡ b (mod m), maka a – b = k1 m b ≡ c (mod m), maka b – c = k2 m
______________________
+
a – c = (k1 + k2) m Karena a – c = (k1 + k2) m, maka a ≡ c (mod m)
2.3.7
Inversi Perkalian Modulo Jika a dan m saling relatif prima dan m > 1, maka inversi perkalian dari a modulo
m ada. Inversi dari a modulo m adalah sebuah bilangan bulat a yang memenuhi a–1 . a ≡
19 1 (mod m). Bukti: Dari definisi relatif prima diketahui bahwa FPB(a, m) = 1, dan jika terdapat sembarang bilangan bulat a–1 dan q maka dapat memenuhi: a–1 . a + q . m = 1 Persamaan tersebut mengimplikasikan bahwa: a–1 . a + q . m ≡ 1 (mod m) Karena q . m ≡ 0 (mod m), maka: a–1 . a ≡ 1 (mod m) Kekongruenan yang terakhir ini menunjukkan inversi perkalian dari a modulo m ada, yaitu sebesar a–1.
2.4
Struktur Aljabar Yang dimaksud dengan struktur aljabar adalah suatu himpunan H yang tidak
kosong dengan suatu operasi biner atau lebih, yang tertentu dan berlaku pada himpunan H itu. Yang dimaksud dengan operasi biner adalah operasi yang pada setiap kali operasi itu dijalankan hanya ada dua unsur yang dapat diselesaikan. Bila ada tiga unsur, dua unsur dikerjakan terlebih dahulu, sedangkan satu unsur lainnya dikerjakan kemudian. Jadi dalam operasi biner, tidak dapat dikerjakan tiga unsur sekaligus. Contoh dari operasi biner adalah operasi tambah.
2.4.1 Grup Abelian Grup ialah suatu struktur aljabar yang terdiri dari suatu himpunan tidak kosong G dengan suatu operasi biner o (ialah huruf pertama dari kata operasi) yang didefinisikan dan memenuhi sifat–sifat I sampai dengan IV. Suatu grup diberi notasi (G, o). Bila sifat V berlaku juga pada (G, o), maka (G, o) disebut grup komutatif atau grup Abelian. Hal
20 ini sebagai penghormatan kepada seorang ahli matematika Norwegia yang bernama Niels Henrik Abel (1802 – 1829). Sifat–sifat I sampai dengan V itu adalah sebagai berikut. I.
Operasi o dalam G tertutup. Maksudnya ialah bahwa untuk setiap a, b ∈ G ada c ∈ G sehingga a o b = c.
II.
Operasi o dalam G memenuhi sifat asosiatif. Untuk setiap a, b, c ∈ G berlaku (a o b) o c = a o (b o c).
III.
Ada unsur kesatuan. Ada e ∈ G sehingga sehingga e o a = a o e = a untuk setiap a ∈ G. Di sini e disebut unsur kesatuan operasi o.
IV.
Ada unsur inversi. Untuk setiap a ∈ G ada b ∈ G sehingga a o b = b o a = e, di mana e merupakan unsur kesatuan. Di sini a dan b merupakan unsur inversi satu sama lain terhadap operasi o.
V.
Operasi o dalam G memenuhi sifat komutatif. Bila a, b ∈ G maka a o b = b o a.
2.4.2
Finite Field Field adalah struktur aljabar yang terdiri dari suatu himpunan tidak kosong F
dengan operasi biner (+) dan (.), sedemikian sehingga: •
(F, +) adalah grup abelian.
•
(F–{0}, .) adalah grup abelian, di mana {0} merupakan unsur kesatuan dari operasi (+) pada himpunan F.
•
Hukum distributif kiri dan kanan berlaku untuk operasi (.) atas operasi (+): a . (b + c) = (a . b) + (a . c) (a + b) . c = (a . c) + (b . c)
21 Sedangkan yang dimaksud dengan finite field adalah field yang banyak anggota himpunannya terbatas. Finite field biasa dinotasikan dengan Fn, di mana n adalah orde dari finite field. Orde tersebut menunjukkan banyaknya anggota himpunan dari finite field tersebut. Suatu himpunan Fp = {0, 1, 2,…, p–1} dengan operasi penjumlahan dan perkalian modulo p (p adalah bilangan prima) merupakan finite field. Bukti: •
(Fp, +) adalah grup abelian. o
Operasi (+) dalam Fp tertutup, bukti: ¾
Bilangan bulat jika dijumlahkan dengan bilangan bulat, hasilnya pasti bilangan bulat.
¾
Setiap bilangan bulat jika dimodulokan dengan p maka hasilnya pasti merupakan anggota dari himpunan Fp.
o
Operasi (+) dalam Fp memenuhi sifat asosiatif, karena sifat asosiatif berlaku untuk operasi (+) pada himpunan bilangan bulat maka sifat asosiatif juga berlaku untuk operasi (+) pada Fp.
o
Memiliki unsur kesatuan yaitu 0, karena setiap bilangan bulat jika dijumlahkan dengan 0 maka hasilnya adalah bilangan itu sendiri.
o
Setiap anggota himpunan Fp memiliki unsur inversi, bukti: Misal a ∈ Fp. (a + (–a)) ≡ 0 (mod p) , karena p ≡ 0 (mod p) maka: (a + (–a)) ≡ p (mod p) (–a) ≡ (p – a) (mod p) Jadi unsur inversi dari a ada, yaitu (–a) = p – a.
22 o
Operasi (+) dalam Fp memenuhi sifat komutatif, karena sifat komutatif berlaku untuk operasi (+) pada himpunan bilangan bulat maka sifat komutatif juga berlaku untuk operasi (+) pada Fp.
•
(Fp – {0}, .) adalah grup abelian. o
Operasi (.) dalam (Fp – {0}) tertutup, bukti: ¾
Bilangan asli jika dikalikan dengan bilangan asli, hasilnya pasti bilangan asli.
¾
Setiap bilangan asli jika dimodularkan dengan bilangan prima p, maka hasilnya pasti bilangan bulat yang lebih kecil dari p dan lebih besar sama dengan 0.
¾
Anggota himpunan (Fp – {0}) saling relatif prima terhadap p. Hal ini dikarenakan p merupakan bilangan prima yang hanya memiliki dua buah faktor yaitu 1 dan p, sedangkan anggota himpunan (Fp – {0}) tidak mungkin ada yang memiliki faktor pembagi p.
¾
Jika bilangan asli a dan p saling relatif prima, di mana 1 < a < p, maka untuk sembarang bilangan asli b yang lebih kecil dari p tidak ada yang dapat memenuhi persamaan a . b ≡ 0 (mod p). Bukti: a . b ≡ 0 (mod p) (a . b – 0) = k . p, di mana k = {0, 1, 2, …, p–1}. (a . b) = (k . p)
b=
(k . p) a
23 Hal ini menunjukan bahwa b tidak mungkin bilangan asli sebab k.p tidak habis dibagi a. Dengan demikian, hasil perkalian antar anggota himpunan (Fp – {0}) tidak mungkin 0, sebab anggota– anggota himpunan (Fp – {0}) saling relatif prima terhadap p. o
Operasi (.) dalam (Fp – {0}) memenuhi sifat asosiatif, karena sifat asosiatif berlaku untuk operasi (.) pada himpunan bilangan bulat maka sifat asosiatif juga berlaku untuk operasi (.) pada Fp.
o
Memiliki unsur kesatuan yaitu 1, karena setiap bilangan asli jika dikalikan dengan 1 maka hasilnya adalah bilangan asli itu sendiri.
o
Setiap anggota himpunan (Fp – {0}) memiliki unsur inversi, bukti: ¾
Jika a dan p saling relatif prima dan p > 1, maka inversi perkalian dari a modulo p ada. Inversi dari a modulo m adalah bilangan bulat a sedemikian sehingga a–1 . a ≡ 1 (mod p).
¾
p saling relatif prima terhadap anggota–anggota himpunan (Fp – {0}). Oleh karena itu, setiap anggota himpunan (Fp – {0}) pasti memiliki inversi.
o
Operasi (.) dalam (Fp – {0}) memenuhi sifat komutatif, karena sifat komutatif berlaku untuk operasi (.) pada himpunan bilangan bulat maka sifat komutatif juga berlaku untuk operasi (.) pada Fp.
•
Hukum distributif kiri dan kanan berlaku untuk operasi (.) atas operasi (+) dalam Fp. Bukti: karena pada himpunan bilangan bulat hukum ini berlaku, maka hukum ini juga berlaku pada Fp.
24 2.5
Turunan
2.5.1
Definisi Turunan Secara Kalkulus
Turunan suatu fungsi f (x) terhadap variabel x adalah fungsi lain f ’(x) yang
nilainya untuk sembarang x = a adalah: f ’(a) =
lim h →0
f ( a + h) − f ( a ) h
Bila secara umum untuk a = x, dan h = ∆x, maka: f ’(x) =
lim Δx → 0
2.5.2
f ( x + Δx ) − f ( x ) Δx
Gradien Garis Singgung
g ● Q
∆y
y = f (x) P ●
α
∆x
β Gambar 2.1 Garis singgung fungsi f (x) di titik P Sumber : Gazali (2005)
Perhatikan hal–hal berikut pada gambar 2.1. P(x, y) Q(x + ∆x, y + ∆y)
di kurva y = f (x)
T
x
25 P tetap atau diam
akibatnya: ∆x → 0
Q bergerak ke P
∆y → 0
β →α karena ∠QPT = β maka tan β =
Δy Δx
Pada saat Q berimpit dengan P garis g menjadi garis singgung kurva di P, maka tan β =
Δy 0 tidak tertentu. Padahal tan α itu ada dan tertentu, karena merupakan → tan α = Δx 0 gradien garis singgung di P, harga itulah merupakan
Δy
lim Δx . Maka dapat diambil Δx →0
pengertian sebagai berikut. Karena ∆y = yQ – yP = (y + ∆y) – y = f (x + ∆x) – f (x), maka: tan α =
Δy
lim tan β = lim Δx = lim Δx →0
Δx →0
Δx → 0
f ( x + Δx ) − f ( x ) = f ’(x). Δx
Bentuk tersebut sesuai dengan definisi turunan secara kalkulus, yang berarti turunan pertama suatu fungsi merupakan gradien garis singgung di setiap titik dari kurva tersebut (dalam selang kontinu).
2.6
Kurva Elliptic
2.6.1
Kurva Elliptic Pada Himpunan Bilangan Real
Kurva elliptic adalah suatu kurva yang dibentuk oleh persamaan berikut.
y2 = x3 + ax + b di mana a, b, x, dan y adalah bilangan real. Pada kurva ini terdapat suatu titik tak berhingga (infinitas), yang dilambangkan dengan huruf O dengan koordinat ( ∞, ∞ ).
26 Gambar 2.2 dan 2.3 merupakan contoh gambar kurva elliptic pada himpunan bilangan real.
Gambar 2.2 Gambar kurva elliptic y2 = x3 – 6 x + 2 Sumber : www.certicom.com (2006)
Gambar 2.3 Gambar kurva elliptic y2 = x3 – x + 10 Sumber : www.certicom.com (2006)
27 2.6.2
Hukum Penjumlahan Titik–Titik Pada Kurva Elliptic
A
Penjumlahan Dua Titik Yang Berbeda
Misalkan titik P dan titik Q terdapat pada suatu kurva elliptic dan P ≠ Q. Untuk menjumlahkan titik P dan Q, gambarlah sebuah garis yang melewati titik P dan Q. Garis ini akan memotong kurva elliptic tepat pada satu titik lain, sebut saja titik –R. Titik –R direfleksikan terhadap sumbu x ke satu titik lain pada kurva, yaitu titik R. Titik R ini merupakan hasil penjumlahan dari titik P dan Q, atau dapat dinotasikan: P + Q = R.
Gambar 2.4 Penjumlahan dua titik yang berbeda pada kurva elliptic y2 = x3 – 7 x Sumber : www.certicom.com (2006) Langkah pertama yang harus dilakukan untuk mencari titik R adalah mencari gradien garis lurus yang melewati titik P( x P , y P ) dan Q( xQ , y Q ), dengan persamaan berikut. m=
yQ − y P xQ − x P
28 Langkah berikutnya adalah mencari kooordinat titik –R( x − R , y − R ) dengan cara berikut: •
Misal persamaan kurva elliptic adalah: y2 = x3 + ax + b.
•
Misal persamaan garis yang memotong kurva elliptic pada titik P, Q, dan –R adalah: y = m x + v.
•
Untuk mendapat titik–titik yang dilalui oleh garis potong pada kurva elliptic, maka persamaan garis potong harus disubtisusi ke persamaan kurva elliptic: y2 = x3 + ax + b
(m x + v)2 = x3 + ax + b x3 + ax + b – (m x + v)2 = 0 •
Seperti yang telah diketahui bahwa titik–titik pada kurva elliptic y2 = x3 + ax + b yang dilalui oleh garis potong y = m x + v adalah titik P, Q, dan –R maka dapat ditulis: x3 + ax + b – (m x + v)2 = (x – x P ) (x – xQ ) (x – x − R ).
Persamaan tersebut dapat diuraikan menjadi:
x3 + ax + b – (m2 x2 + 2 m v x + v2) = x3 – ( x P + xQ + x − R ) x2 + ( x P x Q + x Q x − R + x P x − R ) x + x P xQ x − R .
x3 – m2 x2 + (a + 2 m v) x + (b – v2) = x3 – ( x P + xQ + x − R ) x2 + ( x P x Q + x Q x − R + x P x − R ) x + x P xQ x − R .
•
Jika koefisien dari x2 pada ruas kiri dan ruas kanan persamaan tersebut disamakan maka didapat:
– m2 = –( x P + xQ + x − R )
29 x − R = m 2 − x P − xQ
•
Setelah mendapatkan x − R maka y − R dapat dicari dengan cara mensubstisusikan x − R ke persamaan garis potong y = m x + v: y − R = mx − R + v , di mana v adalah: y P = mx P + v x xQ <=> xQ y P
= m xQ x P + xQ v
y Q = mxQ + v x xQ <=> x P y Q
= m xQ x P + x P v
–
xQ y P − x P y Q = ( xQ − x P ) v v=
xQ y P − x P y Q ( xQ − x P )
sehingga: y − R = mx − R + v
y − R = mx− R + y − R = mx − R + y − R = mx − R +
xQ y P − x P y Q ( xQ − y P )
xQ y P − x P y Q + x P y P − x P y P ( xQ − x P ) (− x P )( yQ − y P ) + y P ( x P − xQ )
y − R = mx − R + (− x P )
( xQ − x P ) ( yQ − y P ) ( xQ − x P )
+ yP
( x P − xQ ) ( xQ − x P )
y − R = mx − R − mx P + y P y − R = m( x − R − x P ) + y P
Karena titik R( x R , y R ) merupakan refleksi dari titik –R( x − R , y − R ) terhadap sumbu x, maka koordinat titik R adalah: x R = x− R
30 x R = m 2 − x P − xQ y R = − y−R y R = − m( x − R − x P ) − y P y R = m( x P − x − R ) − y P , karena x R = x − R maka: y R = m( x P − x R ) − y P
Jadi dapat disimpulkan bahwa hasil penjumlahan dari titik P( x P , y P ) dan titik Q( xQ , y Q ) adalah titik R( x R , y R ), di mana: x R = m 2 − x P − xQ y R = m( x P − x R ) − y P
m=
B
yQ − y P xQ − x P
Penjumlahan Dua Titik Yang Berlawanan
Apabila terdapat suatu titik P( x, y ) pada kurva elliptic, maka titik yang berlawanan dengan titik P adalah refleksi titik P terhadap sumbu x yaitu titik –P( x,− y ). Penjumlahan dari dua titik yang berlawanan ini (P dan –P) jika dihitung dengan menggunakan cara penjumlahan dua titik yang berbeda, maka: •
Gradien garis titik P dan –P adalah: m=
•
− y − y − 2y = =∞ 0 x−x
Jadi titik koordinat hasil penjumlahan titik P dan –P adalah: x R = m 2 − x P − x − P = (∞ ) 2 − x − x = ∞
31 y R = m( x P − x R ) − y P = ∞ ( x − ∞ ) − y = ∞
Jadi, hasil penjumlahan dua titik yang berlawanan tersebut adalah suatu titik dengan koordinat ( ∞, ∞ ). Pada kurva elliptic terdapat suatu titik tak berhingga (infinitas) O( ∞, ∞ ). Dengan demikian, P + (–P) = O. Sebagai akibatnya dapat ditulis, P + O = O + P = P pada kurva elliptic. Dengan demikian, dapat disimpulkan bahwa O adalah unsur
kesatuan operasi penjumlahan titik–titik yang terdapat pada kurva elliptic, karena semua titik pada kurva elliptic jika dijumlahkan dengan titik O hasilnya adalah titik itu sendiri. Sedangkan titik –P( x,− y ) merupakan inversi operasi penjumlahan dari titik P( x, y ) pada kurva elliptic.
Gambar 2.5 Penjumlahan dua titik yang berlawanan pada kurva elliptic y2 = x3 – 6 x + 6 Sumber : www.certicom.com (2006)
C
Penggandaan Titik Pada Kurva Elliptic
Untuk menjumlahkan sebuah titik P( x P , y P ) pada kurva elliptic terhadap dirinya sendiri, terlebih dahulu harus dibuat sebuah garis singgung yang tepat menyinggung kurva elliptic pada titik P( x P , y P ). Garis singgung tersebut akan melalui sebuah titik lain
32 –R( x − R , y − R ) pada kurva elliptic. Kemudian titik –R( x − R , y − R ) direfleksikan terhadap sumbu x ke titik R( x R , y R ), di mana titik R terdapat pada kurva tersebut. Dengan demikian, titik R merupakan hasil penggandaan titik P pada kurva elliptic. Penggandaan titik P ini dapat dinotasikan: P + P = 2P = R.
Gambar 2.6 Penggandaan titik P pada kurva elliptic y2 = x3 – 3 x + 5 Sumber : www.certicom.com (2006) Langkah pertama yang harus dilakukan untuk mencari titik R adalah mencari gradien garis yang menyinggung kurva elliptic pada titik P( x P , y P ). Gradien garis singgung di setiap titik dari kurva elliptic adalah turunan pertama dari persamaan kurva elliptic terhadap variabel x. Jadi gradien garis yang menyinggung kurva elliptic di titik P( x P , y P ) adalah: y2 = x3 + ax + b
2y . y’= 3x2 + a y’ =
3x 2 + a 2y
33 2
3x + a m= P 2 yP Sebelum mencari koordinat titik R, terlebih dahulu harus dicari kooordinat titik –R, dengan cara berikut: •
Misal persamaan kurva elliptic adalah: y2 = x3 + ax + b.
•
Misal persamaan garis yang menyinggung kurva elliptic pada titik P dan melalui titik –R adalah: y = m x + v.
•
Untuk mendapat titik–titik yang dilalui oleh garis singgung pada persamaan kurva elliptic, maka persamaan garis singgung harus disubtisusi ke persamaan kurva elliptic: y2 = x3 + ax + b
(m x + v)2 = x3 + ax + b •
Seperti yang telah diketahui bahwa garis singgung y = m x + v menyinggung kurva elliptic y2 = x3 + ax + b di titik P dan melalui titik –R maka dapat ditulis: x3 + ax + b – (m x + v)2 = ( x − x P ) 2 ( x − x − R ) .
Persamaan tersebut dapat diuraikan menjadi: x3 + ax + b – (m2 x2 + 2 m v x + v2) = x3 – (2 x P + x − R ) x2 + ( x P + 2 x P x − R ) x + 2
2
x P x− R . x3 – m2 x2 + (a + 2 m v) x + (b – v2) = x3 – (2 x P + x − R ) x2 + ( x P + 2 x P x − R ) x + 2
2
x P x− R . •
Jika koefisien dari x2 pada ruas kiri dan ruas kanan persamaan tersebut disamakan, maka didapat: – m2 = –(2 x P + x − R )
34 x − R = m2 – 2 x P
•
Setelah mendapatkan x − R , maka y − R dapat dicari dengan cara mensubstisusikan x − R ke persamaan garis singgung y = m x + v: y − R = m x − R + v, di mana v adalah: y P = mx P + v v = y P − mx P
sehingga: y − R = mx − R + ( y P − mx P ) y − R = m( x − R − x P ) + y P
Titik R( x R , y R ) merupakan refleksi dari titik –R( x − R , y − R ) terhadap sumbu x, maka koordinat titik R adalah: x R = x− R
xR = m 2 − 2xP y R = − y−R y R = − m( x − R − x P ) − y P y R = m( x P − x − R ) − y P , karena x R = x − R maka: y R = m( x P − x R ) − y P
Jadi dapat disimpulkan bahwa hasil penggandaan dari titik P( x P , y P ) adalah titik R( x R , y R ), di mana: xR = m 2 − 2xP y R = m( x P − x R ) − y P
35 2
3x + a m= P 2 yP Apabila ingin menghitung 3P maka titik P harus dijumlahkan terhadap dirinya sendiri sebanyak 3 kali: P + P + P = 2P + P = 3P. Begitu pula dengan 4P, 5P, 6P, dan seterusnya. Jika pada suatu kurva elliptic terdapat sebuah titik P( x P , y P ) di mana y P = 0, maka hasil penggandaan dari titik P adalah sebagai berikut: 2
•
2
3x + a 3x P + a m= P = =∞ 2 yP 2(0) Karena gradien garis singgungnya ∞, maka garis yang menyinggung kurva elliptic di titik P berbentuk sebuah garis vertikal yang sejajar dengan sumbu y.
•
x R = m 2 − 2 x P = (∞ ) 2 − 2 x P = ∞
•
y R = m( x P − x R ) − y P = ∞ ( x P − ∞ ) − y P = ∞
Dengan demikian, P + P = 2P = O. Sedangkan untuk mencari 3P pada situasi seperti ini, dapat diperoleh dengan menjumlahkan 2P + P, menjadi O + P = P. Sehingga 3P = P. Jadi diperoleh 3P = P, 4P = O, 5P = P, 6P = O, 7P = P, dan seterusnya.
36
Gambar 2.7 Penggandaan titik P(2, 0) pada kurva elliptic y2 = x3 – 4 x Sumber : www.certicom.com (2006)
2.6.3
Akar Kembar Pada Sumbu x
Jika suatu kurva elliptic memiliki akar kembar 2 pada sumbu x, maka kurva tersebut akan membentuk sebuah simpul tepat pada titik kooordinat akar kembar 2 tersebut. Contoh pada gambar 2.8, kurva elliptic y2 = x3 – 3 x + 2 = (x – 1)2 ( x + 2) memiliki akar kembar 2 pada titik (1, 0). Sedangkan jika suatu kurva elliptic memiliki akar kembar 3 pada sumbu x, maka kurva tersebut akan membentuk sebuah ujung tombak tepat pada titik kooordinat akar kembar 3 tersebut. Contoh pada gambar 2.9, kurva elliptic y2 = x3 memiliki akar kembar 3 pada titik (0, 0).
37
Gambar 2.8 Gambar kurva elliptic y2 = x3 – 3 x + 2 Sumber : www.certicom.com (2006)
Gambar 2.9 Gambar kurva elliptic y2 = x3 Sumber : www.certicom.com (2006) Pada titik yang berbentuk simpul atau atau ujung tombak tersebut, tidak dapat dibuat garis singung kurva elliptic. Sehingga titik–titik tersebut tidak dapat digandakan. Dengan demikian, hukum penjumlahan titik–titik pada kurva elliptic tidak berlaku jika kurva elliptic tersebut memiliki akar–akar kembar pada sumbu x.
38 Untuk membuktikan secara matematis bahwa hukum penjumlahan titik–titik pada kurva elliptic tidak berlaku jika kurva tersebut memiliki akar kembar pada sumbu x, langkah awal yang harus dilakukan adalah mencari akar–akar dari suatu persamaan
kurva elliptic pada sumbu x. Berikut adalah cara mencari akar–akar kurva elliptic pada sumbu x: •
Karena terletak pada sumbu x, maka nilai y = 0, sehingga: y 2 = x 3 + ax + b x 3 + ax + b = 0
•
Misal x = s – t dan a = 3st. Jadi: ( s − t ) 3 + (3st )( s − t ) + b = 0 ( s 3 − 3s 2 t + 3st 2 − t 3 ) + 3s 2 t − 3st 2 + b = 0
s3 − t 3 + b = 0 b = t 3 − s3 •
a = 3st
t=
a 3s
t 3 − s3 = b 3
⎛a⎞ 3 ⎜ ⎟ −s =b ⎝ 3s ⎠ ⎛ a3 ⎞ ⎟ − s3 = b ⎜⎜ 3 ⎟ ⎝ 27 s ⎠
x 27 s3
a 3 − 27 s 6 = 27bs 3
27 s 6 + 27bs 3 − a 3 = 0
39
s3 =
− 27b ± (27b) 2 − 4.(27).(−a 3 ) 2.(27)
s3 =
− 27b ± 729b 2 + 108a 3 54
729b 2 + 108a 3 ⎛−b⎞ s3 = ⎜ ⎟± 54 ⎝ 2 ⎠ 729b 2 + 108a 3 ⎛−b⎞ Misal: r = ⎜ ⎟± 54 ⎝ 2 ⎠
s3 = r s3 − r = 0 ( s ) 3 − (3 r ) 3 = 0 ( s − 3 r )( s 2 + s (3 r ) + (3 r ) 2 ) = 0 s − 3 r = 0 atau s 2 + s (3 r ) + (3 r ) 2 = 0 s−3 r =0
s1 = 3 r s 2 + s (3 r ) + (3 r ) 2 = 0
s 2,3
− (3 r ) ± (3 r ) 2 − 4.(1).((3 r ) 2 ) = 2.(1)
s 2,3
− (3 r ) ± (3 r ) 2 − 4.(3 r ) 2 = 2
s 2,3 =
− (3 r ) ± (3 r ) 1 − 4 2
⎛ −1± − 3 ⎞ 3 ⎟( r ) s 2,3 = ⎜⎜ ⎟ 2 ⎝ ⎠
40
⎛ −1+ i 3 ⎞ 3 ⎟( r ) s 2 = ⎜⎜ ⎟ 2 ⎝ ⎠ ⎛ −1− i 3 ⎞ 3 ⎟( r ) s 3 = ⎜⎜ ⎟ 2 ⎠ ⎝ Jadi: 729b 2 + 108a 3 ⎛−b⎞ s1 = ⎜ ⎟± 54 ⎝ 2 ⎠ 3
⎛ −1+ i 3 ⎞ ⎛ − b ⎞ 729b 2 + 108a 3 ⎟3 ⎜ s 2 = ⎜⎜ ± ⎟ ⎟ ⎝ 2 ⎠ 2 54 ⎝ ⎠ ⎛ −1− i 3 ⎞ ⎛ − b ⎞ 729b 2 + 108a 3 ⎟3 ⎜ s 3 = ⎜⎜ ± ⎟ ⎝ 2 ⎟⎠ 2 54 ⎝ ⎠
•
b = t 3 − s3
t 3 = b + s3 ⎛⎛ − b ⎞ 729b 2 + 108a 3 t 3 = b + ⎜⎜ ⎟± ⎜⎝ 2 ⎠ 54 ⎝ 729b 2 + 108a 3 ⎛b⎞ t =⎜ ⎟± 54 ⎝2⎠ 3
729b 2 + 108a 3 ⎛b⎞ Misal: q = ⎜ ⎟ ± 54 ⎝2⎠ t3 = q t3 − q = 0 (t ) 3 − (3 q ) 3 = 0 (t − 3 q )(t 2 + t (3 q ) + (3 q ) 2 ) = 0
⎞ ⎟ ⎟ ⎠
41 t − 3 q = 0 atau t 2 + t (3 q ) + (3 q ) 2 = 0 t −3 q =0 t1 = 3 q t 2 + t ( 3 q ) + (3 q ) 2 = 0
t 2,3 =
t 2,3 =
t 2,3 =
− (3 q ) ± (3 q ) 2 − 4.(1).((3 q ) 2 ) 2.(1) − (3 q ) ± (3 q ) 2 − 4.(3 q ) 2 2
− (3 q ) ± (3 q ) 1 − 4 2
⎛ −1± − 3 ⎞ 3 ⎟( q ) t 2,3 = ⎜⎜ ⎟ 2 ⎝ ⎠ ⎛ −1− i 3 ⎞ 3 ⎟( q ) t 2 = ⎜⎜ ⎟ 2 ⎝ ⎠ ⎛ −1+ i 3 ⎞ 3 ⎟( q ) t 3 = ⎜⎜ ⎟ 2 ⎝ ⎠ Jadi: 729b 2 + 108a 3 ⎛b⎞ t1 = 3 ⎜ ⎟ ± 54 ⎝2⎠ ⎛ −1− i 3 ⎞ ⎛ b ⎞ 729b 2 + 108a 3 ⎟3 ⎜ ⎟ ± t 2 = ⎜⎜ ⎟ ⎝2⎠ 2 54 ⎝ ⎠ ⎛ −1+ i 3 ⎞ ⎛ b ⎞ 729b 2 + 108a 3 ⎟3 ⎜ ⎟ ± t 3 = ⎜⎜ ⎟ ⎝2⎠ 2 54 ⎝ ⎠
42 •
Karena x = s – t, maka: x1 = s1 − t1 729b 2 + 108a 3 3 ⎛ b ⎞ 729b 2 + 108a 3 ⎛−b⎞ x1 = ⎜ − ⎜ ⎟± ⎟± 54 54 ⎝ 2 ⎠ ⎝2⎠ 3
729b 2 + 108a 3 3 ⎛ b ⎞ 729b 2 + 108a 3 ⎛−b⎞ atau x1 = 3 ⎜ − ⎜ ⎟+ ⎟+ 54 54 ⎝ 2 ⎠ ⎝2⎠ 729b 2 + 108a 3 3 ⎛ b ⎞ 729b 2 + 108a 3 ⎛−b⎞ x1 = 3 ⎜ − ⎜ ⎟− ⎟− 54 54 ⎝ 2 ⎠ ⎝2⎠ x2 = s2 − t 2
⎛ −1+ i 3 ⎞ ⎛ − b ⎞ 729b 2 + 108a 3 ⎛ − 1 − i 3 ⎞3 ⎛ b ⎞ 729b 2 + 108a 3 ⎟3 ⎜ ⎜ ⎟ ± − x 2 = ⎜⎜ ± ⎟ ⎝ 2 ⎟⎠ ⎜ ⎟ ⎜⎝ 2 ⎟⎠ 2 54 2 54 ⎝ ⎠ ⎝ ⎠ ⎛ −1+ i 3 ⎞ ⎛ − b ⎞ 729b 2 + 108a 3 ⎛ − 1 − i 3 ⎞3 ⎛ b ⎞ 729b 2 + 108a 3 ⎜ ⎟ ⎜ ⎟+ ⎟3 ⎜ x 2 = ⎜⎜ + − ⎟ ⎜ ⎟ ⎝2⎠ ⎟ ⎝ 2 ⎠ 2 54 2 54 ⎝ ⎝ ⎠ ⎠ x3 = s 3 − t 3 ⎛ −1− i 3 ⎞ ⎛ − b ⎞ 729b 2 + 108a 3 ⎛ − 1 + i 3 ⎞3 ⎛ b ⎞ 729b 2 + 108a 3 ⎜ ⎟ ⎜ ⎟± ⎟3 ⎜ x3 = ⎜⎜ ± − ⎟ ⎜ ⎟ ⎝2⎠ ⎟ ⎝ 2 ⎠ 2 54 2 54 ⎝ ⎝ ⎠ ⎠ ⎛ −1− i 3 ⎞ ⎛ − b ⎞ 729b 2 + 108a 3 ⎛ − 1 + i 3 ⎞3 ⎛ b ⎞ 729b 2 + 108a 3 ⎜ ⎟ ⎟3 ⎜ x3 = ⎜⎜ + − + ⎜ ⎟ ⎜⎝ 2 ⎟⎠ ⎟ ⎝ 2 ⎟⎠ 2 54 2 54 ⎝ ⎝ ⎠ ⎠
Jadi akar–akar dari suatu persamaan kurva elliptic pada sumbu x adalah: 729b 2 + 108a 3 3 ⎛ b ⎞ 729b 2 + 108a 3 ⎛−b⎞ x1 = 3 ⎜ − ⎜ ⎟+ ⎟+ 54 54 ⎝ 2 ⎠ ⎝2⎠ ⎛ −1+ i 3 ⎞ ⎛ − b ⎞ 729b 2 + 108a 3 ⎛ − 1 − i 3 ⎞3 ⎛ b ⎞ 729b 2 + 108a 3 3 ⎜ ⎜ ⎟ ⎟ x2 = ⎜ −⎜ ⎟ ⎜⎝ 2 ⎟⎠ + ⎟ ⎜⎝ 2 ⎟⎠ + 2 54 2 54 ⎝ ⎝ ⎠ ⎠
43 ⎛ −1− i 3 ⎞ ⎛ − b ⎞ 729b 2 + 108a 3 ⎛ − 1 + i 3 ⎞3 ⎛ b ⎞ 729b 2 + 108a 3 3 ⎜ ⎟ ⎜ ⎟ −⎜ x3 = ⎜ ⎟ ⎜⎝ 2 ⎟⎠ + ⎟ ⎜⎝ 2 ⎟⎠ + 2 54 2 54 ⎝ ⎠ ⎝ ⎠
Dari penyelesaian tersebut di atas, dapat disimpulkan bahwa suatu kurva elliptic mempunyai akar–akar kembar pada sumbu x jika 729 b2 + 108 a3 = 0 atau 4 a3 + 27 b2 = 0. Bukti: ⎛ −b ⎞ ⎛ b ⎞ ⎛ b⎞ ⎛ b⎞ ⎛ b⎞ ⎟ − ⎜ 3 ⎟ = −⎜ 3 ⎟ − ⎜ 3 ⎟ = −2⎜ 3 ⎟ x1 = ⎜⎜ 3 ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ 2⎟ ⎝ 2 ⎠ ⎝ 2⎠ ⎝ 2⎠ ⎝ 2⎠ ⎝ ⎠ ⎛ − 1 + i 3 ⎞⎛ − b ⎞ ⎛ − 1 − i 3 ⎞⎛ b ⎞ ⎟⎜ 3 ⎟ ⎜ ⎟⎜ 3 ⎟ x 2 = ⎜⎜ ⎟⎜ 2 ⎟ − ⎜ ⎟⎜ 2 ⎟ 2 2 ⎝ ⎠⎝ ⎠ ⎝ ⎠⎝ ⎠ ⎛ 1 − i 3 ⎞⎛ b ⎞ ⎛ − 1 − i 3 ⎞⎛ b ⎞ b ⎟⎜ 3 ⎟ − ⎜ ⎟⎜ 3 ⎟ = 3 x 2 = ⎜⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ 2 2 ⎝ 2 ⎠⎝ 2 ⎠ ⎝ ⎠⎝ 2 ⎠ ⎛ − 1 − i 3 ⎞⎛ − b ⎞ ⎛ − 1 + i 3 ⎞⎛ b ⎞ ⎟⎜ 3 ⎟ ⎜ ⎟⎜ 3 ⎟ x3 = ⎜⎜ ⎟⎜ 2 ⎟ − ⎜ ⎟⎜ 2 ⎟ 2 2 ⎝ ⎠⎝ ⎠ ⎝ ⎠⎝ ⎠ ⎛ 1 + i 3 ⎞⎛ b ⎞ ⎛ − 1 + i 3 ⎞⎛ b ⎞ b ⎟⎜ 3 ⎟ − ⎜ ⎟⎜ 3 ⎟ = 3 x3 = ⎜⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ 2 2 ⎝ 2 ⎠⎝ 2 ⎠ ⎝ ⎠⎝ 2 ⎠ Terlihat pada penyelesaian tersebut di atas bahwa x2 = x3. Sekarang akan dicari gradien garis singgung kurva elliptic pada titik yang dibentuk oleh akar–akar kembar x2 = x3 tersebut, pada penjabaran berikut ini. •
4a 3 + 27b 2 = 0
4a 3 = −27b 2 a3 =
− 27b 2 4
a=3
− 27b 2 4
44
•
xP =
b 2
3
x P2 =
3
b2 4
yp = 0 •
m = 3 x P2 + a
___________
2 yP ⎛ b 2 ⎞ ⎛ − 27b 2 ⎞ ⎟ + ⎜3 ⎟ 3⎜ 3 ⎟ ⎜ 4 ⎟ ⎜ 4 ⎝ ⎠ ⎝ ⎠ m= 2.(0)
3
m=
m=
27b 2 3 27b 2 − 4 4 0
0 → tak tentu 0
Karena gradien garis singgung pada akar–akar kembar tersebut bernilai tak tentu, maka garis singgung kurva elliptic tidak dapat dibuat pada titik–titik yang dibentuk oleh akar–akar kembar pada sumbu x. Hal ini mengakibatkan bahwa titik–titik tersebut tidak dapat digandakan. Dengan demikian, hukum penjumlahan titik–titik pada kurva elliptic tidak berlaku jika kurva tersebut memiliki akar kembar pada sumbu x.
2.6.4
Kurva Elliptic Dalam Finite Field Fp
Finite Field Fp adalah sebuah finite field di mana anggota himpunannya merupakan bilangan bulat yang besarnya berkisar antara 0 sampai dengan p – 1 dengan operasi penjumlahan dan perkalian modulo p (p adalah bilangan prima). Supaya titik–
45 titik koordinat kurva elliptic berada di dalam finite field Fp, maka bentuk persamaan kurva elliptic yang digunakan adalah: y2 (mod p) = (x3 + ax + b) (mod p) di mana x, y, a, b ∈ Fp. Menurut Munir (2004, p14), aritmatika modular cocok digunakan untuk kriptografi karena dua alasan berikut ini. •
Nilai–nilai pada aritmetika modular berada dalam himpunan berhingga (0 sampai modulus p – 1), maka tidak perlu khawatir hasil perhitungan berada di luar himpunan.
•
Karena nilai–nilai pada aritmatika modular berbentuk bilangan bulat, maka tidak perlu khawatir kehilangan informasi akibat pembulatan (round off) sebagaimana pada operasi bilangan yang mempunyai pecahan desimal. Sekarang anggap bahwa Ep(a, b) merupakan suatu himpunan yang terdiri dari
titik–titik kooordinat bilangan bulat (x, y) yang memenuhi persamaan tersebut di atas, bersama satu titik infinitas O (∞,∞). Misal, apabila pada persamaan di atas ditentukan nilai dari a = 1, b = 0, dan p = 23. Maka didapat persamaan y2 (mod 23) = (x3 + x) (mod 23). Titik (9, 5) merupakan himpunan dari E23(1, 0) karena: 52 (mod 23)
=
(93 + 9) (mod 23)
25 (mod 23)
=
(729 + 9) (mod 23)
25 (mod 23)
=
738 (mod 23)
2
=
2
Lebih lengkapnya titik–titik yang memenuhi himpunan E23(1, 0) antara lain: (0, 0), (1, 5), (1, 18), (9, 5), (9, 18), (11, 10), (11, 13), (13, 5), (13, 18), (15, 3), (15, 20), (16,
46 8), (16, 15), (17, 10), (17, 13), (18, 10), (18, 13), (19, 1), (19, 22), (20, 4), (20, 19), (21, 6), (21, 17), dan (∞, ∞). Sebaran titik–titik ini dapat dilihat pada gambar 2.10.
Gambar 2.10 Sebaran titik–titik pada kurva elliptic E23(1, 0) Sumber : www.certicom.com (2006)
2.7
Algoritma Elliptic Curve Cryptography
2.7.1
Sejarah Singkat
Kurva elliptic telah dipelajari secara intensif dalam bidang teori bilangan dan geometri aljabar oleh para ahli matematika selama lebih dari satu abad. Teori–teori telah banyak dikembangkan mengenai kurva elliptic, dan telah menjadi dasar bagi perkembangan baru dalam ilmu matematika. Salah satu perkembangan baru tersebut adalah penggunaan kurva elliptic untuk kriptografi. Algoritma Elliptic Curve Cryptography diusulkan secara independen masing– masing oleh Victor Miller dan Neil Koblitz pada tahun 1985. Sejak tahun tersebut,
47 Elliptic Curve Cryptography telah dievaluasi secara menyeluruh oleh para ahli kriptografi, ahli matematika, dan ahli komputer di seluruh dunia, sehingga timbul kepercayaan terhadap sistem baru ini. Beberapa tahun terakhir ini, implementasi komersial pertama telah muncul, baik sebagai tool kit mau pun sebagai aplikasi seperti keamanan e-mail, keamanan web, dan lain sebagainya.
2.7.2
Representasi Teks
Karakter–karakter yang terdapat pada pesan asli (plaintext) direprentasikan oleh titik–titik kooordinat yang memenuhi persamaan kurva elliptic yang telah ditentukan. Misal, titik–titik pada himpunan E29(3, 0) dapat merepresentasikan karakter–karakter sebagai berikut. (0, 0) = A
(1, 2) = B
(1, 27) = C
(3, 6) = D
(3, 23) = E
(5, 13) = F
(5, 16) = G
(7, 4) = H
(7, 25) = I
(11, 1) = J
(11, 28) = K
(12, 13) = L
(12, 16) = M (17, 11) = N
(17, 18)= O
(18, 12) = P
(18, 17) = Q
(22, 10) = R
(22, 19) = S
(24, 11) = T
(24, 18) = U
(26, 14) = V
(26, 15) = W (28, 5) = X
(28, 24) = Y
(∞,∞) = Z
Pada program aplikasi yang dibuat, ada 256 jenis karakter yang dipakai. Jenis karakter tersebut mengacu pada standar internasional yaitu ASCII (American Standard Code for Information Interchange). Oleh karena itu nilai p, a, dan b pada persamaan kurva elliptic harus ditentukan sedemikian sehingga jumlah anggota himpunan Ep(a, b) adalah sebanyak 256 titik.
48 2.7.3
Proses Enkripsi Dan Dekripsi
Algoritma Elliptic Curve Cryptography menggunakan prinsip kurva elliptic di mana yang menjadi permasalahan adalah kesulitan untuk menghitung nilai dari k, pada operasi Q = kP, di mana Q dan P merupakan titik yang terletak pada bidang kurva elliptic Ep(a, b). Walau pun sebenarnya tidak begitu sulit untuk menghitung harga Q apabila diketahui k dan P, tetapi sangat sulit untuk menghitung nilai k, apabila hanya diberikan P dan Q. Langkah awal yang harus dilakukan adalah menentukan nilai p, a dan b, untuk membentuk himpunan Ep(a, b). Anggota himpunan Ep(a, b) merepresentasikan karakter– karakter yang akan dienkripsi dan didekripsi. Selanjutnya, proses enkripsi dilakukan dengan menggunakan perhitungan berikut: Cm = {kG, Pm + kPA} Keterangan: •
Cm = titik yang telah dienkripsi.
•
Pm = titik yang akan dienkripsi.
•
k merupakan sebuah bilangan asli yang lebih kecil dari p–1. Besarnya k ditentukan secara acak untuk setiap karakter.
•
G merupakan titik basis, di mana G merupakan salah satu anggota himpunan Ep(a, b) selain titik O yang dipilih secara acak. Nilai G konstan untuk setiap karakter dalam file yang sama.
•
PA ditentukan dengan cara berikut. ¾
Cari bilangan asli n sedemikian sehingga nG = O.
¾
Pilih secara acak bilangan asli nA, di mana nA < n.
49 ¾
PA = nA x G.
Dengan demikian, berhasil diperoleh sebuah titik terenkripsi, Cm. Sedangkan untuk proses dekripsi, dilakukan dengan menggunakan perhitungan: {Pm + kPA}– nA(kG) = {Pm + k(nAG)} – nA(kG) = Pm Melalui hitungan di atas, berhasil diperoleh kembali titik Pm. Dengan demikian, pesan asli kembali didapat.
2.8
Citra
2.8.1
Definisi Citra
Mengerti hubungan formasi geometri citra dan representasi citra di dalam komputer adalah penting untuk memahami bagaimana citra digital disimpan dan diolah. Harus ada jembatan antara notasi matematika untuk mengembangkan algoritma pengolahan citra dan notasi algoritma yang digunakan dalam pembuatan program komputer. Untunglah komputer mempunyai sistem penyimpanan memori dua dimensi yang disebut larik (array) atau matriks memori. Sebuah piksel adalah representasi sebuah titik terkecil dalam citra, yang mengandung intensitas citra yang dinyatakan dalam bilangan bulat. Sebuah citra adalah kumpulan piksel–piksel yang disusun dalam bilangan bulat. Piksel (0,0) terletak pada sudut kiri atas pada citra, indeks x bergerak ke kanan dan indeks y bergerak ke bawah. Konvensi ini dipakai, merujuk pada cara penulisan larik yang digunakan dalam pemrograman komputer. Satu piksel hanya menampung satu jenis warna saja. Arah vertikal ini berlawanan dengan arah vertikal dalam matematika yang sudah lebih dulu dikenal. Teknik yang umum digunakan dalam membentuk sebuah citra digital adalah square tesselation. Teknik ini menggunakan bentuk diagram berupa kumpulan
50 bujur sangkar. Selain bujur sangkar, bentuk lain seperti segitiga, segienam atau yang lainnya dapat saja digunakan untuk merangkai citra, akan tetapi bentuk bujur sangkar adalah yang paling sederhana dan mudah dipahami. Hal ini tidak menimbulkan masalah, karena tesselation hanyalah teknik visualisasi dari citra yang tersimpan dalam memori komputer. Hal yang lebih penting adalah bagaimana mengakses setiap piksel sebagai unit terkecil dari citra yang disimpan dalam memori komputer. Jadi operasi atau manipulasi pada citra dapat dilakukan seperti memanipulasi kotak–kotak pada citra yang terbentuk dari hasil tesselation.
2.8.2
Format Bitmap
Salah satu kategori format file citra adalah format bitmap. Seperti namanya, bitmap adalah peta titik–titik yang membentuk sebuah gambar. Gambar–gambar bitmap disimpan pada berbagai macam format file (seperti Compuserve Graphics Interchange Format, Aldus Tagged Image File Format, Microsoft Windows Bitmap, Zsoft Paintbrush Format, dan lain–lain) dan dapat dibaca kembali dengan program gambar atau editor citra seperti Adobe Photoshop, Corel Photopaint, atau Paintbrush. Jika gambar bitmap diperbesar, maka akan terlihat kotak–kotak. Jenis format file citra yang dapat diolah oleh program aplikasi yang dibuat pada skripsi ini, dibatasi pada format Microsoft Windows Bitmap. Berdasar kesepakatan, file grafik dalam format Microsoft Windows Bitmap diakhiri dengan ekstensi “BMP”.
2.9
Interaksi Manusia dan Komputer
Dalam merancang suatu program, harus diperhatikan satu hal yang sangat penting, yaitu interaksi antara pengguna dengan program. Interaksi ini harus user
51 friendly, yang berarti mudah digunakan oleh pengguna yang awam sekali pun. Dalam merancang program yang user friendly ada beberapa kriteria yang harus dipenuhi. •
Waktu belajar yang singkat sehingga pengguna yang awam dapat menggunakan tanpa harus mempelajarinya dalam waktu yang cukup lama.
•
Kecepatan penyajian data atau informasi yang relatif cepat, agar pengguna tidak menunggu terlalu lama dan menjadi bosan.
•
Tingkat kesalahan yang dilakukan pengguna rendah.
•
Penghafalan sesudah melampaui jangka waktu tertentu, artinya seberapa jauh pengetahuan pengguna setelah sekian lama yang berhubungan dengan frekuensi pemakaian.
•
Kepuasan pribadi dari pengguna terhadap berbagai aspek yang terdapat dalam sistem tersebut.
2.10
Perancangan Perangkat Lunak
Menurut Pressman (2002, p10), perangkat lunak adalah: (1)
perintah (program komputer) yang bila dieksekusi akan memberikan fungsi dan unjuk kerja seperti yang diinginkan.
(2)
struktur data yang memungkinkan program memanipulasi informasi secara proposional, dan
(3)
dokumen yang menggambarkan operasi dan kegunaan program. Salah satu cara perancangan perangkat lunak adalah dengan menggunakan model
air terjun (waterfall model) menurut Sommerville (1995, pp9–10). Tahap–tahap utama dalam model air terjun dapat digambarkan dalam aktivitas dasar pengembangan seperti
52 berikut ini. •
Analisis dan penentuan kebutuhan Tugas, kendala dan tujuan sistem ditentukan melalui konsultasi dengan pengguna sistem, kemudian ditentukan cara yang dapat dipahami baik oleh pengguna mau pun staf pengembang.
•
Desain sistem dan perangkat lunak Proses desain sistem terbagi dalam kebutuhan perangkat keras dan perangkat lunak. Hal ini menentukan arsitektur perangkat lunak secara keseluruhan. Desain perangkat lunak mewakili fungsi sistem perangkat lunak dalam suatu bentuk yang dapat ditranformasikan ke dalam satu atau lebih program yang dapat dieksekusi.
•
Implementasi dan pengujian unit Dalam tahap ini, desain perangkat lunak direalisasikan dalam suatu himpunan program atau unit–unit program pengujian, mencakup kegiatan verifikasi terhadap setiap unit sehingga memenuhi syarat spesifikasinya.
•
Integrasi dan Pengujian Sistem Unit program secara individual diintegrasikan dan diuji sebagai satu sistem yang lengkap untuk memastikan bahwa kebutuhan perangkat lunak telah terpenuhi. Setelah pengujian, sistem perangkat lunak disampaikan kepada pengguna.
•
Pengoperasian dan pemeliharaan Secara normal, walau pun tidak perlu, tahap ini merupakan fase siklus hidup yang terpanjang. Sistem telah terpasang dan sedang dalam penggunaan. Pemeliharaan mencakup perbaikan kesalahan yang tidak ditemukan dalam
53 tahap–tahap ini sebelumnya, meningkatkan implementasi unit–unit sistem dan mempertinggi pelayanan sistem sebagai kebutuhan baru yang ditemukan.
Gambar 2.11 Perancangan Perangkat Lunak Model Air Terjun Sumber: Sommerville (1995)
2.11
Alat Bantu Perancangan
2.11.1 State Transition Diagram (STD)
State transition diagram menggambarkan jalannya suatu program dalam kondisi tertentu. Notasi yang digunakan adalah sebagai berikut.
State menunjukkan satu atau lebih kegiatan atau keadaan atau atribut yang menjelaskan bagian tertentu dari program.
54
kondisi/aksi
Anak panah berarah menunjukkan perubahan state yang disebabkan oleh aksi (action) terhadap kondisi (condition) tertentu. Kondisi merupakan suatu event pada lingkungan eksternal yang dapat dideteksi oleh suatu sistem, misalnya sinyal, interupsi, atau data. Hal ini akan menyebabkan perubahan dari suatu state ke state yang lainnya atau satu aktivitas ke aktivitas lainnya. Aksi merupakan hal yang dilakukan oleh sistem jika terjadi perubahan state atau merupakan reaksi terhadap kondisi. Aksi dapat menghasilkan output, tampilan pesan pada layar, kalkulasi atau kegiatan lainnya.
2.11.2 Pseudocode
Pseudocode adalah suatu bahasa pemrograman yang informal dan sangat fleksibel, yang tidak dimaksudkan untuk dieksekusi pada mesin, tetapi hanya digunakan untuk mengatur pemikiran pemrogram sebelum melakukan pengkodean (Page – Jones, 1980, p11). Pseudocode dapat merupakan alternatif lain dalam perancangan perangkat lunak di samping alat–alat bantu berupa diagram. Tidak ada standarisasi dalam hal penulisan pseudocode. Pemrogram dapat menulisnya dalam bahasa apa saja yang mereka suka, dipadukan dengan bahasa pemrograman tertentu. Pemrogram juga bebas menggunakan teknik dan aturannya sendiri. Robertson (1993, p6–7), menulis pseudocode–nya dengan perjanjian sebagai berikut. •
Pernyataan ditulis dalam bahasa inggris sederhana.
55 •
Setiap perintah ditulis pada baris tersendiri.
•
Kata kunci atau indentasi (penulisan yang menjorok ke dalam) digunakan untuk menandai struktur kontrol khusus.
•
Setiap arahan perintah ditulis dari atas ke bawah dengan hanya satu awal dan satu akhir program.
•
Kumpulan pernyataan–pernyataan dapat dibentuk dalam modul–modul yang diberi nama tertentu.
2.12
Penelitian Relevan
Penelitian relevan yang telah dilakukan dan dapat mendukung dalam perancang program aplikasi kriptografi ini adalah sebagai berikut. •
http://tedi.heriyanto.net/download/ecc-thesis.pdf Dalam penelitian ini, peneliti menarik kesimpulan bahwa ada beberapa faktor yang mempengaruhi besarnya ukuran file ciphertext yang dihasilkan oleh program aplikasi kriptografi, di antaranya tergantung pada ukuran plaintext, ukuran kurva yang digunakan, dan parameter kurva yang dipilih.
•
Simulasi Penerapan Metode Elliptic Curve Cryptography (ECC) Untuk Mengatasi Kelemahan Sistem Keamanan Jaringan Global System for Mobile Communication (GSM) oleh Anastasia Ibrani Sagita, Uke Kurniawan Usman, dan Iwan Iwut. Pada penelitian tersebut, para peneliti menggunakan algoritma ECC sebagai metode kriptografi untuk mengatasi kelemahan sistem keamanan pada
56 jaringan GSM. Di samping itu, para peneliti juga menyatakan beberapa kelebihan dari algoritma ECC sebagai berikut. •
Besarnya field di mana kurva elliptic berada dapat dipilih, sehingga memudahkan implementasi ECC pada suatu batasan tertentu.
•
Besar kunci yang dihasilkan dengan metode ECC tidak terlalu besar, sehingga tidak membutuhkan banyak memori tambahan.
•
Proses kriptografi ECC tidak membutuhkan prosesor khusus, sehingga bisa mengurangi biaya implementasi.