• Tidak ada hasil yang ditemukan

Analisis Penggunaan Elemen Primitif Dan

N/A
N/A
Protected

Academic year: 2018

Membagikan "Analisis Penggunaan Elemen Primitif Dan"

Copied!
6
0
0

Teks penuh

(1)

ANALISIS PENGGUNAAN ELEMEN PRIMITIF DAN NON PRIMITIF

PADA ALGORITMA ELGAMAL

Yudhi Andrian1

1Teknik Informatika, STMIK Potensi Utama

1 STMIK Potensi Utama, Jl. K.L. Yos Sudarso Km 6,5 No. 3A Medan 1 [email protected]

Abstrak

Algoritma ElGamal terdiri dari tiga proses, yaitu proses pembentukan kunci, proses enkripsi dan proses dekripsi. Proses pembentukan kunci kriptografi ElGamal terdiri dari pembentukan kunci privat (rahasia) dan pembentukan kunci public (umum). Pada proses ini dibutuhkan sebuah bilangan prima p yang digunakan untuk membentuk grup Zp* dan elemen primitif sebagai dasar pembentuk kunci public sedangkan sembarang bilangan acak digunakan sebagai pembentuk kunci privat. pada penelitian sebelumnya digunakan elemen primitif pada proses pembentukan kunci namun tidak dijelaskan alasan mengapa harus menggunakan elemen primitif. Penelitian ini mencoba menganalisa pengguaan elemen primitif dan elemen non primitif pada pembentukan kunci algoritma elgamal

.

Analisa dilakukan dengan menentukan sebuah bilangan prima tetap, dengan bilangan prima tersebut ditentukan beberapa elemen primitif. Proses selanjutnya dilakukan pembentukan kunci public dan kunci privat berdasarkan bilangan prima dan elemen primitif yang sudah ada. Langkah selanjutnya adalah melakukan proses enkripsi dan dekripsi terhadap sebuah file dengan memvariasikan elemen primitif, elemen non primitif, memvariasikan kapasitas file dan memvariasikan nilai bilangan prima yang digunakan

.

Dari hasil analisa dapat disimpulkan bahwa proses enkripsi dan dekripsi dapat dilakukan dengan baik dengan pembentukan kunci yang menggunakan elemen primitif ataupun elemen non primitif, Elemen primitif ataupun elemen non primitif tidak mempengaruhi proses enkripsi dan proses dekripsi, besar kecilnya elemen primitif maupun elemen non primitif yang digunakan tidak mempengaruhi besarnya file hasil enkripsi, dengan bilangan prima 3 digit, selisih antara file asli dengan file hasil enkripsi mencapai 500 % lebih, semakin besar bilangan prima yang digunakan dalam pembentukan kunci, maka kapasitas file hasil enkripsi juga akan semakin besar.

Kata kunci : Kriptografi, Enkripsi, Dekripsi, Elgamal, elemen primitif.

1. Pendahuluan

Algoritma ElGamal adalah algoritma yang sistem pengamanannya didasarkan pada masalah Logaritma Diskrit. Algoritma ElGamal terdiri dari tiga proses, yaitu proses pembentukan kunci, proses enkripsi dan proses dekripsi.

Proses pembentukan kunci kriptografi ElGamal terdiri dari pembentukan kunci privat (rahasia) dan pembentukan kunci public (umum). Pada proses ini dibutuhkan sebuah bilangan prima p yang digunakan untuk membentuk grup Zp* dan elemen primitif  (primitive root) sebagai dasar pembentuk kunci

public (umum) sedangkan sembarang bilangan acak

a {0, 1,…, p-2) digunakan sebagai pembentuk kunci privat (rahasia). [3]

Dalam penelitian sebelumnya, Mukhammad Ifanto melakukan penelitian metode enkripsi dan dekripsi menggunakan algoritma elgamal, dimana pada penelitian ini proses pembentukan kunci

menggunakan bilangan prima aman besar dan elemen primitif. [3]

Danang Tri Massandy menggunakan algoritma elgamal dalam pengamanan pesan rahasia. [2]. Eko aribowo membuat aplikasi pengamanan dokumen office dengan algoritma kunci asimetris elgamal. [1]. M. Taufiq Tamam, et. Al menerapkan kriptografi elgamal untuk mengamankan file citra. [4]. Agustinus widyartono menggunakan algoritma elgamal untuk enkripsi data menggunakan GNUPG. [5].

Dari penelitian sebelumnya, [1-5] sebagian menggunakan elemen primitif pada proses pembentukan kunci dan sebagian yang lain tidak menjelaskan penggunaan elemen primitif dalam pembentukan kuncinya.

(2)

2. Penentuan elemen primitif dan Non Primitif

Teorema:

“Suatu elemen yang membangun Zp * disebut elemen primitif (primitive root) mod p.”

“Bila α2 mod p ≠ 1 dan αq mod p ≠ 1. Jika keduanya dipenuhi, maka α adalah elemen primitif dari Zp *.” [3].

Input : bilangan prima p ≥ 5 dan α  Zp *

Output : elemen primitif atau bukanelemen primitive

Langkah :

1) Hitung q =

2) Hitung 2 (mod p) dan q (mod p) 3) Jika 2 (mod p) = 1 maka output :

elemen non primitif

4) Jika q (mod p) = 1 maka output : 

elemen non primitif

5) output : element primitif

3. Proses pembentukan kunci

Proses pertama adalah pembentukan kunci yang terdiri dari kunci private (rahasia) dan kunci

public (umum). Pada proses ini dibutuhkan sebuah bilangan prima p yang digunakan untuk membentuk grup Zp*, elemen primitif α dan sembarang a ϵ

{1,..., p - 2}. Kunci publik algoritma ElGamal berupa pasangan 3 bilangan, yaitu (p, α, β), dengan � = αa ��� � Sedangkan kunci rahasianya adalah

bilangan a tersebut. Karena pada algoritma ElGamal menggunakan bilangan bulat dalam proses perhitungannya, maka pesan harus dikonversi ke dalam suatu bilangan bulat.

Untuk mengubah pesan menjadi bilangan bulat, digunakan kode ASCII (American Standard for Information Interchange). Kode ASCII merupakan representasi numerik dari karakter-karakter yang digunakan pada komputer, serta mempunyai nilai minimal 0 dan maksimal 255. Kode ASCII berkorespondensi 1-1 dengan karakter pesan. Algoritma membangkitkan Pasangan Kunci :

1. Pilih sembarang bilangan prima p besar dan

elemen primitif  (Primitive Root) grup Zp* dari bilangan bulat mod p

2. Pilih bilangan bulat acak a, dengan syarat 1 ≤ a

p – 2.

3. Hitung � = αamod p. (1) 4. Publikasikan nilai p, α dan β , serta rahasiakan

a.

Hasil algoritma ini adalah kunci publik : triple (�, α, p) dan kunci privat : pasangan (a, p). Pihak yang membuat kunci publik dan kunci rahasia adalah pengirim, sedangkan pihak penerima hanya mengetahui kunci publik yang diberikan oleh

pengirim, dan kunci publik tersebut digunakan untuk mengenkripsi pesan.

4. Proses Enkripsi

Pada proses ini pesan dienkripsi menggunakan kunci publik (�, α, p) dan sembarang bilangan acak rahasia k є {1, ..., p-2}. Misalkan m adalah pesan yang akan dikirim. Selanjutnya, m diubah ke dalam blok-blok karakter dan setiap karakter dikonversikan ke dalam kode ASCII, sehingga diperoleh plainteks

m1, m2, ...,mndengan mi є {1, 2,..., p-1}, i = 1, 2,...,

n. Untuk nilai ASCII pemisah “;” digunakan untuk menandai akhir dari suatu teks.

Proses enkripsi pada algoritma ElGamal dilakukan dengan menghitung :

� = �� ��� � dan (2)

� = ��.� ��� � (3)

dengan k є {1, ..., p-2}acak rahasia. Bilangan acak k ditentukan oleh pihak pengirim dan harus dirahasiakan, jadi hanya pengirim yang mengetahuinya. Sedangkan nilai k hanya digunakan saat melakukan enkripsi dan tidak perlu disimpan. Diperoleh cipherteks (�, �). Algoritma enkripsi pesan :

1. Susun plainteks menjadi blok-blok, m1, m2, …, sedemikian sehingga setiap blok merepresentasikan nilai di dalam rentang 0 sampai p – 1 (dengan mengubah nilai m menjadi kode ASCII).

2. Pilih bilangan acak k, yang dalam hal ini 0 < k < p

– 1, sedemikian sehingga k relatif prima dengan

p – 1.

3. Setiap blok m dienkripsi dengan rumus : � = αkmod p dan

= βk m mod p.

Pasangan � dan � adalah cipherteks untuk blok pesan m.

5. Proses Dekripsi

Setelah menerima cipherteks (�, ), proses selanjutnya adalah mendekripsi cipherteks menggunakan kunci publik p dan kunci rahasia a. Dapat ditunjukkan bahwa plainteks m dapat diperoleh dari cipherteks menggunakan kunci rahasia a.

Diberikan (p, α, β) sebagai kunci publik dan a

sebagai kunci rahasia pada algoritma ElGamal. Jika diberikan cipherteks (�, ), maka untuk mendekripsi γ dan  digunakan kunci rahasia a, dan plainteks m

diperoleh kembali dengan persamaan :

� = �.(�α)–1 ��� � (4)

(3)

Karena Zp* merupakan grup siklik yang mempunyai order p -1 dan a є {1,..., p - 2}, maka (��)−1 = �−� = ��−1−� ��� �.

Algoritma Dekripsi pesan : 1. Untuk i dari 1 sampai n :

Hitung ��−1−� mod p

Hitung mi = �. (��)-1 mod p 4. Diperoleh plainteks m1m2 , ,..., mn.

5. Konversikan masing-masing bilangan m1, m2,...,

mnke dalam karakter sesuai dengan kode

ASCII-nya, kemudian hasilnya digabungkan kembali.

6. Analisa Hasil

Analisa dilakukan dengan menentukan sebuah bilangan prima tetap, dengan bilangan prima tersebut ditentukan beberapa elemen primitif. Proses selanjutnya dilakukan pembentukan kunci public dan kunci privat berdasarkan bilangan prima dan elemen primitif yang sudah ada. Langkah selanjutnya adalah melakukan proses enkripsi dan dekripsi terhadap sebuah file dengan memvariasikan elemen primitif.

Berikut tabel hasil pengujian enkripsi dan dekripsi file text untuk elemen primitif dengan nilai bilangan prima tetap p=719, kapasitas file 227 Byte

dengan variasi nilai elemen primitif.

Tabel 1. Variasi elemen primitif No nilai

1 717 1748 227 1521 570 2 649 1736 227 1509 565 3 601 1755 227 1528 573 4 519 1733 227 1506 563 5 431 1745 227 1518 569 6 371 1749 227 1522 570 7 237 1754 227 1527 573 8 141 1748 227 1521 570

9 97 1737 227 1510 565

10 11 1735 227 1508 564

Selisih Rata-rata 1517 568

Dari tabel di atas dapat dilihat bahwa dengan menggunakan elemen primitif file berhasil dienkripsi dan didekripsi dengan baik. Besar kecilnya elemen primitif yang digunakan tidak mempengaruhi besarnya file hasil enkripsi. Selisih kapasitas file asli dengan file hasil enkripsi mencapai 568 %.

Langkah berikutnya melakukan pengujian yang sama untuk elemen non primitif. Berikut tabel hasil pengujian enkripsi dan dekripsi file text untuk elemen non primitif dengan nilai bilangan prima tetap p=719, kapasitas file 227 Byte dengan variasi nilai elemen non primitif.

Tabel 2. Variasi elemen non primitif No nilai

1 716 1750 227 1523 571 2 650 1736 227 1509 565 3 600 1726 227 1499 560 4 520 1735 227 1508 564 5 432 1735 227 1508 564 6 370 1729 227 1502 562 7 234 1751 227 1524 571 8 140 1731 227 1504 563 9 100 1728 227 1501 561 10 10 1733 227 1506 563

Selisih Rata-rata 1508 564

Dari tabel di atas dapat dilihat bahwa dengan menggunakan elemen non primitif file berhasil dienkripsi dan didekripsi dengan baik. Besar kecilnya elemen non primitif yang digunakan tidak mempengaruhi besarnya file hasil enkripsi. Selisih kapasitas file asli dengan file hasil enkripsi mencapai 564 %.

Berikut tabel hasil pengujian enkripsi dan dekripsi file text untuk elemen primitif dengan nilai bilangan prima tetap p=719, kapasitas file dan nilai elemen primitif bervariasi.

227 717 1748 227 1521 570 431 1745 227 1518 569 11 1735 227 1508 564

Selisih rata-rata 1515 568

400 717 3072 400 2672 568 431 3081 400 2681 570 11 3084 400 2684 571

Selisih rata-rata 2679 570

700 717 5407 700 4707 572 431 5386 700 4686 569 11 5379 700 4679 568

Selisih rata-rata 4690 570

(4)

Selisih rata-rata 6706 571

Dari tabel di atas dapat dilihat bahwa dengan menggunakan elemen primitive, file dengan kapasitas berbeda tetap berhasil dienkripsi dan didekripsi dengan baik. Variasi kapasitas file tidak mempengaruhi selisih kapasitas file asli dengan file

hasil enkripsi.

Berikut tabel hasil pengujian enkripsi dan dekripsi file text untuk elemen non primitif dengan nilai bilangan prima tetap p=719, kapasitas file dan nilai elemen non primitif bervariasi.

Tabel 4. Variasi kapasitas file dan elemen non

227 716 1750 227 1523 571 432 1735 227 1508 564 10 1733 227 1506 563

Selisih rata-rata 1512 566

400 716 3089 400 2689 572 432 3041 400 2641 560 10 3058 400 2658 565

Selisih rata-rata 2662 566

700 716 5415 700 4715 574 432 5361 700 4661 566 10 5311 700 4611 559

Selisih rata-rata 4662 566

1000 716 7694 1000 6694 569 432 7628 1000 6628 563 10 7663 1000 6663 566

Selisih rata-rata 6661 566

Dari tabel di atas dapat dilihat bahwa dengan menggunakan elemen non primitif, file dengan kapasitas berbeda tetap berhasil dienkripsi dan didekripsi dengan baik. Variasi kapasitas file tidak mempengaruhi selisih kapasitas file asli dengan file

hasil enkripsi.

Berikut tabel hasil pengujian enkripsi dan dekripsi file text untuk elemen primitif dengan kapasitas file tetap 227 Byte dan nilai bilangan prima bervariasi. 10 1019 6 1764 227 1537 577

Selisih Rata-rata 1492 558

Dari tabel di atas dapat dilihat bahwa dengan menggunakan elemen primitif dan nilai bilangan prima p yag bervariasi, proses enkripsi dan dekripsi dapat dilakukan dengan baik. Dari tabel di atas dapat dilihat pula bahwa semakin besar nilai bilangan prima p, maka nilai selisih antara file asli dengan file

hasil enkripsi semakin besar.

Berikut tabel hasil pengujian enkripsi dan dekripsi file text untuk elemen non primitif dengan kapasitas file tetap 227 Byte dan nilai bilangan prima bervariasi.

Tabel 6. Variasi bilangan prima untuk elemen non primitif

No Nilai

P nilaiα EnkripsiHasil (Byte) 10 1019 7 1786 227 1559 587

Selisih Rata-rata 1447 538

Dari tabel di atas dapat dilihat bahwa dengan menggunakan elemen non primitif dan nilai bilangan prima p yag bervariasi, proses enkripsi dan dekripsi dapat dilakukan dengan baik. Dari tabel di atas dapat dilihat pula bahwa semakin besar nilai bilangan prima p, maka nilai selisih antara file asli dengan file

hasil enkripsi semakin besar.

7. Kesimpulan

(5)

1. Proses enkripsi dan dekripsi dapat dilakukan dengan baik dengan pembentukan kunci yang menggunakan elemen primitif ataupun elemen non primitif.

2. Elemen primitif ataupun elemen non primitif tidak mempengaruhi proses enkripsi dan proses dekripsi.

3. Besar kecilnya elemen primitif maupun elemen non primitif yang digunakan tidak mempengaruhi besarnya file hasil enkripsi. 4. Pada algoritma elgamal, dengan bilangan

prima 3 digit, selisih antara file asli dengan

file hasil enkripsi mencapai 500 % lebih. 5. Semakin besar bilangan prima yang

digunakan dalam pembentukan kunci, maka kapasitas file hasil enkripsi juga akan semakin besar.

Daftar Pustaka:

[1] Aribowo. Eko, Aplikasi Pengamanan Data Office dengan Algoritma Kriptografi kunci

Asimetris Elgamal, INFORMATIKA Vol 2,

No.2, Juli2008

[2] DT Massandi, Algoritma Elgamal Dalam Pengamanan Pesan Rahasia, informatika, 2009

[3] Ifanto. M, Metode Enkripsi Dan Dekripsi Dengan Menggunakan

Algoritma Elgamal, IF2091, 2009

[4] M. Taufiq, Dwiono. Wakhyu, Hartanto. Tri,

Penerapan Algoritma Kriptografi ElGamal untuk Pengaman File Citra, EECCIS Vol. IV, No. 1, Juni 2010

[5] Widyartono. Agustinus, Algoritma Elgamal Untuk Enkripsi Data

Menggunakan Gnupg, TEKNOLOGI DAN

(6)

Gambar

Tabel  3.   Variasi  kapasitas  file dan  elemen
Tabel  5.   Variasi  bilangan  prima  untuk  elemen

Referensi

Dokumen terkait

Menggu nakan cat disperse yang sudah diaduk dengan pengenta l khusus yang dibuat dari rumput laut lalu lukis pada kain shifon menggu nakan kuas dengan teknik

Hasil penelitian menyimpulkan bahwa Peranan Women Crisis Center &#34;Cahaya Melati&#34; Kota Magelang dalam menanganai kasus kekerasan dalam rumah tangga

sering. Jumlah bunga yang muncul tiap kali berbunga yaitu 16-20 kuntum dalam satu perbungaan dengan lama mekar sekitar 2-4 minggu. 193) berbunga sepanjang tahun. Hal ini

Berdasarkan hasil distribusi frekuensi motivasi, analisis motivasi konsumen membeli kubis segar di Pasar Pasir Gintung memiliki motivasi dengan kriteria tinggi

Nelayan tradisional di nagari Guguak Malalo ini sangat memperihatinkan karena keterbatasan tekhnologi dan pendidikan mereka tidak dapat berpindah pekerjaan tetap selain

diibaratkan seperti teknologi penginderaan jarak jauh menggunakan citra satelit yang digunakan untuk mendeteksi potensi sumber daya alam di suatu titik lokasi,

Satwa dan tumbuhan yang terdapat di Gunung Cibodas memiliki nilai potensial lebih tinggi dari nilai batu gamping.. 5.2.4 Nilai potensial

Sj_ = besar arus jenuh untuk kelompok jalur atau