bab 2 tinjauan pustaka -...

14
Bab 2 Tinjauan Pustaka 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 file plaintext, ini merupakan kelebihan dan kekurangan. Adapun penelitian dengan judul “Penerapan Algoritma RSA Untuk Pengamanan Data Digital Signature dengan .NetRSA digunakan untuk enkripsi file dokumen berformat .doc dan

Upload: ngonga

Post on 16-Apr-2018

235 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6355/2/T1_672007050_BAB II… · RSA digunakan untuk enkripsi file dokumen berformat .doc dan

Bab 2

Tinjauan Pustaka

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 file plaintext, ini merupakan kelebihan dan kekurangan.

Adapun penelitian dengan judul “Penerapan Algoritma

RSA Untuk Pengamanan Data Digital Signature dengan .Net”

RSA digunakan untuk enkripsi file dokumen berformat .doc dan

Page 2: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6355/2/T1_672007050_BAB II… · RSA digunakan untuk enkripsi file dokumen berformat .doc dan

8

.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

private atau public disimpan didalam file chipertext.

Page 3: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6355/2/T1_672007050_BAB II… · RSA digunakan untuk enkripsi file dokumen berformat .doc dan

9

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

cleartext.

Page 4: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6355/2/T1_672007050_BAB II… · RSA digunakan untuk enkripsi file dokumen berformat .doc dan

10

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 Dekripsi PlaintextCiphertext

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

identik, tergantung pada sistem yang digunakan.

Page 5: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6355/2/T1_672007050_BAB II… · RSA digunakan untuk enkripsi file dokumen berformat .doc dan

11

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

dengan saat data tersebut dibuka oleh penerima data.

Page 6: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6355/2/T1_672007050_BAB II… · RSA digunakan untuk enkripsi file dokumen berformat .doc dan

12

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

(conventional cryptography) (Kurniawan, 2004).

Plaintext, PEnkripsi

EK(P) = C

Dekripsi

DK(C) = PPlaintext, PCiphertext, C

Kunci Pribadi, K Kunci Pribadi, K

Gambar 2.2 Kriptografi Simetrik (Kurniawan, 2004)

Page 7: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6355/2/T1_672007050_BAB II… · RSA digunakan untuk enkripsi file dokumen berformat .doc dan

13

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 (block cipher)

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 block cipher: 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

asimetrik: RSA, Knapsack, ECC dan Diffie-Hellman.

Page 8: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6355/2/T1_672007050_BAB II… · RSA digunakan untuk enkripsi file dokumen berformat .doc dan

14

Plaintext, PEnkripsi

EPK(P) = C

Dekripsi

DSK(C) = PPlaintext, PCiphertext, C

Kunci Publik, PK Kunci Pribadi, SK

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.3 Algoritma 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

dienkripsi menjadi cipherteks dalam bentuk rangkaian bit,

Page 9: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6355/2/T1_672007050_BAB II… · RSA digunakan untuk enkripsi file dokumen berformat .doc dan

15

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) a a = 0

(ii) a b = b a (Hukum komutatif)

(iii) a (b c) = (a b) 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 = P K

Karena meng-XOR-kan nilai yang sama dua kali

menghasilkan nilai semula, maka proses dekripsi menggunakan

persamaan:

P = C K

Contoh: plainteks 01100101 (karakter „e‟)

kunci 00110101 (karakter „5‟)

Page 10: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6355/2/T1_672007050_BAB II… · RSA digunakan untuk enkripsi file dokumen berformat .doc dan

16

cipherteks 01010000 (karakter „P‟)

kunci 00110101 (karakter „5‟)

plainteks 01100101 (karakter „e‟)

2.4 Algoritma 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 p ≠ q, sebab jika p = q maka n

= p2 sehingga p dapat diperoleh dengan menarik akar

pangkat dua dari n) di mana n akan digunakan sebagai

Page 11: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6355/2/T1_672007050_BAB II… · RSA digunakan untuk enkripsi file dokumen berformat .doc dan

17

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

private key exponent.

5. Cari nilai d sehingga memenuhi:

d ≡ e-1

mod φ (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)

- d ≡ e-1

mod φ (n)

Page 12: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6355/2/T1_672007050_BAB II… · RSA digunakan untuk enkripsi file dokumen berformat .doc dan

18

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)

d = 2753

Page 13: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6355/2/T1_672007050_BAB II… · RSA digunakan untuk enkripsi file dokumen berformat .doc dan

19

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:

c = 215 776 1743 933 1731 158

Page 14: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/6355/2/T1_672007050_BAB II… · RSA digunakan untuk enkripsi file dokumen berformat .doc dan

20

- 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

pengkodean ASCII adalah m = HARI INI