Algoritma ElGamal Implementasi Algoritma Elgamal Dengan Pembangkit Bilangan Prima Lehmann Dan Algoritma Least Significant Bit (Lsb) Dengan Cover Image Bitmap Untuk Keamanan Data Text

2.3 Algoritma ElGamal

Algoritma ElGamal awalnya digunakan untuk tanda tangan digital, namun kemudian dimodifikasi untuk digunakan dalam proses enkripsi dan dekripsi. Algoritma ini merupakan salah satu algoritma asimetris, dimana untuk enkripsi menggunakan kunci public dan untuk dekripsi menggunakan kunci private. Kelebihan dari enkripsi ini adalah untuk plaintext yang sama, setiap kali dienkripsi akan menghasilkan ciphertext yang berbeda, karena session key yang dihasilkan berbeda untuk setiap kali proses enkripsi [7]. Kelemahannya adalah panjang ciphertext-nya akan dua kali dari panjang plaintext-nya. Berikut merupakan proses enkripsi dan dekripsi algoritma ElGamal, dimana diasumsikan Alice ingin mengirim pesan m kepada Bob, dan m € {0,1, ......., p-1} [7] . a. Proses pembangkit kunci ElGamal. 1. Bob memilih sebuah bilangan prima p secara acak dan α adalah akar primitive root modulo p. 2. Bob kemudian memilih sebuah bilangan integer a dimana 2 ≤ a ≤ p-1 dan menghitung � � ��� � 3. Bob memiliki kunci public �, �, � � dan kunci private-nya adalah a. b. Proses enkripsi pada algoritma ElGamal. 1. Alice memperoleh kunci public dari Bob �, �, � � . 2. Dia memilih bilangan acak b p-1 . 3. Dia menghitung � � ��� � dan �� �� ��� � . 4. Alice selanjutnya mengirim ciphertext � = � � , �� �� . c. Proses dekripsi pada algoritma ElGamal. 1. Bob menggunakan kunci private untuk menghitung � � −� ≡ � � �−1−� ��� � . 2. Selanjutnya dia mendekripsi m dengan menghitung � � −� �� ��� � . Keterangan : 1. m merupakan nilai desimal masing-masing karakter dari plaintext. 2. α adalah sebuah bilangan acak yang nilainya merupakan akar primitive root dari modulo p. 3. a merupakan kunci privat yang nilainya merupakan bilangan prima. 4. b merupakan bilangan ganjil yang dirandom. 5. p merupakan bilangan prima yang dirandom. 8 Universitas Sumatera Utara

2. 3.1 Pembangkit Bilangan Prima Lehmann

Untuk membangkitkan bilangan acak prima dapat menggunakan metode Lehmann. Adapun langkah-langkah untuk mengetahui sebuah bilangan p prima atau tidak [10] adalah sebagai berikut: 1. Pilih sebuah bilangan acak a yang lebih kecil dari p. 2. Hitunga nilai � �−12 ��� � . 3. Jika � �−12 ≢ 1 ��� � dan � �−12 ≢ −1 ��� �, maka p dipastikan bukan bilangan prima. 4. Jika � �−12 ≡ 1 �� − 1��� �,kemungkinan p bukan bilangan prima tidak lebih dari 50 . Keterangan : p merupakan bilangan yang ingin dicek apakah merupakan bilangan prima atau tidak a adalah bilangan acak yang nilainya lebih kecil dari p

2. 3.2 Contoh Perhitungan ElGamal

Berikut adalah contoh proses perhitungan enkripsi dan dekripsi menggunakan algoritma ElGamal: Andi ingin mengirim sebuah pesan Hermanda kepada ani. ani memilih sebuah kunci privat 223, nilai bilangan primanya 21787, sedangkan nilai yang primitive root terhadapat bilangan primanya adalah 150. Berikut adalah proses yang dilakukan dalam pengiriman pesan : 1. Proses Generate Kunci Hitung: � � ��� �= 7279 Hasil : Kunci publik → p = 21787, � = 150, � � = 7279, Kunci privat → p =21787, a=223. 2. Proses Enkripsi Pesan : Pertama, ubah karakter ke decimal menggunakan tabel ascii, kemudian bangkitkan nilai b, dimana syaratnya b p-1. H=72 = b = 9832 e=101= b= 9583 r=114 = b = 1939 9 Universitas Sumatera Utara m= 109 = b = 13902 a= 97 = b = 18045 n=110 = b = 12817 d=100= b =15641 a=97= b =1317 Kedua, Lakukan perhitungan ciphertext dengan rumus { � � ��� � , �� �� ��� � .} � � ��� � = 150 9832 ��� 21787 = 21715 150 9583 ��� 21787 = 3416 150 1939 ��� 21787 = 19092 150 13902 ��� 21787 = 3372 150 18045 ��� 21787 = 21337 150 12817 ��� 21787 = 6487 150 15641 ��� 21787 = 14118 150 1317 ��� 21787 = 19426 �� �� ��� � = 72�7279 9832 ��� 21787 = 8248 101 �7279 9583 ��� 21787 = 9552 114 �7279 1939 ��� 21787 = 4812 109 �7279 13902 ��� 21787 = 7553 97 �7279 18045 ��� 21787 = 8394 110 �7279 12817 ��� 21787 = 8740 100 �7279 15641 ��� 21787 = 7234 97 �7279 1317 ��� 21787 = 10154 10 Universitas Sumatera Utara Dari Proses diatas, dihasilkan ciphertext { 21715, 8248, 3416, 9552, 19092, 4812, 3372, 7553, 21337, 8394, 6487, 8740, 14118, 7234, 19426, 10154 } 3. Proses Dekripsi Pesan. Langkah Pertama yaitu menghitung � � −� ≡ � � �−1−� ��� � menggunakan kunci privat. Selanjutnya mendekripsi m dengan menghitung � � −� �� ��� � . � � �−1−� ��� � = 21715 21563 ��� 21787 = 1120 3416 21563 ��� 21787 = 4929 19092 21563 ��� 21787 = 6221 3372 21563 ��� 21787 = 19064 21337 21563 ��� 21787 = 3735 6487 21563 ��� 21787 = 8650 14118 21563 ��� 21787 = 7686 19426 21563 ��� 21787 = 10503 � � −� �� ��� � = 1120�8248 ��� 2903 = 72 4929x9552 mod 2903 = 101 6221x4812 mod 2903 = 114 19064x7553 mod 2903 = 109 3735x8394 mod 2093 = 97 8650x8740 mod 2903 = 110 7686x7234 mod 2093 = 100 10503x10154 mod 2093 = 97 Dari perhitungan diatas maka nilai plaintextnya {72,101,114,109,97,110,100,97}, setelah nilai tersebut diubah ke karakter menggunakan tabel ascii sehingga menghasilkan plaintext Hermanda. Universitas Sumatera Utara

2.4 Landasan Matematika Kriptografi

Dokumen yang terkait

Modifikasi Least Significant Bit(LSB) Menggunakan Persamaan Kuadrat Pada Kunci Steganografi

2 32 64

Implementasi Algoritma Massey-Omura dan Algoritma Least Significant Bit (LSB) Modifikasi Tempat Penyisipan Dengan Cover Image Bitmap Untuk Keamanan Data Text

2 18 125

Implementasi Algoritma Massey-Omura dan Algoritma Least Significant Bit (LSB) Modifikasi Tempat Penyisipan Dengan Cover Image Bitmap Untuk Keamanan Data Text

1 1 13

Implementasi Algoritma Massey-Omura dan Algoritma Least Significant Bit (LSB) Modifikasi Tempat Penyisipan Dengan Cover Image Bitmap Untuk Keamanan Data Text

0 0 2

Implementasi Algoritma Massey-Omura dan Algoritma Least Significant Bit (LSB) Modifikasi Tempat Penyisipan Dengan Cover Image Bitmap Untuk Keamanan Data Text

0 0 5

Implementasi Algoritma Massey-Omura dan Algoritma Least Significant Bit (LSB) Modifikasi Tempat Penyisipan Dengan Cover Image Bitmap Untuk Keamanan Data Text

1 6 16

Implementasi Algoritma Massey-Omura dan Algoritma Least Significant Bit (LSB) Modifikasi Tempat Penyisipan Dengan Cover Image Bitmap Untuk Keamanan Data Text

0 0 2

Implementasi Algoritma Massey-Omura dan Algoritma Least Significant Bit (LSB) Modifikasi Tempat Penyisipan Dengan Cover Image Bitmap Untuk Keamanan Data Text

1 2 11

Implementasi Algoritma Elgamal Dengan Pembangkit Bilangan Prima Lehmann Dan Algoritma Least Significant Bit (Lsb) Dengan Cover Image Bitmap Untuk Keamanan Data Text

0 0 35

IMPLEMENTASI ALGORITMA ELGAMAL DENGAN PEMBANGKIT BILANGAN PRIMA LEHMANN DAN ALGORITMA LEAST SIGNIFICANT BIT (LSB) DENGAN COVER IMAGE BITMAP UNTUK KEAMANAN DATA TEXT

0 0 11