Kriptografi Elgamal (Part Enkripsi)

Algoritma ElGamal ditemukan oleh ilmuwan Mesir, yaitu Taher ElGamal  pada  tahun 1985,  merupakan algoritma kriptografi kunci publik. Algoritma ElGamal terdiri  atas  tiga  proses,  yaitu  proses  pembentukan  kunci, enkripsi,  dan  dekripsi. Algoritma  ElGamal mendasarkan kekuatannya  pada  fakta matematis  kesulitan menghitung logaritma diskret.

  1. Pembentukan Kunci
    Skema ElGamal memerlukan sepasang kunci yang dibangkitkan dengan memilih sebuah bilangan prima p dan dua buah bilangan random g dan x. Nilai g dan x lebih kecil dari p yang memenuhi persamaan :

    y = gx mod p

    Dari persamaan tersebut y, g dan p merupakan kunci publik dan x adalah kunci rahasia.

  2. Proses Enkripsi
    Proses enkripsi merupakan proses mengubah pesan asli (plaintext) menjadi pesan rahasia (ciphertext). Pada proses ini digunakan kunci publik (p, g, y). Langkah-langkah dalam mengenkripsi pesan adalah sebagai berikut.

    1. Potong plaintext menjadi blok-blok m1, m2, …, nilai setiap blok di dalam selang [0, p – 1].
    2. Ubah nilai blok pesan ke dalam nilai ASCII.
    3. Pilih bilangan acak k, dengan syarat 1 ≤ k ≤ p – 2.
    4. Setiap blok m dienkripsi dengan rumus sebagai berikut.
      gamma (γ) = gk mod p. (1)
      delta (δ) = ykm mod p. (2)
    5. Susun ciphertext dengan urutan γ1,δ1, γ2,δ2,…,γn,δn.
      Pasangan γ dan δ adalah cipherteks untuk blok pesan m. Hasil yang didapat dari proses enkripsi berupa pesan rahasia (ciphertext).
  3. Proses Dekripsi
    Proses dekripsi merupakan proses mengubah pesanrahasia (ciphertext) menjadi pesan asli (plaintext). Padaproses ini digunakan kunci pribadi (x, p). Langkah-langkah dalam mendekripsi pesan adalah sebagai berikut.

    1. Penentuan nilai gamma dan delta. Nilai gamma (γ) diperoleh dari ciphertext dengan urutan ganjil sedangkan delta (δ) dengan urutan genap.
    2. Hitung plaintext m dengan persamaan rumus berikut.
      m = δ. γ(p-1-x) mod p (3)
    3. Ubah nilai m yang didapat kedalam nilai ASCII.
    4. Susun plaintext dengan urutan m1,m2,…,mn.

Contoh Kasus :

Keterangan Nilai
Pesan(plaintext) hello android
Nilai (p,g,y,x) (383, 148, 295, 338)
Nilai k k1 = 319, k2= 259, k3 = 353, k4 = 105, k5 = 267, k6= 279,k7 = 190, k8 = 252, k9 = 60, k10 = 87, k11 = 360, k12 =139,k13 = 48

Proses Pembentukan Kunci : 

Berikut contoh manual pembentukan kunci untuk proses enkripsi dan dekripsi. Misalkan pengirim memilih p = 2903, g = 5, dan x = 1751. Kemudian menghitung : y = gx mod p = 51751 mod 2903 = 771

Diperoleh kunci publik ( y  , g , p ) = ( 771, 5, 2903 ) dan kunci privatnya x = 1751. Kunci publik ( 771, 5, 2903 )  inilah yang diberikan penerima kepada pemberi pesan. Kunci rahasia  tetap dipegang oleh penerima dan tidak boleh ada yang mengetahui selain dirinya sendiri.

Proses Enkripsi :

Langkah-langkah  penyelesaian  proses  enkripsi  secara manual adalah sebagai berikut:

Diketahui :

Plaintext :  “hello android”

Nilai p = 383, g = 148 dan y = 295.

Nilai k1 = 319, k2 = 259, k3 = 353, k4 = 105, k5 = 267, k6 = 279, k7 = 190, k8 = 252, k9 = 60, k10 = 87, k11 = 360, k12 = 139, k13 = 48

Jawab :

  • Ubah pesan  asli (plaintext)  ke dalam  ASCII
    h=104, e=101, l=108, l=108 , o=111, spasi=32, a=97, n=110, d=100, r=114, o=111, i=105, d=100
    sehingga nilai pesan ASCII adalah sebagai berikut :
    m1=104, m2=101, m3=108, m4=108 , m5=111, m6=32, m7=97, m8=110, m9=100, m10=114, m11=111, m12=105, m13=100
    Table Konversi ASCII

    i Character Plaintext mi ACSII
    1 h m1 104
    2 e m2 101
    3 l m3 108
    4 l m4 108
    5 o m5 111
    6 “spaci” m6 32
    7 a m7 97
    8 n m8 110
    9 d m9 100
    10 r m10 114
    11 o m11 111
    12 i m12 105
    13 d m13 100
  • Hitung gamma (γ) dengan rumus γ= gk mod p
    γ1= 148319 mod 383,
    γ2= 148259mod 383,
    γ3= 148353 mod 383,
    γ4= 148105 mod 383,
    γ5= 148267 mod 383,
    γ6= 148279 mod 383 dst..
    Sehingga Hasilnya:

    γ1 = 197 γ7 = 339
    γ2 = 122 γ8 = 31
    γ3 = 85 γ9 = 168
    γ4 = 379 γ10 = 37
    γ5 = 340 γ11 = 38
    γ6 = 269 γ12 = 356
    γ13 = 144
  • Hitung delta dengan rumus δ  = yk. m mod p
    δ1     =  295319. 104 mod 383 = 158
    δ2     =  295259. 101 mod 383 = 2
    δ3     =  295353. 108 mod 383 = 300
    δ4     =  295105. 108 mod 383 = 336
    dst…
    Hasilnya :

    δ1 = 158 δ7 = 99
    δ2 = 2 δ8 = 153
    δ3 = 300 δ9 = 292
    δ4 = 336 δ10 = 113
    δ5 = 250 δ11 = 367
    δ6 = 98 δ12 = 345
    δ13 = 8
  • Susun hasil perhitungan gamma (γ ) dan delta (δ)
    Ciphertext : 197, 158, 122, 2, 85, 300, 379, 336, 340, 250, 269, 98, 339, 99, 31, 153, 168, 292, 37, 113, 38, 367, 356, 345, 144, 8
    5-27-2013 6-05-29 PM

2 thoughts on “Kriptografi Elgamal (Part Enkripsi)

  1. Ping-balik: Kriptografi Elgamal (Part Dekripsi) | Bloger Mencoba Sukses

  2. Ping-balik: Kriptografi Elgamal With Java | Bloger Mencoba Sukses

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s