• Tidak ada hasil yang ditemukan

Implementasi Super Enkripsi Algoritma Elgamal Dengan Teknik Transposisi Segitiga

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Super Enkripsi Algoritma Elgamal Dengan Teknik Transposisi Segitiga"

Copied!
13
0
0

Teks penuh

(1)

BAB II

LANDASAN TEORI

2.1 Kriptografi

Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata kriptografi dibagi menjadi dua, yaitu kripto dan graphia. Kripto berarti secret (rahasia) dan

graphia berarti writing (tulisan). Menurut terminologinya kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain. Dalam perkembangannya, kriptografi juga digunakan untuk mengindentifikasi pengiriman pesan dengan tanda tangan digital dan keaslian pesan dengan sidik jari digital (fingerprint). (Ariyus, 2006)

Berikut adalah gambar sistem kriptografi konvensional:

Gambar 2.1: Sistem Kriptografi Konvensional (Sadikin, 2012)

Sistem kriptografi seperti yang ditunjukkan pada gambar 2.1 di atas terdiri dari 5 bagian yaitu (Sadikin, 2012) :

(2)

2. Sumber kunci juga merupakan masukan bagi algoritma enkripsi merupakan nilai yang bebas terhadap teks asli dan menentukan hasil keluaran algoritma enkripsi.

3. Ciphertext (C) adalah keluaran algoritma enkripsi. Ciphertext dapat dianggap sebagai pesan dalam bentuk tersembunyi. Algoritma yang baik akan manghasilkan ciphertext yang terlihat acak.

4. Algoritma enkripsi memiliki 2 masukan, teks asli (M) dan kunci rahasia (K). Algoritma enkripsi melakukan transformasi terhadap plaintext

sehingga menghasilkan ciphertext.

5. Algoritma dekripsi memiliki 2 masukan yaitu ciphertext (C) dan kunci rahasia (K). Algoritma dekripsi memulihkan kembali ciphertext menjadi

plaintext bila kunci rahasia yang dipakai algoritma dekripsi sama dengan kunci rahasia yang dipakai algoritma enkripsi.

Diasumsikan dalam sistem kriptografi klasik, pihak pengirim dan pihak penerima memiliki kunci rahasia yang sama. Sistem ini disebut sistem kriptografi simetris. Kunci rahasia harus dibangkitkan secara rahasia dan didistribusikan ke pengirim dan penerima melalui saluran yang diasumsikan aman. Kebutuhan saluran untuk mendapatkan kunci rahasia menjadi kelemahan utama sistem simetris. Asumsi ini diatasi sistem kriptografi kunci publik yaitu dengan tidak dbutuhkan saluran aman untuk distribusi kunci. (Sadikin, 2012)

Kunci yang dimiliki oleh proses enkripsi dan dekripsi pada sistem kriptografi kunci publik berbeda. Kunci pada proses enkrips bersifat tidak rahasia sehingga disebut kunci publik yang dapat didistribusikan melalui saluran yang tidak aman. Kunci pada proses dekripsi bersifat rahasia yang disebut kunci private

yang kerahasiaannya harus dijaga oleh pemegang kunci. (Sadikin, 2012)

(3)

dan membaca surat yang ada di dalam kotak tersebut. Kriptografi kunci publik berkembang menjadi sebuah revolusi baru dalam sejarah kriptografi, tidak seperti pada kunci simetris yang hanya didasarkan pada subtitusi dan permutasi saja, akan tetapi kriptografi kunci public didasarkan pada fungsi matematika seperti perpangkatan dan modulus. (Tamam, 2010)

Diagram berikut memperlihatkan perbedaan dari kriptografi simetris dan kriptografi asimetris.

Enkripsi Dekripsi

Plaintext Ciphertext Plaintext

Kunci Kunci

Gambar 2.2: Diagram Kriptografi Simetris

Pada kriptografi simetris yang dapat dilihat pada gambar 2.2, kunci pada proses enkripsi dan dekripsi adalah sama. Berikut diagram pada kriptografi asimetris.

Enkripsi Dekripsi

Plaintext Ciphertext Plaintext

Kunci Publik Kunci Private

Gambar 2.3 : Diagram Kriptografi Asimetris

Sedangkan pada kriptografi asimetris yang dapat dilihat pada gambar 2.3, kunci dari proses enkripsi dan dekripsi berbeda. Untuk proses enkripsi digunakan kunci publik sedangkan untuk proses dekripsi digunakan kunci private.

(4)

Gambar 2.4 : Skema Kriptografi Asimetris Nirkunci Publik

2.2 Tujuan Kriptografi

Berikut ini adalah tujuan adanya kriptografi (Munir, 2006): 1. Kerahasiaan Data

Dengan adanya kriptografi, kerahasiaan data dapat ditingkatkan. Data penting yang dimiliki hanya akan dapat dibuka atau dibaca oleh orang-orang tertentu yang memiliki akses untuk membukanya.

2. Integritas Data

Data yang benar atau asli tanpa ada rekayasa dari pihak ketiga atau pihak yang tidak memiliki akses terhadap data tersebut.

3. Autentikasi

Autentikasi dilakukan untuk membuktikan data yang dikirim adalah data asli atau data yang benar. Autentikasi mencegah adanya data palsu.

4. Nir-penyangkalan

Nir-penyangkalan adalah salah satu tujuan kriptografi. Dengan ini si pengirim tidak dapat menolak bahwa pesan tersebut benar berasal dari si pengirim.

2.3 Ancaman Keamanan

Berikut beberapa ancaman yang dapat mempengaruhi keamanan data (Stallings, 2011):

Algoritma Enkripsi

Algoritma Dekripsi

Kunci Rahasia B

Teks Asli Ciphertext Teks Asli

A

B

(5)

1. Interruption

Interruption merupakan ancaman yang dilakukan dengan merusak dan menghapus data sehingga data tidak dapat ditemukan lagi.

2. Interception

Interception adalah ancaman yang dilakukan pihak ketiga dengan menyadap ataupun mengakses data. Data yang seharusnya rahasia dapat diakses oleh pihak yang tidak memiliki akses.

3. Modification

Modification adalah ancaman yang lebih berbahaya, pihak yang tidak memiliki akses tidak hanya dapat mengakses data namun dapat memodifikasi atau mengubah data.

4. Fabrication

Fabrication merupakan ancaman yang paling berbahaya, pihak yang tidak memiliki akses tidak hanya dapat membaca data, juga dapat mengubah dan memalsukan data, sehingga data seolah berasal dari pengirim sebenarnya.

2.4 Kriptografi Asimetris

Sistem kriptografi kunci publik atau sering disebut sebagai kunci asimetrik pertama kali diusulkan oleh Diffie dan Hellman pada tahun 1976. Ide kriptografi kunci publik sebenarnya mirip dengan cara kerja kunci gembok. Dimisalkan terdapat sebuah peti yang berisi pesan rahasia, lalu peti dikunci dengan gembok, kemudian dikirim kepada penerima. Gembok hanya dapat dibuka oleh penerima, apabila kunci yang dipegang olehnya merupakan pasangan gembok. (Sadikin, 2012)

(6)

1. Misalkan Alice dan Bob adalah pihak-pihak yang berkomunikasi. Mula-mula

Alice dan Bob menyepakati 2 buah bilangan yang besar (sebaiknya prima) P

dan Q, sedemikian sehingga P < Q. Nilai P dan Q tidak perlu rahasia, bahkan

Alice dan Bob dapat membicarakannya melalui saluran yang tidak aman sekalipun.

2. Alice membangkitkan bilangan bulat acak x yang besar dan mengirim hasil perhitungan berikut kepada Bob:

X = Pxmod Q .

3. Bob membangkitkan bilangan bulat acak y yang besar dan mengirim hasil perhitungan berikut kepada Alice :

Y = Py mod Q .

4. Alice menghitung K = Yx mod Q . 5. Bob menghitung K’ = Xy mod Q .

Jika berhitungan dilakukan dengan benar maka K = K’. Dengan demikian Alice

dan Bob telah memiliki sebuah kunci yang sama tanpa diketahui pihak lain. Gambar 2.5 mendeskripsikan diagram protokol pertukaran kunci Diffie

-Hellman:

ALICE

P,Q

BOB

Bangkitkan Bilangan x Bangkitkan Bilangan y

Hitung X = Px mod Q Hitung X = Py mod Q

Hitung Key = Yx mod Q Hitung Key = Xy mod Q

X Y

Gambar 2.5 Pertukaran Kunci Deffie –Hellman (Ramdan Mangunpraja, 2007)

(7)

2.5 Akar primitif

Jika ada suatu bilangan bulat m dan order dari m modulo n adalah �(n), maka m

disebut akar primitif modulo n. Dapat juga dituliskan sebagai ordn(m) = �(n).

(Mollin, 2007)

Sebagai contoh, akan dicari akar primitif modulo 7. �(7) = 7 – 1 = 6

Ord7(1) = 1 �(7), maka 1 bukan akar primitif modulo 7

Ord7(2) = 3 �(7), maka 2 bukan akar primitif modulo 7

Ord7(3) = 6 = �(7), maka 3 adalah akar primitif modulo 7

Apabila p adalah bilangan prima, maka  disebut akar primitf modulo p

apabila pemetaan r(mod p) terhadap r  {1, 2, 3, …, p-1} akan menghasilkan permutasi dari r.

Sebagai contoh, apakah 3 adalah akar primitif modulo 7?

r r(mod p)

1 3

2 2

3 6

4 4

5 5

6 1

Karena hasil r(mod p) merupakan permutasi dari r, maka 3 merupakan akar

primitif modulo 7.

Teorema: Banyaknya jumlah akar primitif modulo n adalah tepat sebanyak �(�(n)) akar primitif yang tidak saling kongruen. (Mollin, 2007)

(8)

2.6 Fermat’s Little Theorem

Teorema : Untuk bilangan prima p dan bilangan bulat a, ap≡ a(mod p) dan jika a

tidak dapat dibagi oleh p, maka ap-1≡ 1 (mod p).

Teorema ini dapat digunakan untuk mempermudah kalkulasi pemangkatan modulo bilangan prima. Sebagai contoh, kita coba kalkulasi 274 (mod 13). Karena 13 adalah bilangan prima dan 2 tidak dapat dibagi 13, maka teorema ini dapat digunakan untuk mengkalkulasi

212≡ 213-1(mod 13) ≡ 1 (mod 13). Jadi

274 = (212)6 × 22≡ 16 × 22≡ 4 (mod 13).

Meskipun dapat digunakan untuk mempermudah kalkulasi, dalam kriptografi,

peran terpenting dari Fermat’s little theorem adalah sebagai dasar dari berbagai teknik enkripsi asimetris. Untuk memudahkan pembuatan program untuk pembangkitan bilangan prima maka digunakan teknik iterasi. Untuk bilangan yang lebih kecil dari 100 maka akan dilakukan pengujian sebanyak tiga kali, untuk bilangan yang lebih besar dari 100 maka dilakukan pengujian sebanyak digit bilangan tersebut. (Kromodimoeljo. 2010)

2.7 Modulus Exponential

Dalam kriptografi, perhitungan modulus exponential sering dijumpai. Sistem kriptografi asimetris seperti RSA dan ElGamal menggunakan modulus exponential dalam perhitungan enkripsi dan dekripsinya. Persamaan modulus exponential adalah (Sadikin, 2012):

y = ax mod n

Salah satu metode untuk menghitung modulus exponential adalah Square and Multiply. Langkah-langkah untuk menghitung modulus exponential menggunakan

Square And Multiply (Sadikin, 2012): 1. Ubah nilai x ke dalam nilai biner. 2. Tentukan y = 1.

(9)

y = (y2 * a) mod n

Jika xi = 0 maka, y = y2mod n

Perhitungan modulus exponential menggunakan Square And Multiply dicontohkan sebagai berikut:

Hitung nilai 1725 mod 11. Penyelesaian:

Ubah 25 ke dalam nilai biner, maka didapat 11001, y = 1 Untuk nilai x1 = 1

y = y2 * 17 mod 11 = 12 * 17 mod 11 = 6

Untuk nilai x2 = 1

y = y2 * 17 mod 11

= 62 * 17 mod 11

= 7 Untuk nilai x3 = 0

y = y2 mod 11

= 72 mod 11 = 5

Untuk nilai x4 = 0 y = y2 mod 11 = 52 mod 11 = 3

Untuk nilai x5 = 1

y = y2 * 17 mod 11 = 32 * 17 mod 11 = 10

(10)

2.8 Algoritma ElGamal

Algoritma ElGamal merupakan algoritma kriptografi asimetris yang menggunakan dua jenis kunci, yaitu kunci publik dan kunci rahasia. Kunci publik berfungsi untuk mengenkripsi pesan sedangkan kunci rahasia berfungsi untuk mendekripsi pesan. Tingkat keamanan algoritma ini didasarkan atas masalah logaritma diskrit pada grup pergandaan bilangan bulat modulo prima. (Singh, 2012)

Algoritma ElGamal mempunyai kunci publik berupa urutan tiga bilangan dan sebuah bilangan sebagai kunci rahasia. Algoritma ElGamal merupakan cipher block, yaitu melakukan proses enkripsi pada blok-blok plaintext dan menghasilkan blok-blok ciphertext yang kemudian dilakukan proses dekripsi, dan hasilnya digabungkan kembali menjadi pesan yang utuh dan dapat dimengerti. Algoritma ElGamal terdiri dari tiga proses, yaitu proses pembentukan kunci, proses enkripsi dan proses dekripsi. Kelebihan algoritma ElGamal adalah suatu

plaintext yang sama akan dienkripsi menjadi ciphertext yang berbeda-beda, tetapi pada proses dekripsi akan diperoleh plaintext yang sama. (Bahary, 2010)

ElGamal dapat digunakan untuk tanda tangan digital dan enkripsi, algoritma ini memberikan keamanan dari sulitnya menghitung logaritma diskrit yang digunakan dalam tempat terbatas. Untuk membangkitkan pasangan kunci, dilakukan langkah berikut (Mollin, 2007):

1. Pilih bilangan prima p dan cari akar primitif  mod p

2. Pilih bilangan random a dimana 2 < a < p– 1, dan hitung nilai a

3. Public key yang diperoleh adalah p,, dan a sedangkan private key adalah a

Setelah didapatkan public key yang disepakati, maka dilakukan enkripsi dengan langkah berikut (Mollin, 2007):

1. Pilih bilangan random b dengan syarat b < p -1

(11)

3. Maka setiap satu karakter plaintext memiliki dua ciphertext. (Mollin, 2007)

Proses selanjutnya adalah dekripsi. Setelah memperoleh ciphertext, maka penerima pesan akan mengubah ciphertext menjadi plaintext. Sehingga dapat dengan mudah membaca isi dari pesan tersebut. Untuk mendekripsi pesan, penerima membutuhkan kunci privatea. Dan dilakukan perhitungan berikut: 1. Kunci yang digunakan adalah nilai a

2. Hitung nilai dengan menggunakan C1 dengan cara C1p-1-a mod p yang disebut m1

3. Dari hasil perhitungan m1 maka untuk memperoleh hasil dilakukan perhitungan m1*C2 mod p, langkah-langkah ini dilakukan per karakter.

Maka akan didapat plaintext yang disampaikan oleh pengirim. (Mollin, 2007)

2.9 Transposisi Segitiga

Transposisi segitiga memiliki pola pada baris pertama dimulai dari satu karakter

dan baris selanjutnya bertambah 2 karakter dari baris sebelumnya. Bentuk ini memberi pola bilangan ganjil baris pertama 1 karakter, baris kedua 3 karakter, baris ketiga 5 karakter dan selanjutnya. Pola ini tergantung banyak digit dari

plaintext yang akan ditransposisikan. Untuk enkripsi, pola ini ditulis per baris dimulai dari baris paling atas, kemudian dibaca per kolom yang dimulai dari kolom paling kiri untuk menghasilkan ciphertext. (Department of The Army, 1990)

Seperti pada contoh berikut :

diberikan plaintext (M) : ILMU KOMPUTER maka hasil transposisi yang didapat adalah

Gambar 2.6: Enkripsi Transposisi I

L M U

K O M P

U T E R ¿ ¿ ¿

(12)

Dari gambar 2.6 dapat dilihat hasil transposisi yang dilakukan dengan plaintext

yang diberikan. Dapat dilihat juga bahwa jika karakter tidak memenuhi semua kolom pada baris terakhir maka akan dimasukkan karakter # sebagai pengisinya. Untuk membaca hasil transposisi terlebih dahulu dibaca dari kolom paling kiri, sehingga hasil yang didapat adalah U TLKEIMORUM¿P¿ ¿

Untuk mengembalikan plaintext yang telah ditransposisi, dilakukan penyusunan kembali karakter kedalam segitiga, dengan karakter pertama menduduki kolom paling kiri dan dibaca dari baris atas ke bawah. Sehingga dari

ciphertext “U TLKEIMORUM¿P¿ ¿” didapat hasil yang dapat dilihat pada

gambar 2.7.

I

L M U

K O M P

U T E R ¿ ¿ ¿

Gambar 2.7: Dekripsi Transposisi

dan hasilnya adalah ILMU KOMPUTER¿ ¿ ¿. Dan setiap karakter “¿” akan

dihapus dari plaintext sehingga menghasilkan ILMU KOMPUTER.

2.10 Penelitian Terdahulu

Beberapa penelitian yang telah dilakukan sebelumnya yang berkaitan dengan penelitian ini adalah:

1. Penelitian yang dilakukan oleh Rininda Ulfa, dengan judul penelitian Penerapan Sistem Kriptografi ElGamal Atas Zp* Dalam Pembuatan Tanda

Tangan Digital memberikan penjelasan sebagai berikut :

(13)

Proses pembuatan tanda tangan digital diawali dengan pembuatan kunci publik dan kunci privat. Proses pembuatan kunci menghasilkan kunci publik (p, g, v ) dan kunci privat s. Kunci publik akan dikirimkan kepada penerima pesan untuk memverifikasi tanda tangan. Pada proses perhitungan nilai hash

akan dihasilkan message digest, yang akan digunakan dalam pembuatan tanda tangan. Proses penandatanganan dihasilkan sepasang tanda tangan (R, T). Tanda tangan dan dokumen dikirimkan kepada penerima. Selanjutnya, pada proses verifikasi, penerima akan mengecek apakah tanda tangan tersebut cocok atau tidak dengan menggunakan kunci publik dan menghitung nilai

hash dokumen yang ia terima. (Ulfa. 2011)

2. Penelitian yang dilakukan oleh Barra Rizky Bahary. Penelitian ini mengangkat judul Pengamanan Pesan Teks Menggunakan Algoritma ElGamal. Algoritma ElGamal mempunyai kunci publik berupa urutan tiga bilangan dan sebuah bilangan sebagai kunci rahasia. Algoritma ElGamal merupakan cipher block, yaitu melakukan proses enkripsi pada blok-blok

plaintext dan menghasilkan blok-blok ciphertext yang kemudian dilakukan proses dekripsi, dan hasilnya digabungkan kembali menjadi pesan yang utuh dan dapat dimengerti. Kelebihan algoritma ElGamal adalah suatu plaintext

Gambar

Gambar 2.1: Sistem Kriptografi Konvensional (Sadikin, 2012)
Gambar 2.2: Diagram Kriptografi Simetris
Gambar 2.4 : Skema Kriptografi Asimetris Nirkunci Publik
Gambar 2.5 Pertukaran Kunci Deffie –Hellman (Ramdan Mangunpraja, 2007)

Referensi

Dokumen terkait

FRINNA SHINTA 500644607 Magister Manajemen MM PENGARUH PELATIHAN, INTERAK.SI SOSIAL, DAN MOTIVASI KERJA TERHADAP KINERJA PENYULUH MELALUI KOMPETENSI Studi pada Kantor

Sekretariat : Dinas Pekerjaan Umum Kabupaten Klaten Jalan Sulawesi No. Unit Layanan Pengadaan

[r]

Panduan Penyusunan Kurikulum Tingkat Satuan Pendidikan Jenjang Pendidikan Sekolah Dasar dan Menengah.. Metode Penelitian Pendidikan dan

karona cuaoh untuk nondapatkan aurat porlntah darl hakin dongas oogoro, codon^can koadaaa aangat mcndcoak untuk cogara ncnboolah curat-aurat yang borada dl Kaator Poa* naka Jalan

Penelitian ini telah mengukur tekanan darah pada penderita hipertensi di PSTW unit Abiyoso tahun 2012 yang diadakan pada kelompok eksperimen yang diberikan jus tomat selama 7

Further, the Sinarmas Group, and/or its officers, directors and employees, including persons, without limitation, involved in the preparation or is suance of this material may, to

HTML digunakan untuk membangun halaman web, HTML digunakan untuk melakukan mark-up (penandaan) terhadap sebuah dokumen teks. Tanda tersebut digunakan untuk