• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI"

Copied!
12
0
0

Teks penuh

(1)

Enkripi Dekripsi BAB II

LANDASAN TEORI

2.1 Kriptografi

Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data ( Schneier, 1997).

2.1.1 Terminologi

Kriptografi merupakan seni dan ilmu untuk menjaga keamanan data dengan metode tertentu, dan pelakunya disebut kriptografer. Kriptografi disebut sebagai ilmu karena didalamnya terdapat metode yang digunakan, dan dikatakan sebagai seni karena dalam membuat suatu teknik kriptografi itu sendiri merupakan ciri tersendiri dari si pembuat dan memerlukan teknik khusus dalam mendesainnya. (Munir, 2006)

Pada standar ISO 7498-2 menggunakan istilah encipher untuk proses enkripsi dan

decipher untuk proses dekripsi. Skema rangkaian proses enkripsi dan dekripsi ditunjukkan

secara umum pada Gambar 2.1.

Dalam kriptografi, proses enkripsi dilakukan menggunakan suatu algoritma dengan beberapa parameter. Biasanya algoritma tidak dirahasiakan, bahkan enkripsi yang mengandalkan kerahasiaan algoritma dianggap sesuatu yang tidak baik. Rahasia terletak di beberapa parameter yang digunakan, jadi kunci ditentukan oleh parameter. Parameter yang menentukan kunci dekripsi itulah yang harus dirahasiakan (parameter menjadi equivalen dengan kunci).

Gambar 2.1 : Proses Enkripsi dan Dekripsi (Kromodimeoljo,2010) Naskah Asli Naskah Acak

Naskah Asli

(2)

2.1.2 Komponen Kriptografi

Pada dasarnya, kriptografi terdiri dari beberapa komponen (Ariyus, 2007) sebagai berikut : 1. Algoritma, merupakan himpunan aturan matematis yang digunakan dalam enkripsi dan

dekripsi.

2. Enkripsi, adalah transformasi data ke dalam bentuk yang tidak dapat terbaca tanpa sebuah kunci tertentu.

3. Dekripsi, merupakan kebalikan dari enkripsi, yaitu transformasi data terenkripsi kembali ke bentuknya semula.

4. Kunci, digunakan pada saat melakukan enkripsi dan dekripsi. Pada kriptografi modern, keamanan enkripsi tergantung pada kunci, dan tidak tergantung kepada algoritmanya apakah dilihat orang lain atau tidak.

5. Pesan asli (Plaintext), disebut juga dengan clear-text, merupakan teks asli yang akan diproses menggunakan algoritma kriptografi tertentu untuk menjadi Ciphertext.

6. Ciphertext, merupakan pesan yang telah melalui proses enkripsi yang merupakan himpunan karakter acak

7. Kriptologi, merupakan studi tentang kriptografi dan kriptanalisis.

8. Kriptanalisis (Cryptanalysist), merupakan aksi memecahkan mekanisme kriptografi dengan cara menganalisisnya untuk menemukan kelemahan dari suatu algoritma kriptografi sehingga akhirnya dapat ditemukan kunci atau teks asli.

9. Kriptosistem, adalah perangkat keras atau implementasi perangkat lunak kriptografi yang diperlukan dalam mentransformasi sebuah pesan asli menjadi Ciphertext dan juga sebaliknya.

2.1.3 Tujuan Kriptografi

Terdapat 4 tujuan dasar kriptografi ( Sharma, 2012) sebagai berikut:

 Confidentiality (kerahasiaan) yaitu isi pesan yang dikirim tidak diketahui oleh pihak yang tidak berhak.

 Data integrity (keutuhan data) yaitu isi pesan harus utuh, dimana tidak terjadi manipulasi data (penghapusan, pengubahan atau penambahan) oleh pihak yang tidak berhak.

(3)

 Authentication (keotentikan) yaitu berhubungan dengan identifikasi, baik secara kesatuan sistem atau informasi itu sendiri.

 Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat mencegah suatu pihak untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa pesan tersebut berasal dirinya).

2.2 Jenis-Jenis Algoritma Kriptografi

Terdapat dua jenis kriptografi jika dibagi berdasarkan kunci yang digunakan untuk proses enkripsi dan dekripsi, yaitu algoritma simetris dan algoritma asimetris.

2.2.1 Algoritma Simetris

Jika kunci yang digunakan untuk proses enkripsi dan proses dekripsi sama, maka

algoritma tersebut disebut algoritma simetris (Ayushi, 2010). Keamanan dari pesan yang dikirim tergantung pada kunci tersebut, apabila kunci tersebut diperoleh kepada orang yang tidak berhak, maka dia dapat memperoleh isi pesan tersebut (Sadikin, 2012). Algoritma simetris memiliki dua kategori yaitu stream algorithms dan block algorithms.

Stream algorithms beroperasi dalam satu bit tunggal selama satu selang waktu pada plainteks. Block algorithms beroperasi dalam group bit-bit dalam satu selang waktu pada plainteks.

Yang termasuk algoritma kunci simetris adalah Blowfish, OTP, DES, RC2, RC4, RC5, IDEA, Twofish, Magenta, FEAL, CAST, Rijndael (AES), GOST, A5, Kasumi dan lain-lainnya.

Gambar 2.2 :Skema Kunci Simetris ( Heriyanto, 1999).

Kelebihan kunci simetris:

a. Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetris.

b. Karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem real time

Kelemahan kunci simetris:

a. Untuk tiap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci yang berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci tersebut.

(4)

b. Permasalahan dalam pengiriman kunci itu sendiri yang disebut “key distribution problem” .

2.2.2 Algoritma Asimetris

Algoritma asimetris adalah sebuah teknik enkripsi yang menggunakan dua kunci yang berbeda, yaitu kunci publik untuk proses enkripsi dan kunci privat untuk proses dekripsi (Ayushi, 2010).

1. Kunci umum (public key), kunci yang boleh semua orang tahu (dipublikasikan) 2. Kunci rahasia (private key), kunci yang dirahasiakan ( hanya boleh satu orang yang

tahu ).

Dengan kunci publik, orang dapat mengenkripsi tetapi tidak dapat mendekripsikanya, hanya orang yang memilikki kunci privat yang dapat mendekripsikannya.Beberapa algoritma yang menggunakan asimetri adalah DSA, RSA, DH, ECC, Kriptografi Quantum, dan lain sebagainya.

Gambar 2.3 : Skema Kunci Asimetris (Heriyanto, 1999).

Kelebihan kunci asimetris:

a. Masalah keamanan pada distribusi kunci dapat lebih baik

b. Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit, maksudnya untuk berkorespondensi secara rahasia dengan banyak pihak tidak diperlukan kunci rahasia sebanyak jumlah pihak tersebut, cukup membuat dua buah kunci (disebut public-key) bagi para koresponden untuk mengenkripsi pesan, dan private-key untuk mendekripsi pesan.

Kelemahan kunci asimetris:

(5)

b. Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan dengan algoritma simetris.

2.3. Teori Bilangan

2.3.1. Operator Logika XOR

Operator logika Xor akan menghasilkan niilai True jika ekspresi di sebelah kiri Xor berbeda dengan ekspresi di sebelah kanannya. Jadi, operator logika Xor dapat diartikan “jika beda” akan bernilai True. Tabel hasil ekspresi logika Xor adalah sebagai berikut ini

Tabel 2.1. Tabel Operasi Logika Xor (Alam, 2005).

2.3.2. Faktor Persekutuan Terbesar

Faktor persekutuan Terbesar atau Greatest Common Divisor (GCD) merupakan bilangan bulat terbesar yang merupakan pembagi yang sama dari dua bilangan bulat. Misalkan

adan b adalah dua bilangan bulat yang tidak nol. Greatest Common Divisor (GCD) dari a

dan b adalah bilangan bulat terbesar c sedemikian sehingga c|a dan c|b. Greatest

Common Divisor (GCD) dari a dan b dapat dinotasikan dengan GCD(𝑎, b) (Munir,

2003).

2.3.3. Euclid

Salah satu cara untuk mendapatkan GCD(𝑎, b) adalah membuat daftar semua faktor dari 𝑎, membuat daftar semua dari b, dan kemudian mencari faktor yang terbesar yang ada dalam kedua daftar. Akan tetapi, untuk bilangan yang sangat besar, membuat daftar faktor bukanlah sesuatu yang mudah. Ada cara yang jauh lebih efisien untuk mendapatkan GCD(𝑎, b) yaitu dengan menggunakan algoritma Euclid (Eulidean

algorithm), yang seperti halnya dengan Chinese Remainder Theorem merupakan

algoritma penting yang berusia lebih dari 2000 tahun (Kromodimoeljo, 2010).

Contoh :

GCD(50, 20) adalah : 50 mod 20 = 10 20 mod 10 = 0

Ekspresi Hasil

False Xor False False

FalseXor True True

True Xor False True

(6)

Karena telah menghasilkan sisa pembagian sama dengan 0, maka proses berakhir dan didapatlah GCD(50, 20) = 10.

2.3.4. Algoritma Euclid dan Extended Euclid

Teorema yang digunakan sebagai dasar dari algortima Euclid adalah sebagai berikut:

Jika 𝑎 = qb + r maka GCD(𝑎, b) = GCD(b, r)………….……(1)

Algoritma Euclid menggunakan rumus di atas secara berulang untuk mendapatkan GCD, yaitu dengan memperkecil kedua bilangan yang dijadikan patokan untuk GCD setiap kali mengulang, tanpa merubah nilai GCD itu sendiri.Hasil dari komputasi GCD di dapat saat kedua patokan untuk GCD tidak dapat diperkecil lagi.

Untuk melakukan komputasi d = GCD(𝑎, b), pertama dilakukan preprocessing sebagai berikut :

1. Jika 𝑎 = 0 maka d = |b| dan jika b = 0 maka d = |𝑎| (GCDtidak dapat dikomputasi jika 𝑎 = b = 0).

2. Karena GCD(𝑎, b) = GCD(-𝑎, b) = GCD(𝑎, -b) = GCD(-𝑎, -b), kita dapat mentransformasikan komputasi menjadi d = GCD(|𝑎|, |b|), jadi kedua bilangan menjadi positif.

3. Karena GCD(𝑎, b) = GCD(b,𝑎), kita dapat saling tukar 𝑎 dan b jika 𝑎<b, dengan hasil 𝑎>b.

4. Jika 𝑎 = b maka d = 𝑎.

Setelah preprocessing, jika 𝑎 ≠ 0, b≠ 0, 𝑎 ≠b, maka komputasi sudah dirubah menjadi

d = GCD(𝑎, b) dengan 𝑎>b >0 (Kromodimoeljo, 2010).

2.4 Algoritma Blowfish

Blowfish adalah algoritma kunci simetri, yang berarti menggunakan kunci yang sama untuk

melakukan enkripsi dan dekripsi file. Blowfish juga merupakan cipher block, yang berarti selama proses enkripsi dan dekripsi, Blowfish akan membagi pesan menjadi blok-blok dengan ukuran yang sama panjang. Panjang blok untuk algoritma Blowfish adalah 64-bit. Pesan yang bukan merupakan kelipatan delapan byte akan ditambahkan bit-bit tambahan (padding) sehingga ukuran untuk tiap blok sama.

Algoritma dalam Blowfish terbagi menjadi dua bagiian, yaitu key expansion dan data

encryption.

Proses key expansion akan melakukan konversi sebuah kuci mulai dari 56 byte sampai beberapa array subkunci dengan total mencapai 4168 byte. Proses data encryptionterjadi pada

(7)

jaringan feistel, mengandung fungsi pengulangan sederhana sebanyak enam belas kali. Setiap iterasi, terdiri dari sebuah perutasi yang tidak bergantung pada kunci dan sebuah subsitusi yang tidak bergantung pada data dan kunci. Semua operasi merupakan penambahan dan XOR pada word 32-bit. Operasi penambahan yang dilakukan hanya merupakan empat indeks array data lookup pada setiap iterasi.

2.4.1 Langkah kerja Blowfish

A. Proses Ekspansi Kunci

1. Inisialisasi P-array yang pertama dan juga empat S-box, berututan, dengan string yang telah pasti.String tersebut terdiri dari digit-digit heksadesimal dari phi, tidak termasuk angka tiga di awal.

Contoh : P1= 0x243f6a88 P2= 0x85a308d3 P3= 0x13198a2e P4= 0x03707344

dan seterusnya sampai dengan P18.

2. XOR-kan P1 dengan 32-bit awal kunci, XOR-kan P2 dengan 32-bit berikutnya dari kunci, dan seterusnya untuk semua bit kunci. Jika panjang kunci ternyata kurang dari jumlah Pbox, maka siklus perhitungan akan diulangi hingga semua P ter-XOR-kan. 3. Enkripsikan string yang seluruhnya nol (all-zero string) dengan algoritma Blowfish,

menggunakan subkunci yang telah didekripsikan pada langkah 1 dan 2. 4. Gantikan P1 dan P2 dengan keluaran dari langkah 3

5. Enkripsikan keluaran langkah 3 menggunakan algoritma Blowfish dengan subkunci yang telah dimodifikasi.

6. Gantikan P3 dan P4 dengan keluaran dari langkah 5.

7. Lanjutkan langkah-langkah di atas, gantikan seluruh elemen P-array dan kemudian keempat S-box secara berurutan, dengan hasil keluaran algoritma Blowfish yang terus-menerus berubah.

(8)

B. Proses Enkripsi

1. Berdasarkan metode enkripsi Blowfish, untuk langkah awal yaitu file inputan atau file soal akan dirubah menjadi binary. Proses enkripsi dan dekripsi Blowfish dilakukan dengan pemecahan file menjadi per 64 bit. Dan kemudian 64 bit ini diinisialkan “x”. 2. Masukan data “x” 64 bit ini kemudian dipecah menjadi dua bagian yang disebut

dengan XR (X Right) dan XL (X Left) masing-masing 32 bit.

3. Menurut buku “Pengantar Ilmu Kriptografi” karangan Dony Ariyus [9], proses enkripsi maupun dekripsi dilakukan dengan iterasi fungsi sederhana sebanyak 16 kali.

Berikut rumus enkripsi : XL = XL XOR p[i]

XR = F(XL) XOR XR Tukar XL dan XR

Dimana rumus F adalah F(XL) = ((S[1,a] + S2[2,b] mod 232) XOR S[3,c]) + S[4,d] 4. Setelah iterasi ke-16, tukar XL dan XR lagi untuk melakukan pembatalan penukaran

terakhir.

5. Dari semua langkah di atas, langkah terakhir adalah kembali menggabungkan XR dan XL untuk mendapatkan cipherteks.

Proses enkripsi dengan algoritma Blowfish ini dapat digambarkan melalui bagan di bawah ini :

(9)

Gambar 2.4 : Alur Proses Enkripsi Blowfish

6. Untuk Proses Dekripsi, langkah sama persis dengan proses enkripsi, hanya saja urutan Pbox digunakan dengan urutan terbalik.

2.5. Citra

Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek.Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan (Sutoyo et al. 2009).

Citra tidak sama dengan teks yang hanya memberikan informasi secara jelas dengan kata-kata yang dipaparkan. Citra memberikan informasi dengan memberikan gambaran visual dan terkadang informasi yang diberikan dapat memacu imajinasi dari orang yang melihat citra tersebut.

Citra merupakan keluaran dari suatu sistem perekaman data yang bersifat optik, analog ataupun digital. Perekaman data citra dapat dibagi menjadi dua yaitu:

(10)

Citra analog adalah citra yang bersifat kontinu, seperti gambar pada monitor televisi, foto sinar-X, foto yang tercetak di kertas foto, lukisan , pemandangan alam, hasil CT scan, gambar-gambar yang terekam pada pita kaset, dan lain sebaginya (Sutoyo et al. 2009).

2. Citra Digital

Citra digital adalah citra yang dapat diolah oleh komputer (Sutoyo et al. 2009).Citra digital terdiri dari sinyal-sinyal yang dapat dibedakan dan mempunyai fungsi yang tidak kontinu yakni berupa titik-titik warna pembentuk citra.Hasil perekaman citra digital dapat disimpan pada suatu media magnetik (Handriyati, 2013).

Citra digital adalah citra yang terdiri dari sinyal-sinyal frekuensi elektromagnetis yang sudah di-sampling sehingga dapat ditentukan ukuran titik gambar tersebut yang pada umumnya disebut piksel (Santi, 2010).

Secara umum, pengolahan citra digital menunjuk pada pemrosesan gambar dua dimensi menggunakan komputer.Dalam konteks yang lebih luas, pengolahan citra digital mengacu pada pemrosesan setiap data dua dimensi. Citra digital merupakan sebuah larik (array) yang berisi nilai-nilai real maupun komplek yang direpresentasikan dengan deretan bit tertentu (Handriyati, 2013).

Suatu citra dapat didefinisikan sebagai fungsi f(x,y) berukuran M baris dan N kolom, dengan x dan y adalah koordinat spasial, dan amplitudo f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan dari citra pada titik tersebut. Apabila nilai x,y, dan nilai amplitudo f secara keseluruhan berhingga (finite) dan bernilai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra digital (Handriyati, 2013). Gambar 2.5 menunjukkan posisi koordinat citra digital.

Gambar 2.5. Posisi koordinat citra digital

2.5.1 Jenis-jenis Citra Digital

Ada banyak cara untuk menyimpan citra digital di dalam memori. Cara penyimpanan menentukan jenis citra digital yang terbentuk. Beberapa jenis citra digital yang sering digunakan adalah citra biner, citra grayscale dan citra warna(Abdul, 2013).

(11)

2.5.1.1 Citra Biner

Citra biner merupakan citra yang telah melalui proses pemisahan pixel-pixelberdasarkan derajat keabuan yang dimiliki. Citra biner adalah citra yang hanya direpresentasikan nilai tiap pixel-nya dalam satu bit (satu nilai binary). Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai pixel yaitu hitam dan putih. Salah satu contoh dari gambar biner dapat dilihat pada Gambar 1. Dibutuhkan satu bit dimemori untuk menyimpan kedua warna ini. Setiap pixel pada citra bernilai 0 untuk warna hitam dan 1 untuk warna putih [] (Abdul kadir, 2013).

Gambar 2.6 Citra Biner

2.5.1.2. Citra Grayscale

Citra grayscale menggunakan warna tingkatan keabuan. Warna abu-abu merupakan satu-satunya warna pada ruang RGB dengan komponen merah, hijau, dan biru yang mempunyai nilai intensitas yang sama. Citra grayscale memiliki kedalaman warna 8 bit (256 kombinasi warna keabuan). Salah satu contoh gambar dari citra grayscaledapat dilihat pada Gambar 2.7. Banyaknya warna yang ada tergantung pada jumlah bit yang disediakan di memori untuk menampung kebutuhan warna ini (Darma, 2010).

Gambar 2.7 Citra Grayscale

2.5.1.3. Citra Warna

Citra berwarna, atau biasa dinamakan citra RGB, merupakan jenis citra yang menyajikan warna dalam bentuk komponen R (red), G (green), dan B (blue). Setiap komponen warna menggunakan 8 bit (nilainya berkisar antara 0 sampai dengan 255).

(12)

Dengan demikian, kemungkinan warna yang bisa disajikan mencapai 255 x 255 x 255 atau 16.581.375 warna.Itu sebabnya format ini dinamakan true color karena memiliki jumlah warna yang cukup besar.Adapun salah satu contoh dari citra RGB seperti pada Gambar 2.8 (Darma, 2010).

Gambar

Gambar 2.1 : Proses Enkripsi dan Dekripsi (Kromodimeoljo,2010) Naskah Asli Naskah Acak
Gambar 2.2 :Skema Kunci Simetris ( Heriyanto, 1999).
Gambar 2.3 : Skema Kunci Asimetris (Heriyanto, 1999).
Gambar 2.4 : Alur Proses Enkripsi Blowfish
+4

Referensi

Dokumen terkait

Guru yang juga merupakan peneliti menjalankan tugas sebagai penilai sementara siswa yang lain diberi kebebasan untuk memberikan apresiasi sastra geguritan dengan memilih salah

Hal ini sesuai dengan penelitian yang dilakukan oleh Gusganda Suria Manda (2018) yang menjelaskan bahwa Penelitian ini menggunakan analisis deskriptif dan verifikatif

Masalah jaringan yang sering dialami pada Badan Sar Nasional adalah seringnya Downtime (Lambatnya Waktu Akses) pada jaringan komputer, pada Badan Sar Nasional

Unit PT PLN (PERSERO) yang akan membangun SCADA harus mengacu pada SPLN S3.001: 2008 Peralatan SCADA Sistem Tenaga Listrik. Jumlah yang dijelaskan pada tabel 6 dan tabel 7

Dari hasil penelitian ini, diketahui pula peran organisasi berpengaruh dalam mewujudkan penurunan tingkat kecelakaan, kenaikan produktifitas, penghematan biaya, dan

(2006), “Analisis faktor psikologis konsumen yang mempengaruhi keputusan pembelian roti merek Citarasa di Surabaya”, skripsi S1 di jurusan Manajemen Perhotelan, Universitas

Berdasarkan tabel di atas menunjukkan bahwa nilai Adjusted R 2 sebesar 0.233 atau 23.3% sehingga dapat disimpulkan bahwa variabel profitabilitas, risiko bisnis,

Layanan audio visual/pandang dengar sebagaimana dimaksud dalam Pasal 4 huruf i, menyediakan koleksi audio visual atau pandang dengar seperti kaset, CD dan DVD di