## EULER: Jurnal Ilmiah Matematika, Sains dan Teknologi
Journal Homepage: http://ejurnal.ung.ac.id/index.php/Euler DOI: https://doi.org/10.37905/euler.v11i2.23009 Desember 2023, Vol. 11, No. 2, pp. 361-371

## Sistem Kriptografi Klasik Dengan Memanfaatkan Orde Dari Grup Titik Pada Kurva Eliptik Bentuk Montgomery
Yanuar Bhakti Wira Tama 1* , Muhammad Firdhausi Fahmi 2
1,2 Program Studi Matematika, Institut Teknologi Kalimantan, Balikpapan, Indonesia *Penulis Korespondensi. Email: yanuar.bhakti@lecturer.itk.ac.id

## Abstrak
Kriptografi  kurva  eliptik  merupakan  salah  satu  bidang  aplikasi  dari  konsep  aljabar  dan  teori bilangan. Salah satu bentuk sistem kriptografi kurva eliptik adalah kriptografi kurva eliptik bentuk Montgomery. Dalam tulisan ini dibentuk suatu metode sistem kriptografi klasik yang terdiri dari enkripsi dan deskripsi yang terdiri dari dua puluh enam huruf alfabetik yang dipetakan ke titik-titik pada  kurva  eliptik  dengan  memanfaatkan  orde  dari  grup  titik  pada  kurva  eliptik  bentuk Montogomery.  Kemudian  diberikan  beberapa  contoh  implementasi  pada  kasus  sederhana  untuk verifikasi hasil.
Kata Kunci: Dekripsi; Enkripsi; Kriptografi; Kurva Eliptik; Montgomery

## Abstract
Elliptic curve cryptography is one of the application fields of algebra and number theory concepts. One form of elliptic curve cryptography is Montgomery elliptic curve cryptography. In this paper, a  method  for  a  classical  cryptographic  system  be  formulated,  consisting  of  encryption  and decryption involving twenty-six alphabetical letters which are mapped to points on an elliptic curve by  utilizing  the  order  of  the  point  group  on  the Montgomery  elliptic  curve.  Several  examples  of implementation in simple cases are given to verify the results.
Keywords: Cryptography; Decryption; Elliptic Curve; Encryption; Montgomery

## 1. Pendahuluan
Kriptografi merupakan salah satu bidang yang berkaitan dengan matematika atau lebih tepatnya aljabar dan teori bilangan yang tujuannya digunakan untuk menyembunyikan atau melindungi suatu informasi. Suatu kriptosistem terdiri dari lima-tupel (𝒫, 𝒞, 𝒦, ℰ, 𝒟) dengan 𝒫 merupakan himpunan plaintext atau pesan awal, 𝒞 merupakan himpunan chipertext atau pesan tersandi, 𝒦 merupakan kunci yang digunakan merahasiakan pesan, ℰ merupakan himpunan semua kemungkinan fungsi enkripsi yang  memetakan plaintext ke chipertext, sedangkan 𝒟 merupakan  semua  kemungkinan  fungsi deskripsi yang memetakan balik chipertext ke plaintext . Misalkan untuk suatu kunci 𝐾 ∈ 𝒦 terdapat suatu fungsi enkripsi 𝑒 𝐾 : 𝒫 → 𝒞 dan suatu fungsi deskripsi 𝑑 𝐾 : 𝒞 → 𝒫 , sehingga untuk setiap 𝑥 ∈ 𝒫 berlaku 𝑑 𝐾 (𝑒 𝐾 (𝑥)) = 𝑥 . Salah satu  bentuk sistem kriptografi adalah kriptografi kurva eliptik yang dikenalkan Miller [1] pada tahun 1986 dan Koblitz [2] pada tahun 1987. Penggunaan kurva eliptik selain sebagai sistem kriptografi dapat digabungkan dengan beberapa hal seperti optimasi video pada IoT,  steganografi,  transmisi  grafik  [3]–[7].  Seiring  dengan  perkembangan  ilmu,  banyak  muncul bentuk-bentuk kurva eliptik, salah satunya adalah kurva eliptik bentuk Montgomery.  Kurva eliptik bentuk Montgomery ini diperkenalkan oleh Montgomery [8] pada tahun 1987, dengan bentuk umum kurva memenuhi persamaan (1).
𝐵𝑦 2 = 𝑥 3 + 𝐴𝑥 2 + 𝑥 (1)
untuk  suatu  lapangan 𝕂 ,  dengan  nilai 𝐴, 𝐵 ∈ 𝕂 dan  parameter-parameternya  harus  memenuhi 𝐵(𝐴 2 − 4) ≠ 0 ∈ 𝕂 .  Salah  satu  keunggulan  dari  kurva  eliptik  bentuk  ini  adalah  kurva  ini  lebih mengutamakan  koordinat- 𝑥 dalam  operasi  titiknya.  Awalnya  kurva  eliptik  ini  digunakan  untuk mempercepat faktorisasi suatu bilangan, namun dari beberapa penelitian kurva bentuk ini juga dapat digunakan dalam sistem kriptografi. Salah satu contohnya adalah penggunaan pada curve25519 yang dilakukan oleh Bernstein [9], selain itu terdapat beberapa hasil terkait pengaplikasian kurva eliptik Montgomery seperti [10]–[14]. Himpunan titik-titik yang memenuhi persamaan (1) bersama dengan titik tak hingga 𝑂 membentuk suatu grup komutatif. Dengan memanfaatkan orde titik dari anggota grup akan dibentuk suatu sistem kriptografi klasik yang terdiri dari sistem enkripsi dan deskripsi.
Operasi penjumlahan (⊕) pada kurva eliptik awalnya didefinisikan pada himpunan bilangan real  terlebih  dahulu  dengan  menggunakan  persamaan  garis.  Misalkan  terdapat  dua  buah  titik 𝑃(𝑥 1 , 𝑦 1 ) dan 𝑄(𝑥 2 , 𝑦 2 ) dengan 𝑥 1 ≠ 𝑥 2 , bentuk suatu garis yang melalui kedua titik tersebut. Karena dari persamaan (1) terdiri dari polinom derajat tiga, maka garis tersebut memotong titik lain di kurva tersebut,  sebut  saja  titik 𝑃⨂𝑄(𝑥 3 , −𝑦 3 ) kemudian  hasil  penjumlahan  titik  diperoleh  dengan  cara mencerminkan  titik 𝑃⨂𝑄(𝑥 3 , −𝑦 3 ) terhadap  sumbu- 𝑥 ,  sehingga  diperoleh  hasil  penjumlahannya yaitu 𝑅(𝑥 3 , 𝑦 3 ) = 𝑃(𝑥 1 , 𝑦 1 )⨁𝑄(𝑥 2 , 𝑦 2 ), dengan  nilai-nilai 𝑥 3 dan 𝑦 3 memenuhi  persamaan- persamaan (2)-(4):
𝜆 = 𝑦 2 −𝑦 1 𝑥 2 −𝑥 1 (2)
𝑥 3 = 𝜆 2 − 𝐴 − 𝑥 1 − 𝑥 2 (3)
𝑦 3 = 𝜆(𝑥 1 − 𝑥 3 ) − 𝑦 1 (4)
Ilustrasi penjumlahan titik 𝑃(𝑥 1 , 𝑦 1 ) ⨁ 𝑄(𝑥 2 , 𝑦 2 ) dapat dilihat pada Gambar 1.
Gambar 1. Ilustrasi Penjumlahan titik 𝑃⨁ 𝑄
Perhatikan  pada  persamaan  (2),  penjumlahan  titik  tidak  dapat  dilakukan  ketika 𝑃 = 𝑄 dikarenakan  penyebut  dari  persamaan  (2)  bernilai  nol,  dengan  demikian  perlu  didefinisikan  ulang untuk penjumlahan titik yang sama. Misalkan ingin diperoleh hasil penjumlahan dari titik 𝑃(𝑥 1 , 𝑦 1 ) dan 𝑃(𝑥 1 , 𝑦 1 ) dengan 𝑥 1 ≠ 0 . Dengan memanfaatkan garis singgung di titik 𝑃(𝑥 1 , 𝑦 1 ) menggunakan turunan implisit, dapat diperoleh gradien garis singgung di titik 𝑃(𝑥 1 , 𝑦 1 ) . Kemudian garis singgung yang  sudah  diperoleh  memiliki  titik  perpotongan  lain  pada  kurva  yaitu 𝑃⨂𝑃(𝑥 4 , −𝑦 4 ) ,  lalu cerminkan terhadap sumbu- 𝑥 diperoleh hasil 𝑆(𝑥 4 , 𝑦 4 ) = 𝑃(𝑥 1 , 𝑦 1 )⨁𝑃(𝑥 1 , 𝑦 1 ) = 2 ⋅ 𝑃 , dengan nilai- nilai 𝑥 4 dan 𝑦 4 memenuhi persamaan-persamaan (5)-(7).
𝜆 = 3𝑥 1 2 +2𝐴𝑥 1 +1 2𝐵𝑦 1 (5)
𝑥 4 = 𝜆 2 − 𝐴 − 2 ⋅ 𝑥 1 (6)
𝑦 4 = 𝜆(𝑥 1 − 𝑥 4 ) − 𝑦 1 (7)
Operasi penjumlahan dengan  titik yang sama disebut sebagai operasi penggandaan. Ilustrasi penggandaan titik 𝑃(𝑥 1 , 𝑦 1 ) ⨁ 𝑃(𝑥 1 , 𝑦 1 ) dapat dilihat pada Gambar 2.
Gambar 2. Ilustrasi Penggandaan titik 𝑃 ⊕ 𝑃 = 2𝑃
Untuk operasi kasus-kasus yang lain cukup didefiniskan. Operasi-operasi yang terkait dengan balikan titik, titik tak hingga 𝑂 dan titik (0,0) didefinisikan pada persamaan (8)-(11).
𝑂⨁𝑂 = 𝑂 (8) (𝑥, 𝑦) ⊕ (𝑥, −𝑦) = (𝑥, −𝑦) ⊕ (𝑥, 𝑦) = 𝑂 (9) (𝑥, 𝑦)⨁𝑂 = 𝑂⨁(𝑥, 𝑦) = (𝑥, 𝑦) (10) (0,0)⨁(0,0) = 𝑂 (11)
Himpunan  titik-titik  kurva  eliptik  bentuk  Montgomery  ditambah  dengan  titik  tak  hingga 𝑂 membentuk grup komutatif atas operasi ⨁ dengan identitas 𝑂 , dan balikan titik (𝑥, 𝑦) adalah (𝑥, −𝑦) . Operasi pada kurva eliptik juga dapat didefinisikan pada lapangan ℤ 𝑝 untuk 𝑝 bilangan prima ganjil. Seluruh  operasi  kurva  eliptik  pada  lapangan ℤ 𝑝 mirip  dengan  operasi  pada  bilangan  real  yang digantikan oleh operasi analog di lapangan ℤ 𝑝 . Seperti operasi penjumlahan titik 𝑃(𝑥 1 , 𝑦 1 ) dan titik 𝑄(𝑥 2 , 𝑦 2 ) dengan 𝑥 1 ≠ 𝑥 2 pada persamaan (2)-(4) dapat digantikan dengan persamaan (12)-(14)
𝜆 = (𝑦 2 − 𝑦 1 ) ⋅ (𝑥 2 − 𝑥 1 ) −1 𝑚𝑜𝑑 𝑝 (12)
𝑥 3 = (𝜆 2 − 𝐴 − 𝑥 1 − 𝑥 2 ) 𝑚𝑜𝑑 𝑝 (13)
𝑦 3 = (𝜆(𝑥 1 − 𝑥 3 ) − 𝑦 1 ) 𝑚𝑜𝑑 𝑝 (14)
Untuk  kasus  penggandaan  titik 𝑃(𝑥 1 , 𝑦 1 ) dari  persamaan  (5)-(7)  dapat  diganti  menjadi persamaan (15)-(17)
𝜆 = (3𝑥 1 2 + 2𝐴𝑥 1 + 1) ⋅ (2𝐵𝑦 1 ) −1 𝑚𝑜𝑑 𝑝 (15)
𝑥 4 = (𝜆 2 − 𝐴 − 2 ⋅ 𝑥 1 ) 𝑚𝑜𝑑 𝑝 (16)
𝑦 4 = (𝜆(𝑥 1 − 𝑥 4 ) − 𝑦 1 ) 𝑚𝑜𝑑 𝑝 (17)
Selain itu, terdapat operasi perkalian skalar pada kurva eliptik yang dapat ditulis sebagai 𝑛𝑃 . Operasi skalar tersebut menyederhanakan penjumlahan sebanyak 𝑛 titik pada yang sama 𝑃 , atau
𝑛𝑃 = 𝑃 ⊕ 𝑃 ⊕ … ⊕ 𝑃 ⏟ 𝑛 𝑘𝑎𝑙𝑖 (18)
Dalam  operasi  kurva  eliptik  jika  berhadapan  dengan  perkalian  skalar  dari  suatu  titik membutuhkan operasi yang cukup banyak. Walaupun dapat dilakukan secara iterasi dengan aturan penjumlahan atau aturan penggadaan, namun membutuhkan waktu yang cukup lama. Karena dalam tulisan  ini  menggunakan  kurva  eliptik  bentuk  Montgomerry,  maka  dapat  digunakan  algoritma Montgomery Ladder yang dikenalkan oleh Lange [15] untuk mempercepat perkalian skalar suatu titik tersebut. Sebagai contoh, ingin diperoleh perkalian skalar 2023 ⋅ 𝑃 , maka secara konvensional dapat diselesaikan dengan menjumlahkan 2023 kali titik, tentu saja hal tersebut yang ingin dihindari. Dalam algoritma Montgomerry Ladder ubah terlebih dahulu unsur pengali skalar menjadi bilangan biner. Kemudian dari digit terakhir apakah digit bernilai 0 atau 1, lalu gunakan operasi-operasi penjumlahan atau penggandaan titik yang sudah disebutkan sebelumnya. kemudian ikuti Algoritma di bawah:
Gambar 3. Algoritma Montgomerry Ladder
Dengan  demikian,  untuk  bilangan  2023  dapat  diubah  menjadi  dalam  notasi  bilangan  biner menjadi  11111100111 2 atau  bilangan  biner  dengan  11  digit.  Dengan  menggunakan  algoritma Montgomery  ladder cukup  dengan  menggunakan  11  kali  iterasi  algoritma  atau  total  22  operasi, berbeda jauh dengan cara konvensional yaitu 2023.
Dalam suatu grup berhingga 𝐺 dengan identitas 𝑒 , untuk suatu 𝑎 ∈ 𝐺 bilangan asli terkecil 𝑛 yang memenuhi 𝑛 ⋅ 𝑎 = 𝑒 disebut orde dari 𝑎 . Sedangkan banyaknya anggota dari 𝐺 disebut sebagai order dari grup 𝐺 . Dalam grup titik kurva eliptik dengan identitas 𝑂 , setiap titik mempunyai orde. Orde dari titik 𝑃 pada kurva eliptik berorde 𝑛 , jika memenuhi 𝑛𝑃 = 𝑂 . Sebagai contoh, titik 𝑂 akan berorde 1 karena merupakan identitas, sedangkan titik (0,0) akan berorde 2 karena telah didefinisikan (0,0) ⊕ (0,0) = 𝑂 .
Sistem enkripsi dan dekripsi yang digunakan dalam tulisan ini memanfaatkan orde dari setiap elemen kurva eliptik pada persamaan (1). Dalam sistem kriptografi ini menggunakan plaintext (𝒫) dan chipertext (𝒞) huruf alfabet A-Z. Untuk enkripsi (𝑒 𝐾 ) gunakan kunci privat 𝐾 = 𝑛 𝑏 yang saling prima dengan order grup kurva eliptik, lalu kalikan pada suatu plaintext 𝑝 ∈ 𝑃 seperti pada persamaan (19).
𝑒 𝐾 (𝑝) = 𝑛 𝑏 ⋅ 𝑝 (19)
Sedangkan pada deskripsi pesan (𝑑 𝐾 ) pilih suatu nilai 𝑚 𝑏 , sehingga perkalian dari 𝑚 𝑏 dan 𝑛 𝑏 menghasilkan 1 dalam modulo 𝑜 𝑖 dengan 𝑜 𝑖 merupakan setiap orde dari anggota titik di kurva eliptik. Hal itu dilakukan untuk memastikan bahwa perkalian skalar yang dipilih untuk enkripsi mempunyai balikan, sehingga jika dikalikan menghasilkan 1. Untuk suatu chipertext 𝑐 ∈ 𝐶 kalikan dengan 𝑚 𝑏 , sehingga diperoleh hasil persamaan (20).
𝑑 𝐾 (𝑐) = 𝑚 𝑏 ⋅ 𝑐 = 𝑚 𝑏 ⋅ (𝑛 𝑏 ⋅ 𝑝) = 𝑚 𝑏 ⋅ 𝑛 𝑏 ⋅ 𝑝 = 𝑝 (20)
Tulisan ini bertujuan untuk membuat sistem kriptografi yang terdiri dan enkripsi dan dekripsi pesan dengan memanfaatkan orde dari anggota titik pada kurva eliptik bentuk Montgomerry. Kurva eliptik didefinisikan atas lapangan hingga ℤ 𝑝 untuk suatu bilangan prima 𝑝 . Himpunan Plaintext dan Chipertext sistem  ini  menggunakan  dua  puluh  enam  huruf  alfabetik.  Terakhir,  implementasi sederhana untuk verifikasi hasil teori yang sudah diusulkan.

## 2. Metode Penelitian
Penelitian ini dilaksanakan dengan metode studi literatur. Tahapan penelitian dapat dilihat pada Gambar 4.

## Gambar 4. Diagram Tahap Penelitian
Tahap-tahap penelitian dari Gambar 4 dapat
1. Menentukan parameter-parameter kurva eliptik bentuk Montgomery yang terdiri dari banyak koordinat- 𝑥 yang berbeda sebanyak dua puluh enam.
2. Tentukan orde dari setiap titik pada kurva eliptik yang digunakan.
3. Petakan titik-titik pada kurva eliptik ke setiap huruf alfabetik berdasarkan orde titik.
4. Pilih  kunci  enkripsi  dan  dekripsi  yang  sesuai,  kemudian  implementasi  dengan  beberapa contoh sederhana untuk memverifikasi sistem kriptogtafi klasik.
5. Penarikan kesimpulan dari penelitian.

## 3. Hasil dan Pembahasan
Berdasarkan metode yang telah dipaparkan, bagian hasil dan pembahasan dibagi menjadi empat bagian  yaitu,  pemilihan  parameter  kurva  eliptik,  perhitungan  orde  titik,  pemetaan  titik,  dan implementasi.  Dalam  hal  ini  hanya  dipilih  satu  pemilihan  parameter  saja  karena  berfokus  pada penggunaan kurva eliptik untuk sistem kriptografi klasik yang biasanya digunakan dalam kriptografi kunci publik.

## 3.1 Pemilihan Parameter Kurva Eliptik
Agar diperoleh himpunan plaintext dan chipertext yang terdiri dari 26 huruf alfabetik haruslah himpunan  titik  tersebut  terdiri  dari  26  titik,  atau  mempunyai  subgrup  berorde  26, atau  banyaknya koordinat- 𝑥 yang  berbeda  ada  26.  Dalam  penulisan  ini  dipilih  kurva  eliptik  Montgomery  dengan parameter 𝐴 = 5 dan 𝐵 = 1 atas lapangan hingga ℤ 37 , atau persamaan kurva eliptik yang digunakan memenuhi persamaan (21).
𝑦 2 ≡ 𝑥 3 + 5𝑥 2 + 𝑥 𝑚𝑜𝑑 37 (21)
Banyaknya titik yang memenuhi persamaan (21) sebanyak 48 titik, dengan koordinat- 𝑥 yang berbeda  terdapat  26  titik.  Nilai  koordinat- 𝑥 yang  memenuhi  persamaan  (21)  selain  titik 𝑂 adalah 0,1,2,3,4,5,7,8,9,10,13,14,15,16,17,18,19,20,24,25,26,28,33,35, dan 36 .

## 3.2 Perhitungan Orde Titik
Karena titik 𝑂 merupakan identitas grup, maka dalam menentukan orde titik 𝑃 cukup jumlahkan titik 𝑃 terus menerus sampai diperoleh titik 𝑂 . Sebagai contoh, jika diambil titik 𝑃(1,9) pada kurva eliptik tersebut diperoleh
1. Untuk penjumlahan 𝑃 ⊕ 𝑃 = 2𝑃 atau penggandaan dari persamaan (15)-(17) diperoleh
𝜆 = (3 + 10 + 1) ⋅ (18) −1 𝑚𝑜𝑑 37 = 9 𝑚𝑜𝑑 37
𝑥 = (9 2 − 5 − 2) 𝑚𝑜𝑑 37 = 0 𝑚𝑜𝑑 37 𝑦 = (9(1 − 0) − 9) 𝑚𝑜𝑑 37 = 0 𝑚𝑜𝑑 37
Diperoleh hasil penggandannya adalah (0,0) .
2. Untuk  penjumlahan 2𝑃(0,0) ⊕ 𝑃(1,9) = 3𝑃 dengan  menggunakan  persamaan  (12)-(14) diperoleh
𝜆 = (9 − 0) ⋅ (1 − 0) −1 𝑚𝑜𝑑 37 = 9 𝑚𝑜𝑑 37
𝑥 = (9 2 − 5 − 1 − 0) 𝑚𝑜𝑑 37 = 1 𝑚𝑜𝑑 37
𝑦 = (9(0 − 1) − 0)𝑚𝑜𝑑 37 = −9 𝑚𝑜𝑑 37 = 28 𝑚𝑜𝑑 37
Diperoleh hasil penjumlahannya adalah (1, −9) atau ekivalen dengan (1,28)
3. Kemudian jumlahkan lagi 3𝑃(1,28) ⊕ 𝑃(1,9) = 4𝑃 . Berdasarkan pendefinisian operasi pada persamaan (9) diperoleh 4𝑃 = 𝑂 .
Dengan demikian dapat disimpulkan bahwa titik (1,9) berorde 4.
Daftar titik-titik  yang telah diperoleh dari pemilihan parameter kurva eliptik pada persamaan (21) beserta orde dari elemen grup-nya dapat dilihat pada Tabel 1.
Tabel 1. Tabel orde elemen grup kurva eliptik Titik O (0,0) (1,9) (1,28) (2,17) (2,20) (3,1) (3,36) (4,0) (5,12) (5,25) (7,15) (7,22) (8,10) (8,27) Orde 1 2 4 8 12 2 8 3 24 Titik (9,12) (9,25) (10,17) (10,22) (13,13) (13,24) (14,1) (14,36) (15,1) (15,36) (16,8) (16,29) (17,14) (17,23) (18,12) (18,25) (19,5) (19,32) Orde 6 12 24 24 24 8 24 24 12 Titik (20,17) (20,20) (24,2) (24,35) (25,4) (25,33) (26,15) (26,22) (28,0) (33,7) (33,30) (35,11) (35,26) (36,15) (36,22) Orde 12 24 12 12 2 6 24 4
Dari Tabel 1 orde titik-titik yang mungkin adalah 1,2,3,4,8,12, dan 24. Untuk pemilihan kunci harus memenuhi persamaan (22)-(23)
𝐹𝑃𝐵(𝑛 𝑏 , 24) = 1 (22)
𝑛 𝑏 ⋅ 𝑚 𝑏 = 1 𝑚𝑜𝑑 𝑜 𝑖 (23)
dengan 𝑛 𝑏 dan 𝑚 𝑏 masing-masing  menyatakan  kunci  untuk  enkripsi  dan  dekripsi,  sedangkan 𝑜 𝑖 menyatakan orde dari grup selain 1. Dengan demikian, pasangan-pasangan yang mungkin adalah
(𝑛 𝑏 , 𝑚 𝑏 ) = {(1,1); (5,5), (7,7), (11,11), (13,13), (17,17), (19,19), (23,23)}

## 3.3 Pemetaan Titik
Berdasarkan  dua  puluh  enam  huruf  dalam  alfabetik  yang  digunakan,  petakan  setiap  titik koordinat- 𝑥 dengan  aturan  frekuensi  yang  sering  muncul  dipetakan  ke  koordinat- 𝑥 dengan  orde tertinggi  yaitu  24  sampai  frekuensi  yang  jarang  muncul  dipetakan  ke  koordinat- 𝑥 dengan  orde terendah berdasarkan hasil dari Grigas [16], hasil pemetaan dapat dilihat pada Tabel 2.
Tabel 2. Tabel pemetaan huruf ke titik kurva eliptik Huruf A B C D E F G H I Titik (24,2) (24,35) (36,15) (36,22) (19,5) (19,32) (20,17) (20,20) (35,11) (35,26) (16,8) (16,29) (2,17) (2,20) (26,15) (26,22) (17,14) (17,23) Huruf J K L M N O P Q R Titik (4,0) (7,15) (7,22) (25,4) (25,33) (3,1) (3,36) (14,1) (14,36) (15,1) (15,36) (5,12) (5,25) O (8,10) (8,27) Huruf S T U V W X Y Z Titik (13,13) (13,24) (18,12) (18,25) (10,17) (10,22) (1,9) (1,28) (33,7) (33,30) (28,0) (9,12) (9,25) (0,0)

## 3.4 Implementasi Sistem Kriptografi
Setelah  semua  titik  sudah  dipetakan  ke  masing-masing  huruf  alfabetik,  sudah  saatnya  dapat diimplementasikan sistem kriptografi klasik dengan menggunakan kurva eliptik tersebut. Perhatikan bahwa, dalam penggunaan sistem kriptografi klasik ini tidak hanya menggunakan teori bilangan saja seperti kriptografi klasik lainnya, namun juga digunakan beberapa konsep aljabar terkait grup dan lapangan,  sehingga  hasilnya  tidak  terlihat  membentuk  pola  seperti  kriptografi  klasik  yang menggunakan  teori  bilangan  saja.  Pertama,  pilih  kunci  privat 𝑛 𝑏 = 5 akibatnya  berdasarkan persamaan  (22)-(23)  nilai  yang  mungkin  untuk 𝑚 𝑏 adalah  5.  Sebagai  contoh  penerapan  sistem enkripsi  dan  deskripsi  ini  dengan  nilai 𝑛 𝑏 dan 𝑚 𝑏 yang  terpilih  dicoba  dengan  kata “MATEMATIKA”.  Misalkan  Alice  ingin  mengirimkan  pesan  tersebut  kepada  Bob  maka  terdapat kemungkinan 2 10 titik  yang  dipilih.  Pilih  salah  satu  kombinasi  titik  yang  mungkin  dan  enkripsi pesannya dengan perkalian skalar 𝑛 𝑏 = 5 .
Dalam  mengenkripsi  setiap  karakter  dapat  menggunakan  algoritma Montgomerry  Ladder . Karena angka 5 mempunyai bentuk representatif biner 101 maka terdapat 3 buah langkah algoritma. Jika  mengikuti  langkah-langkah  dari  algoritma Montgomerry  Ladder dapat  dilihat  dalam  sistem perkalian skalar titik yang merepresentasikan huruf M yaitu titik (3,1) diperoleh hasil:
1. Inisiasi titik pertama 𝑅 0 = 𝑂 dan 𝑅 1 = (3,1)
2. Karena digit terakhirnya 1, maka 𝑅 0 = 𝑅 0 + 𝑅 1 = (3,1) dan 𝑅 1 = 2 ⋅ 𝑅 1 = (16,29) 3. Digit ke-2 nya adalah 0, maka 𝑅 0 = 𝑅 0 + 𝑅 0 = (16,29) dan 𝑅 1 = 𝑅 0 + 𝑅 1 = (1,9)
4. Digit pertamanya adalah 1, maka 𝑅 0 = 𝑅 0 + 𝑅 1 = (25,33) dan 𝑅 1 = 2 ⋅ 𝑅 1 = (0,0)
5. Ambil nilai dari 𝑅 0 lalu simpan sebagai hasil dari 5 ⋅ 𝑃
Dari penggunaan algoritma Montgomerry Ladder titik (3,1) yang berkorespondensi dengan huruf M menghasilkan titik 5𝑃(25,33) yang berkorespondensi pada Tabel 2 merupakan huruf L. Jika semua pesan dikenakan algoritma Montgomerry Ladder diperoleh hasil enkripsi dari kata “MATEMATIKA” seperti pada Tabel 3.
Tabel 3. Contoh Enkripsi Pesan MATEMATIKA Pesan M A T E M A T I K A P (3,1) (24,2) (18,12)  (35,11)  (3,36)  (24,35)  (18,25)  (17,14)  (7,15) (24,2) 5 ⋅ 𝑃 (25,33)  (18,12) (24,2) (17,23)  (25,4)  (18,25)  (24,35)  (35,26)  (7,22)  (18,12) Chiper L T A I L T A E K T
Dari  hasil  Tabel  3  dapat  dilihat  bahwa  untuk  karakter  yang  sama  yaitu  huruf  M  yang menggunakan  inisiasi  yang  berbeda  yaitu  (3,1)  dan  (3,36)  diperoleh  hasil  enkripsi  berturut-turut adalah titik (25,33) dan (25,4) yang mempunyai koordinat- 𝑥 yang sama. Begitu juga dengan huruf A yang menggunakan titik (24,2) dan (24,35) diperoleh hasil enkripsi berturut-turut adalah (18,12) dan (18,25) yang juga mempunyai koordinat- 𝑥 yang berkorespondensi dengan huruf T. Kasus serupa juga ditemukan pada huruf T. Diperoleh hasil enkripsi pesan “MATEMATIKA” dari Alice kepada Bob adalah “LTAILATEKT”.
Kemudian untuk deskripsi pesan dari suatu chipertext gunakan 𝑚 𝑏 = 5 , nilai tersebut dipilih karena memenuhi
𝑛 𝑏 ⋅ 𝑚 𝑏 = 1 𝑚𝑜𝑑 2 𝑛 𝑏 ⋅ 𝑚 𝑏 = 1 𝑚𝑜𝑑 3 𝑛 𝑏 ⋅ 𝑚 𝑏 = 1 𝑚𝑜𝑑 4 𝑛 𝑏 ⋅ 𝑚 𝑏 = 1 𝑚𝑜𝑑 6 𝑛 𝑏 ⋅ 𝑚 𝑏 = 1 𝑚𝑜𝑑 8 𝑛 𝑏 ⋅ 𝑚 𝑏 = 1 𝑚𝑜𝑑 12 𝑛 𝑏 ⋅ 𝑚 𝑏 = 1 𝑚𝑜𝑑 24
Setelah Bob mendapatkan pesan enkripsi dari Alice, Bob menggunakan perkalian skalar dengan 𝑚 𝑏 = 5 pada chipertext yang  diterima.  Untuk  mendeskripsi  pesan  sebelumnya  dapat  dilakukan dengan algoritma Montgomerry Ladder . Karena angka 5 mempunyai bentuk representatif biner 101 maka  terdapat  3  buah  langkah  algoritma.  Jika  mengikuti  langkah-langkah  dari  Algoritma Montgomerry Ladder dapat dilihat dalam sistem perkalian skalar titik (25,33).
1. Inisiasi titik pertama 𝑅 0 = 𝑂 dan 𝑅 1 = (25,33)
2. Karena digit terakhirnya 1, maka 𝑅 0 = 𝑅 0 + 𝑅 1 = (25,33) dan 𝑅 1 = 2 ⋅ 𝑅 1 = (16,8)
3. Digit ke-2 nya adalah 0, maka 𝑅 0 = 2 ⋅ 𝑅 0 = (16,8) dan 𝑅 1 = 𝑅 0 + 𝑅 1 = (1,9) 4. Digit ke-1 nya adalah 1, maka 𝑅 0 = 𝑅 0 + 𝑅 1 = (3,1) dan 𝑅 1 = 2 ⋅ 𝑅 1 = (0,0)
5. Ambil nilai dari 𝑅 0 lalu simpan sebagai hasil dari 5 ⋅ 𝐶
Hasil deskripsi dari huruf L tersebut adalah huruf yang berkorespondensi dengan titik 5𝐶(3,1) yaitu huruf M berdasarkan Tabel 2. Jika semua  pesan dikenakan algoritma Montogomerry Ladder diperoleh hasil enkripsi dari “LTAILAEKT” seperti terlihat pada Tabel 4.
Tabel 4. Contoh Dekripsi Pesan LTAILAEKT Chiper L T A I L T A E K T C (25,33)  (18,12)  (24,2)  (17,23)  (25,4)  (18,25)  (24,35)  (35,26)  (7,22)  (18,12) 5 ⋅ 𝐶 (3,1) (24,2)  (18,12)  (35,11)  (3,36)  (24,35)  (18,25)  (17,14)  (7,15) (24,2) Pesan M A T E M A T I K A
Dapat diperoleh bahwa hasil deskripsi titik (25,33) kembali ke titik awalnya yaitu titik (3,1). Titik (25,3) termasuk titik yang mempunyai orde 12, perlu dilakukan verifikasi tambahan untuk titik hasil enkripsi yang mempunyai orde selain 12. Pilih hasil enkripsi titik (18,12) yang mempunyai orde 24.
1. Inisiasi titik pertama 𝑅 0 = 𝑂 dan 𝑅 1 = (18,12)
2. Karena digit terakhirnya 1, maka 𝑅 0 = 𝑅 0 + 𝑅 1 = (18,12) dan 𝑅 1 = 2 ⋅ 𝑅 1 = (3,1)
3. Digit ke-2 nya adalah 0, maka 𝑅 0 = 2 ⋅ 𝑅 0 = (3,1) dan 𝑅 1 = 𝑅 0 + 𝑅 1 = (2,17) 4. Digit ke-1 nya adalah 1, maka 𝑅 0 = 𝑅 0 + 𝑅 1 = (24,2) dan 𝑅 1 = 2 ⋅ 𝑅 1 = (1,9)
5. Ambil nilai dari 𝑅 0 lalu simpan sebagai hasil dari 5 ⋅ 𝐶
Hasil deskripsi pesan Alice yang dibaca Bob adalah “MATEMATIKA”.
Untuk  mengecek  ulang  sistem  ini,  gunakan  kunci  privat  yang  lain  yaitu 𝑛 𝑏 = 11 yang mempunyai  pasangan 𝑚 𝑏 = 11 .  Penerapan  sistem  enkripsi  dan  deskripsi  ini  menggunakan  kata “INDONESIA”. Pilih salah satu kombinasi titik yang mungkin dan hasil enkripsi dengan 𝑛 𝑏 = 11 seperti dilihatkan pada Tabel 5.
Tabel 5. Contoh Enkripsi Pesan INDONESIA Pesan I N D O N E S I A P (17,14)  (14,1)  (20,17)  (15,1)  (14,36)  (35,11)  (13,13)  (17,23)  (24,2) 11 ⋅ 𝑃 (24,2) (16,8)  (35,26)  (5,12)  (16,29)  (18,25)  (20,17)  (24,35)  (17,14) Chiper A F E P F T D A I
Hasil  enkripsi  dari  Tabel  5  dapat  dilakukan  dengan  algoritma Montgomerry  Ladder .  Karena angka 11 mempunyai bentuk representatif biner 1011 maka terdapat 4 buah langkah algoritma. Jika mengikuti langkah-langkah dari Algoritma Montgomerry Ladder dapat dilihat dalam sistem perkalian skalar titik (17,14).
1. Inisiasi titik pertama 𝑅 0 = 𝑂 dan 𝑅 1 = (17,14)
2. Karena digit terakhirnya 1, maka 𝑅 0 = 𝑅 0 + 𝑅 1 = (17,14) dan 𝑅 1 = 2 ⋅ 𝑅 1 = (25,33)
3. Digit ketiganya adalah 1, maka 𝑅 0 = 𝑅 0 + 𝑅 1 = (2,17) dan 𝑅 1 = 2 ⋅ 𝑅 1 = (16,8)
4. Digit keduanya adalah 0, maka 𝑅 0 = 𝑅 0 + 𝑅 0 = (1,9) dan 𝑅 1 = 𝑅 0 + 𝑅 1 = (18,25)
5. Digit pertamanya adalah 1, maka 𝑅 0 = 𝑅 0 + 𝑅 1 = (24,2) dan 𝑅 1 = 2 ⋅ 𝑅 1 = (3,36) 6. Ambil nilai dari 𝑅 0 lalu simpan sebagai hasil dari 11 ⋅ 𝑃
Diperoleh hasil enkripsi titik (17,14) menjadi titik (24,2) . Jika algoritma dilakukan pada huruf lain diperoleh hasil enkripsi kata “INDONESIA” menjadi “AFEPFTDEI”.
Setelah Bob mendapatkan pesan enkripsi dari Alice, Bob menggunakan perkalian skalar dengan 𝑚 𝑏 = 11 pada chipertext yang diterima, hasil dekripsi pesannya dapat dilihat pada Tabel 6.
Tabel 6. Contoh Dekripsi Pesan AFEPFTDEI Chiper A F E P F T D E I C (24,2) (16,8)  (35,26)  (5,12)  (16,29)  (18,25)  (20,17)  (24,35)  (17,14) 11 ⋅ 𝐶 (17,14)  (14,1)  (20,17)  (15,1)  (14,36)  (35,11)  (13,13)  (17,23)  (24,2) Pesan I N D O N E S I A
Hasil dekripsi dari Tabel 6 dapat dilakukan juga dengan algoritma Montgomerry Ladder dengan 𝑚 𝑏 = 11 .  Sebagai  contoh,  deskripsikan  titik (20,17) atau  huruf  D.  Karena  angka  11  mempunyai bentuk  representatif  biner  1011  maka  terdapat  4  buah langkah  algoritma.  Jika  mengikuti langkah- langkah dari algoritma Montgomerry Ladder dapat dilihat dalam sistem perkalian skalar titik (20,17). 1. Inisiasi titik pertama 𝑅 0 = 𝑂 dan 𝑅 1 = (20,17)
2. Karena digit terakhirnya 1, maka 𝑅 0 = 𝑅 0 + 𝑅 1 = (20,17) dan 𝑅 1 = 2 ⋅ 𝑅 1 = (3,36)
3. Digit ketiganya adalah 1, maka 𝑅 0 = 𝑅 0 + 𝑅 1 = (5,25) dan 𝑅 1 = 2 ⋅ 𝑅 1 = (16,8)
4. Digit keduanya adalah 0, maka 𝑅 0 = 𝑅 0 + 𝑅 0 = (1,28) dan 𝑅 1 = 𝑅 0 + 𝑅 1 = (14,36)
5. Digit pertamanya adalah 1, maka 𝑅 0 = 𝑅 0 + 𝑅 1 = (13,13) dan 𝑅 1 = 2 ⋅ 𝑅 1 = (25,33) 6. Ambil nilai dari 𝑅 0 lalu simpan sebagai hasil dari 11 ⋅ 𝑃
Hasil deskripsi pesan dari titik (20,17) adalah titik (13,13) atau huruf yang bersesuaian adalah huruf S. Jika titik lain diperlakukan dengan algoritma yang sama diperoleh hasil dekripsi pesan yang dibaca oleh Bob adalah “INDONESIA”.

## 4. Kesimpulan
Hasil  penelitian  menghasilkan  suatu  sistem  kriptografi  klasik  untuk  enkripsi  dan  deskripsi sederhana dengan plaintext dan chipertext terdiri dari 26 huruf alfabetik. Proses enkripsi dan deskripsi memanfaatkan  orde  dari  titik  pada  grup kurva  eliptik  bentuk  Montgomery.  Implementasi  dari  dua kasus sederhana juga sudah dilakukan dengan hasil yang sudah sesuai dengan teori yang diberikan.

## Referensi
[1]  V. S. Miller, “Use of Elliptic Curves in Cryptography,” in LNCS , 1986, pp. 417–426.
[2]  N. Koblitz, “Elliptic Curve Cryptosystems,” Math Comput , vol. 48, pp. 203–209, 1987.
[3]  B. S. A. Alhayani et al. , “Optimized video internet of things using elliptic curve cryptography based encryption and decryption,” Computers and Electrical Engineering , vol. 101, Jul. 2022, doi: 10.1016/j.compeleceng.2022.108022.
[4]  E. Hureib, A. Gutub, E. S. Bin Hureib, and A. A. Gutub, “Enhancing Medical Data Security via Combining  Elliptic  Curve  Cryptography  and  Image  Steganography,” IJCSNS  International Journal of Computer Science and Network Security , vol. 20, no. 8, 2020, [Online]. Available: https://www.researchgate.net/publication/344311992
[5]  R.  I.  Abdelfatah,  “Secure  Image  Transmission  Using  Chaotic-Enhanced  Elliptic  Curve Cryptography,” IEEE Access , vol. 8,
pp. 3875–3890, 2020, doi:
10.1109/ACCESS.2019.2958336.
[6]  S.  Di  Matteo,  L.  Baldanzi,  L.  Crocetti,  P.  Nannipieri,  L.  Fanucci,  and  S.  Saponara,  “Secure elliptic curve crypto-processor for real-time iot applications,” Energies (Basel) , vol. 14, no. 15, Aug. 2021, doi: 10.3390/en14154676.
[7]  M. Alkhatib, “High-Speed and Secure Elliptic Curve Cryptosystem for Multimedia Applications ECC Elliptic Curve Cryptosystem RLA Right to Lift Algorithm SPA Simple Power Attack STA Simple  Time  Attack  SM  Sequential  Multiplication  SA  Sequential  Addition  PM  Parallel Multiplier TSM Time-consumption for one sequential multiplication TM Time-consumption for one multiplication operation TKP Time-consumption for scaler multiplication GF Galious Field NAF Non-Adjacent-Form,” ( IJACSA ) International Journal of Advanced Computer Science and Applications , vol. 11, no. 9, 2020.
[8]  P. L. Montgomery, “Speeding the Pollard and Elliptic Curve Methods of Factorization,” Math Comput , vol. 48, pp. 243–264, 1987.
[9]  D. J. Bernstein, “Curve25519: new Diffie-Hellman speed records”, in Public Key Cryptography- PKC 2006: 9th International Conference on Theory and Practice in Public-Key Cryptography, New York, NY, USA , 2006, pp. 207–228.
[10]  K.  Okeya,  H.  Kurumatani, and  K.  Sakurai,  “Elliptic  Curves  with  the  Montgomery-Form  and Their Cryptographic Applications,” in Public Key Cryptography: Third International Workshop on  Practice  and  Theory  in  Public  Key  Cryptosystems ,  2000,  pp.  238–257.  doi: doi.org/10.1007/978-3-540-46588-1_17.
[11]  T. Oliveira, J. López, and F. Rodríguez-Henríquez, “The Montgomery ladder on binary elliptic curves,” J Cryptogr Eng , vol. 8, pp. 241–258, 2018, doi: doi.org/10.1007/s13389-017-0163-8.
[12]  I. Muchtadi-Alamsyah, Y. Bhakti, and W. Tama,  “Implementation of Elliptic Curve25519 in Cryptography”,  in Theorizing  STEM  Education  in  the  21st  Century ,  2020,  p.  189.  [Online]. Available: www.intechopen.com
[13]  D.  Basu  Roy  and  D.  Mukhopadhyay,  “High-Speed  Implementation  of  ECC  Scalar Multiplication in GF(p) for Generic Montgomery Curves,” IEEE Trans Very Large Scale Integr VLSI Syst , vol. 27, no. 7, pp. 1587–1600, Jul. 2019, doi: 10.1109/TVLSI.2019.2905899.
[14]  A.  M.  Awaludin,  H.  T.  Larasati,  and  H.  Kim,  “High-Speed  and  Unified  ECC  Processor  for Generic Weierstrass Curves over GF(p) on FPGA,” Sensors , vol. 21, no. 4, p. 1451, Feb. 2021, doi: 10.3390/s21041451.
[15]  D. J. Bernstein and T. Lange, “Montgomery curves and the Montgomery ladder,” Cryptology ePrint  Archive, vol.  293,  2017.  Accessed:  Nov.  12,  2023.  [Online].  Available: http://eprint.iacr.org/2017/293
[16]  G.  Grigas  and  A.  Juškevičienė,  “Letter  Frequency  Analysis  of  Languages  Using  Latin Alphabet,” International  Linguistics  Research ,  vol.  1,  no.  1,  p.  p18,  Mar.  2018,  doi: 10.30560/ilr.v1n1p18.