Dekripsi Baby-step Giant-step TINJAUAN PUSTAKA

Berdasarkan Tabel 2.2. diperoleh ciphertext � , � , sebagai berikut : 14, 187 168,219 44, 214 181, 226 215, 55 92, 152 202, 9 Selanjutnya ciphertext dikirim ke Bob.

2.17. Dekripsi

Setelah ciphertext diterima, proses selanjutnya adalah mendekripsikan ciphertext menggunakan kunci publik p, � � dan kunci privat a. p, � � sebagai kunci publik dan a sebagai kunci privat, jika diberikan ciphertext � , � maka dihitung : � − ≡ � �− − mod dan � − � ≡ � − � ≡ mod . dengan m adalah plaintext. Algoritma dekripsi pesan : 1. Hitung � �− − mod Hitung � − � ≡ mod 2. Setelah plaintext m diperoleh, konversikan ke dalam karakter yang sesuai dengan kode ASCII, kemudian hasilnya digabungkan kembali. Bob telah menerima ciphertext dari Alice, ciphertext yang diperoleh adalah sebagai berikut : 14, 187 168,219 44, 214 181, 226 215, 55 92, 152 202, 9 Universitas Sumatera Utara Untuk itu Bob pertama kali menghitung p – 1 – a = 257 – 1 – 5 = 251. Kemudian menggunakan kunci publik p = 257 dan kunci privat a = 5, Bob melakukan perhitungan seperti pada tabel 2.3 : Tabel 2.3. Proses Dekripsi i � �� � 251 mod 257 �� � 251 mod 257 m 1 14 187 10 71 G 2 168 219 248 85 U 3 44 214 46 78 N 4 181 226 172 65 A 5 215 55 221 76 L 6 92 152 134 65 A 7 202 9 180 78 N Berdasarkan Tabel 2.3, Diketahui bahwa pesan tersebut adalah “GUNALAN”

2.18. Baby-step Giant-step

Keamanan ElGamal bergantung pada pemecahan masalah logaritma diskrit dengan modulo yang sangat besar Sharma et all, 2012. Metode Baby-step Giant-step merupakan salah satu metode pencarian dengan mencocokkan dua daftar. Metode ini bertujuan untuk menemukan a dari � mod . Dalam hal ini a disebut logaritma diskrit. Jika ingin menemukan a langkah pertama adalah memilih � ≈ √ − + 1 sehingga p – 1 ≤ N 2 . Hal ini dilakukan karena perhitungan akan melakukan hasil yang sama jika melebihi √ . Kemudian dibuat dua dafta dimana daftar pertama meningkatkan pemangkatan sebanyak satu, sedangkan daftar kedua meningkatkan pemangkatan sebanyak N. Universitas Sumatera Utara Daftar Baby-step : � j mod p untuk 0 ≤ j ≤ N. Daftar Giant-step : � � -Nk mod p untuk 0 ≤ k ≤ N. Daftar Baby-step akan diproses sebanyak √ − modulo p dikarenakan � adalah akar primitif. Daftar Giant-step mungkin akan diproses sedikit lama dikarenakan proses berjalan sebanyak perkalian dengan � . Jika ditemukan hasil yang sama di setiap daftar akan memakan banyak waktu jika p bernilai besar dapat ditulis � ≡ � � −� mod sehingga � +� ≡ � mod , maka ditemukanlah � = + � . Banyaknya langkah pada algoritma ini sekitar √ dan angka sebanyak N perlu disimpan Batten, 2013. Diberikan 20 a mod 257 = 93. a dapat dihitung dengan mengikuti langkah langkah berikut: 1. Pilih nilai � ≈ ⌈ √ − ⌉ + 1 . N ≈ ⌈ √ − ⌉ + 1 = 17. 2. Hitung daftar Baby-step dengan rumus � j mod p untuk 0 ≤ j N. Tabel 2.4. Proses Baby-step j � j mod 257 1 1 20 2 143 3 33 4 146 5 93 6 61 7 192 Universitas Sumatera Utara j � j mod 257 8 242 9 214 10 168 11 19 12 123 13 147 14 113 15 204 16 225 17 131 3. Hitung daftar Giant-step dengan rumus � � -Nk untuk 0 ≤ k N hinga ditemukan hasil yang cocok pada daftar Baby-step. Tabel 2.5. Proses Giant-step k � ∗ � - 17k 93 Perhitungan Giant-step dihentikan karena kecocokan yang ditemukan yaitu 20 5 ≡ 93 20 mod p, jadi menurut rumus a = j + Nk, a = 5 + 0 = 5. Oleh karena itu diperoleh a = 5 yang memenuhi perhitungan 20 5 mod 257 = 93

2.19. Penelitian yang Relevan