• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Implementasi Algoritma Kriptografi XOR dan RSA dalam Pengamanan Pengiriman Dokumen T1 672007050 BAB II

N/A
N/A
Protected

Academic year: 2017

Membagikan "Institutional Repository | Satya Wacana Christian University: Implementasi Algoritma Kriptografi XOR dan RSA dalam Pengamanan Pengiriman Dokumen T1 672007050 BAB II"

Copied!
14
0
0

Teks penuh

(1)

2.1

Penelitian Terdahulu

Penelitian sebelumnya yang terkait dengan penelitian ini

adalah penelitian yang dilakukan oleh Syaukani, (2003) yang berjudul “Implementasi Sistem Kriptografi Kunci Umum

Menggunakan Metode Algoritma RSA” membahas tentang

sistem enkripsi dan dekripsi menggunakan dua kunci. Algoritma

yang dipakai adalah algoritma RSA, hal yang mendasar pada

metode ini yaitu penggunaan kunci untuk enkripsi yang berbeda

dengan kunci yang digunakan untuk dekripsi. Kunci enkripsi

diberitahukan kepada umum dan disebut kunci publik (public

key). Kunci dekripsi dijaga kerahasiaannya, dan hanya diketahui

oleh pemilik sebagai penerima data disebut sebagai kunci pribadi

(private key). Kedua kunci tersebut memiliki hubungan yang

matematis oleh karena itu disebut juga sistem asimetris. Pada

penelitian tersebut membahas tentang algoritma RSA yang

memiliki tingkat keamanan relatif baik namun kecepatan

prosesnya rendah, selain itu terdapat dua kali pembesaran ukuran

dari fileplaintext, ini merupakan kelebihan dan kekurangan.

Adapun penelitian dengan judul “Penerapan Algoritma

RSA Untuk Pengamanan Data Digital Signature dengan .Net

(2)

.pdf, gambar berformat .png, .gif dan .jpg beserta audio format

.mp3. Sedangkan teknologi yang dipakai adalah teknologi .NET.

Hasil dari penelitian ini menyimpulkan bahwa pada proses

enkripsi/dekripsi menggunakan algoritma RSA dan digital

signature menggunakan kunci publik dan kunci private,file hasil

enkripsi bertambah besar karena adanya penambahan bit-bit

kunci dan kode-kode enkripsi. (Trioriska, 2010).

Berdasarkan penelitian yang pernah dilakukan tentang

penerapan algoritma XOR dan RSA maka akan dilakukan

penelitian tentang implementasi algoritma kriptografi XOR dan

RSA dalam pengamanan dan pengiriman dokumen melalui

E-mail. Berdasarkan pada penelitian sebelumnya, penelitian yang

diangkat pada skripsi ini dengan judul “Implementasi Algoritma Kriptografi RSA Dalam Pengamanan Pengiriman Dokumen”, RSA yang digunakan untuk enksripsi file .doc, .pdf, .excel,

.docx, .xls, .xlsx, .jpg, .gif, .png. Hasil enkripsi yaitu chipertext

akan disimpan dan dikirimkan melalui E-mail oleh aplikasi RSA

yang dibuat. Proses dekripsi yang menghasilkan plaintext dapat

dibuka atau read inbox dari E-mail. Dibandingkan dengan

Penerapan Algoritma RSA untuk Pengamanan Data dan Digital

Signature dengan . Net kunci private dan public melalui generate

dan ditampilkan pada textboxform, sedangkan penelitian ini kunci

(3)

2.2

Kriptografi

Kriptografi (cryptography) merupakan ilmu dan seni

penyimpanan pesan, data, atau informasi secara aman.

Kriptografi (Cryptography) berasal dari bahasa Yunani yaitu dari

kata Crypto dan Graphia yang berarti penulisan rahasia.

Kriptografi adalah suatu ilmu yang mempelajari penulisan secara

rahasia. Kriptografi merupakan bagian dari suatu cabang ilmu

matematika yang disebut Cryptology. Kriptografi bertujuan

menjaga kerahasiaan informasi yang terkandung dalam data

sehingga informasi tersebut tidak dapat diketahui oleh pihak yang

tidak sah.

Dalam menjaga kerahasiaan data, kriptografi

mentransformasikan data yang jelas (plaintext) ke dalam bentuk

data sandi (ciphertext) yang tidak dapat dikenali. Ciphertext

inilah yang kemudian dikirimkan oleh pengirim (sender) kepada

penerima (receiver). Setelah sampai di penerima, ciphertext

tersebut ditransformasikan kembali ke dalam bentuk plaintext

agar dapat dikenali.

Proses transformasi dari plaintext menjadi ciphertext

disebut proses Encipherment atau enkripsi (encryption),

sedangkan proses mentransformasikan kembali ciphertext

menjadi plaintext disebut proses dekripsi (decryption). Suatu

pesan yang tidak disandikan disebut sebagai plaintext ataupun

(4)

Untuk mengenkripsi dan mendekripsi data, kriptografi

menggunakan suatu algoritma (cipher) dan kunci (key). Cipher

adalah fungsi matematika yang digunakan untuk mengenkripsi

dan mendekripsi. Sedangkan kunci merupakan sederetan bit yang

diperlukan untuk mengenkripsi dan mendekripsi data (Stallings,

2005).

Secara sederhana, proses-proses tersebut dapat

digambarkan pada Gambar 2.1.

Plaintext Enkripsi Ciphertext Dekripsi Plaintext

Kunci Kunci

Gambar 2.1 Proses Enkripsi/Dekripsi Sederhana (Munir, 2006)

Cryptography adalah suatu ilmu ataupun seni

mengamankan pesan, dan dilakukan oleh cryptographer.

Sedangkan cryptanalysis adalah suatu ilmu dan seni membuka

(breaking) ciphertext dan orang yang melakukannya disebut

cryptanalyst.

Cryptographic system atau cryptosystem adalah suatu

fasilitas untuk mengkonversikan plaintext ke ciphertext dan

sebaliknya. Dalam sistem ini, seperangkat parameter yang

menentukan transformasi ciphering tertentu disebut suatu set

kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa

kunci kriptografi. Secara umum, kunci-kunci yang digunakan

untuk proses pengenkripsian dan pendekripsian tidak perlu

(5)

Secara umum operasi enkripsi dan dekripsi dapat

diterangkan secara matematis sebagai berikut :

EK (M) = C (Proses Enkripsi) (2.1)

DK (C) = M (Proses Dekripsi) (2.2)

Pada saat proses enkripsi disandikan pesan M dengan

suatu kunci K lalu dihasilkan pesan C. Sedangkan pada proses

dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci

K sehingga dihasilkan pesan M yang sama seperti pesan

sebelumnya.

Dengan demikian keamanan suatu pesan tergantung pada

kunci ataupun kunci-kunci yang digunakan, dan tidak tergantung

pada algoritma yang digunakan. Sehingga algoritma-algoritma

yang digunakan tersebut dapat dipublikasikan dan dianalisis, serta

produk-produk yang menggunakan algoritma tersebut dapat

diproduksi masal. Tidaklah menjadi masalah apabila seseorang

mengetahui algoritma yang digunakan. Selama tidak mengetahui

kunci yang dipakai, maka tidak dapat membaca pesan.

Kriptografi bertujuan untuk memberikan layanan pada

aspek-aspek keamanan antara lain:

1. Kerahasiaan (confidentiality), yaitu menjaga supaya pesan

tidak dapat dibaca oleh pihak-pihak yang tidak berhak.

2. Integritas data (data integrity), yaitu memberikan jaminan

bahwa untuk tiap bagian pesan tidak akan mengalami

perubahan dari saat data dibuat/dikirim oleh pengirim sampai

(6)

3. Otentikasi (authentication), yaitu berhubungan dengan

identifikasi, baik mengidentifikasi kebenaran pihak-pihak

yang berkomunikasi maupun mengidentifikasi kebenaran

sumber pesan.

4. Nirpenyangkalan (non repudiation), yaitu memberikan cara

untuk membuktikan bahwa suatu dokumen datang dari

seseorang tertentu sehingga apabila ada seseorang yang

mencoba mengakui memiliki dokumen tersebut, dapat

dibuktikan kebenarannya dari pengakuan orang tersebut

(Munir, 2006).

Berdasarkan kunci yang digunakan untuk enkripsi dan

dekripsi, kriptografi dapat dibedakan atas dua golongan, yaitu:

2.2.1 Kriptografi Simetrik (Symetric Cryptography)

Pada sistem kriptografi simetrik, kunci untuk proses enkripsi

sama dengan kunci untuk proses dekripsi. Keamanan sistem

kriptografi simetrik terletak pada kerahasiaan kunci. Istilah lain

untuk kriptografi simetrik adalah kriptografi kunci pribadi

(private key cryptography) atau kriptografi konvensional

(conventionalcryptography) (Kurniawan, 2004).

Plaintext, P Enkripsi

(7)

Algoritma kriptografi simetrik dapat dikelompokkan menjadi

dua kategori antara lain:

- Cipher aliran (stream cipher)

Algoritma kriptografi beroperasi pada plaintext/ciphertext

dalam bentuk bit tunggal yang dalam hal ini rangkaian bit

dienkripsikan/didekripsikan bit per bit. Cipher aliran

mengenkripsi satu bit setiap kali. Contoh algoritma stream

cipher: RC4, Panama dan Pike.

- Cipher blok (blockcipher)

Algoritma kriptografi beroperasi pada plaintext/ciphertext

dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi

menjadi blok-blok bit yang panjangnya sudah ditentukan

sebelumnya. Cipher blok mengenkripsi satu blok bit setiap kali.

Contoh algoritma blockcipher: Rinjdael, DES dan IDEA.

2.2.2 Kriptografi Asimetrik (Asymetric Cryptography)

Pada sistem kriptografi asimetrik, kunci untuk proses

enkripsi tidak sama dengan kunci untuk proses dekripsi. Istilah

lain untuk kriptografi asimetrik adalah kriptografi kunci publik

(public key cryptography), sebab kunci untuk enkripsi tidak

rahasia dan dapat diketahui oleh siapapun, sementara kunci untuk

dekripsi hanya diketahui oleh penerima pesan. Contoh algoritma

(8)

Plaintext, P Enkripsi

Gambar 2.3 Kriptografi Asimetrik (Kurniawan, 2004)

Key yang digunakan pada sistem kriptografi memegang

peran yang sangat penting dengan ketentuan:

1. Pseudo random number

2. Panjangnya key, semakin panjang semakin aman. Tetapi

perlu diingat bahwa membandingkan dua buah sistem

kriptografi yang berbeda dengan berdasarkan panjang key

-nya saja tidaklah cukup.

3. Private key harus disimpan secara aman baik dalam file

(dengan PIN atau passphrase) atau dengan smart card

(Stallings, 2005).

2.3Algoritma XOR

Algoritma kriptografi modern umumnya beroperasi dalam

mode bit ketimbang mode karakter (seperti yang dilakukan pada

cipher substitusi atau cipher transposisi dari algoritma kriptografi

klasik). Operasi dalam mode bit berarti semua data dan informasi

baik kunci, plainteks, maupun cipherteks, dinyatakan dalam

rangkaian (string) bit biner, 0 dan 1. Algoritma enkripsi dan

dekripsi memproses semua data dan informasi dalam bentuk

rangkaian bit. Rangkaian bit yang menyatakan plainteks

(9)

demikian sebaliknya. Perkembangan algoritma kriptografi

modern berbasis bit didorong oleh penggunaan komputer digital

yang merepresentasikan data dalam bentuk biner.

Operator XOR identik dengan penjumlahan modulo 2.

 Misalkan a, b, dan c adalah peubah Boolean. Hukum-hukum

yang terkait dengan operator XOR:

(i) aa = 0

(ii) ab = ba (Hukum komutatif)

(iii) a (bc) = (ab) c (Hukum asosiatif)

 Jika dua rangkaian dioperasikan dengan XOR, maka

operasinya dilakukan dengan meng-XOR-kan setiap bit yang

berkoresponden dari kedua rangkaian bit tersebut.

 Algoritma enkripsi sederhana yang menggunakan XOR

adalah dengan meng-XOR-kan plainteks (P) dengan kunci

(K) menghasilkan cipherteks:

C = PK

Karena meng-XOR-kan nilai yang sama dua kali

menghasilkan nilai semula, maka proses dekripsi menggunakan

persamaan:

P = CK

Contoh: plainteks 01100101 (karakter „e‟)

(10)

cipherteks 01010000 (karakter „P‟)

kunci 00110101  (karakter „5‟)

plainteks 01100101 (karakter „e‟)

2.4Algoritma RSA

RSA adalah algoritma public key encryption yang pertama

kali dipublikasikan tahun 1977 oleh Ron Rivest, Adi Shamir, dan

Leonard Adleman di MIT (Massachusetts Institute of

Technology). Algoritma RSA melibatkan dua buah kunci dalam

melakukan enkripsi yaitu public key dan private key. Public key

dapat disebarluaskan ke berbagai pihak untuk melakukan enkripsi

ataupun dekripsi. Pesan yang sudah terenkripsi dengan public key

hanya dapat didekripsi dengan menggunakan private key (Munir,

2006).

2.4.1 Pembangkitan Kunci RSA

Langkah-langkah pembangkitan kunci pada RSA (Ireland,

2010) adalah:

1. Pilih dua buah bilangan prima sembarang, p dan q. Untuk

memperoleh tingkat keamanan yang tinggi pilih p dan q

yang berukuran besar, misalnya 1024 bit.

2. Hitung n = p.q (sebaiknya pq, sebab jika p = q maka n

= p2 sehingga p dapat diperoleh dengan menarik akar

(11)

nilai untuk melakukan modulus pada public dan private

key.

3. Hitung: φ(n) = (p-1)(q-1) (2.3)

4. Pilih bilangan integer e sehingga 1 < e < φ (n), dan e

adalah bilangan prima, dimana e akan digunakan sebagai

privatekeyexponent.

5. Cari nilai d sehingga memenuhi: d ≡ e-1mod φ (n), atau

(2.4)

ed ≡ 1 mod φ (n), atau (2.5)

ed mod φ (n) = 1 (2.6)

Private Key terdiri dari n sebagai modulus dan e sebagai

eksponen, sedangkan public key terdiri dari n sebagai modulus

dan d sebagai eksponen yang harus dirahasiakan. Nilai eksponen

kunci public untuk RSA 1024 minimal 65537 untuk menjaga

keamanannya. Hubungan antara pesan dapat dituliskan:

Med = M mod n (2.7)

Jadi kebutuhan dari algoritma RSA sebelum proses adalah:

- p, q, dua bilangan prima yang berbeda

- n = pq

- e, di mana FPB (φ (n) ,e) = 1; 1 < e < φ (n)

(12)

2.4.2 Contoh Proses

Jika seorang user A ingin mengirimkan pesan kepada user

B, maka pertama kali yang harus dilakukan user A adalah

mengirimkan public key miliknya kepada user B. Setelah itu user

B akan melakukan enkripsi pesan yang akan dikirimkan dengan

menggunakan public key user B. Lalu user B melakukan enkripsi

dengan cara C = Me (mod n), C adalah ciphertext yang

dikirimkan dan M adalah message atau pesan. Setelah itu user A

akan menerima pesan C dan melakukan dekripsi dengan cara M =

Cd (mod n). Perlu diperhatikan bahwa panjang pesan M harus

lebih kecil dari n.

Contoh:

- Pilih dua bilangan prima yang berlainan

p = 61 dan q = 53

- Hitung n = pq

N = 61 * 53 = 3233

- Hitung totientφ (n) = (p-1)(q-1) φ (n) = (61 – 1) (53 – 1) = 3120

- Tentukan e > 1 yang coprime dengan 3120

e = 17

- Pilih d sehingga memenuhi ed ≡ 1 mod φ (n)

(13)

17 * 2753 = 46801 = 1 + 15 * 3120

- Jika m = 123, maka proses enkripsi adalah :

C = 12317 mod 3233 = 855

- Untuk proses dekripsi adalah :

M = 8552753 mod 3233 = 123

Misalkan pesan (plaintext) yang akan dikirim

adalah: m = HARI INI atau dalam sistem desimal

(pengkodean ASCII) adalah 7265827332737873.

Cara penyandiannya adalah:

- Pecah m menjadi blok yang lebih kecil, misalnya m

dipecah menjadi enam blok yang berukuran 3 digit :

m1 = 726 m4 = 273

m2 = 582 m5 = 787

m3 = 733 m6 = 003

Nilai-nilai m ini masih terletak di dalam selang [0,

3337 – 1] agar transformasi menjadi satu kesatu.

- Jika kunci publik adalah e = 79 dan n = 3337, maka

blok-blok plaintext dapat dienkripsikan menjadi:

c1 = 726 79 mod 3337 = 215; c2 = 582 79 mod 3337 = 776;

c3= 733 79 mod 3337 = 1743; c4 = 273 79 mod 3337 = 933;

c5 = 787 79 mod 3337 = 1731; c6 = 003 79 mod 3337 = 158

Jadi ciphertext yang dihasilkan adalah:

(14)

- Dekripsi dilakukan dengan menggunakan kunci pribadi d

= 1019

Blok-blok ciphertext didekripsikan menjadi:

m1 = 215 1019 mod 3337 = 726

m2= 776 1019 mod 3337 = 582

m3 = 1743 1019 mod 3337 = 733

m4= 933 1019 mod 3337 = 273

m5 = 1731 1019 mod 3337 = 787

m6 = 158 1019 mod 3337 = 003

- Akhirnya diperoleh kembali plaintext semula

m = 7265827332737873, yang dalam sistem

Gambar

Gambar 2.1 Proses Enkripsi/Dekripsi Sederhana (Munir, 2006)
Gambar 2.2 Kriptografi Simetrik (Kurniawan, 2004)
Gambar 2.3 Kriptografi Asimetrik (Kurniawan, 2004)

Referensi

Dokumen terkait

Variation linking models the ten- dency of individuals to associate with others based on occupational rela- tions; acquaintance relation forma- tion occurs on the basis of individual

Setiap Pemegang saham public DVLA yang secara tegas memberikan suara tidak setuju atas rencana Penggabungan Usaha pada saat RUPSLB DVLA dan bermaksud untuk

persentase tertinggi konsepsi siswa yang benar pada saat post-test terdapat pada konsep hubungan antara luas penampang dengan tekanan hirostatis, yaitu sebesar 96,77

[r]

Ditemukan bahwa kemampuan menafsirkan grafik kinematika siswa sebesar 19,09 % (tergolong rendah). Beberapa bentuk kesalahan penafsiran grafik kinematika adalah: a) pada

Proses pembelajaran yang sudah dilaksanakan, pasti ada hasil yang akan didapat yaitu berupa hasil belajar siswa. Untuk mengetahui hasil belajar siswa diperlukan suatu

______ murid dapat mencapai objektif yang ditetapkan dan ______.. murid yang tidak mencapai objektif akan diberi bimbingan khas dalam sesi akan datang..

Kelompok Ternak Itik Putri Mandiri merupakan salah satu kelompok peternakan bergerak dalam bidang produksi telur itik konsumsi yang melakukan kegiatan pemeliharaan itik Karawang yang