• Tidak ada hasil yang ditemukan

6 BAB 2 TINJAUAN PUSTAKA 2.1 Kriptografi

N/A
N/A
Protected

Academic year: 2019

Membagikan "6 BAB 2 TINJAUAN PUSTAKA 2.1 Kriptografi"

Copied!
18
0
0

Teks penuh

(1)

BAB 2

TINJAUAN PUSTAKA

2.1Kriptografi

Kriptografi ( cryptography ) berasal dari Bahasa Yunani yaitu “cryptos” yang artinya “secret” (rahasia) dan “graphein” yang artinya “writing” (menulis). Jadi kriptografi berarti “secret writing” (tulisan rahasia). Kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikan ke dalam bentuk yang tidak dapat dimengerti maknanya. Kriptografi mempunyai sejarah yang sangat menarik dan panjang. Kriptografi sudah digunakan lebih dari 4000 tahun yang lalu, diperkenalkan oleh orang-orang mesir lewat hieroglyph. (Mollin, Richard A.2007)

Keamanan data merupakan suatu hal yang dibutuhkan semua orang, supaya

data yang dikirim aman dari gangguan orang yang tidak bertanggungjawab yang dapat membahayakan keamanan pesan pada saat proses pengiriman data. Untuk mengamankan data tersebut kita menggunakan teknik kriptografi seperti yang sudah dijelaskan diatas. Ada beberapa komponen kriptografi dasar, seperti: (Ariyus, D. 2008)

1. Enkripsi

(2)

2. Dekripsi

Merupakan kebalikan dari Enkripsi. Pesan yang telah di Enkripsi dikembalikan kebentuk aslinya dan algoritma yang digunakan untuk dekripsi tentu saja berbeda dengan proses Enkripsi.

3. Kunci

Ada dua penerapan kunci pada pengamanan kriptografi yaitu, kunci umum (public key) dan kunci pribadi (private key).

4. Ciphertext

Ciphertext adalah bentuk penyandian dari proses Enkripsi dan pesan pada teks-kode ini tidak dapat dibaca karena berupa karakter-karakter yang tidak mempunyai ejaan atau makna tertentu.

5. Plaintext

Plaintext sering disebut dengan cleartex, Adalah teks asli yang memiliki makna yang akan dikirim kepada penerima. Teks asli inilah yang akan diproses dengan algoritma kriptografi menjadi ciphertext (teks-kode).

6. Pesan

Pesan adalah sesuatu informasi yang akan disampaikan atau dikirim kepada penerima dan pesan merupakan sesuatu yang sering dirahasiakan. Pesan dapat berupa data atau informasi yang di kirim baik itu melalui kurir, saluran komunikasi data, dan sebagainya atau yang disimpan didalam media perekaman seperti kertas, storage dan sebagainya.

7. Cryptanalysis

(3)

Algoritma kriptografi berdasarkan jenis kunci yang digunakan dapat dibedakan menjadi dua jenis yaitu:

a. Algoritma Simetris

Algoritma simetri sering disebut dengan algoritma klasik, karena memakai kunci yang sama untuk proses enkripsi dan dekripsi. Algoritma ini sudah ada sejak 4000 tahun yang lalu.

Karena kunci yang digunakan untuk proses enkripsi dan dekripsi sama, sehingga sering disebut juga one key/ private key/ single key, seperti Twofish, One Time Pad. (Mollin, Richard A.2007)

Gambar 2.1 Diagram proses enkripsi dan dekripsi algoritma simetris

b. Algoritma Asimetris

Algoritma Asimetri sering juga disebut dengan kunci publik. Dimana kunci yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan untuk dekripsi, seperti algoritma RSA, ElGamal, dll. Kunci-kunci tersebut berhubungan satu sama lain: (Mollin, Richard A.2007)

Gambar 2.2 Diagram proses enkripsi dan dekripsi algoritma asimetris

Plainteks Cipherteks Plainteks

enkripsi dekripsi

Kunci enkripsi (K) Kunci dekripsi (K)

Plainteks

Kunci Public (K1) Kunci Privat (K2) Cipherteks

(4)

2.2 Algoritma RSA

Dari sekian banyak algoritma kriptografi kunci-publik yang pernah dibuat, algoritma yang paling populer adalah algoritma RSA. Algoritma RSA dibuat oleh 3 orang peneliti dari MIT (Massachussets Institute of Technology) pada tahun 1976, yaitu: Ron (R)ivest, Adi (S)hamir, dan Leonard (A)dleman. Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima. Pemfaktoran dilakukan untuk memperoleh kunci pribadi. Selama pemfaktoran bilangan besar menjadi faktor-faktor prima belum ditemukan algoritma yang baik, maka selama itu pula keamanan algoritma RSA tetap terjamin. (Munir, R. 2007)

Besaran-besaran yang digunakan pada algoritma RSA:

1. p dan q bilangan prima (rahasia)

p dapat diperoleh dengan menarik akar pangkat dua dari r. 3. Penghitungan n = (p– 1)(q– 1).

4. Pemiilihan kunci publik e, yang relatif prima terhadap n.

5. Pembangkitan kunci rahasia menggunakan persamaan de = 1 + kn ,

sehingga d dapat dihitung dengan:

e kn

(5)

Keterangan : d : kunci dekripsi (rahasia)

e : kunci enkripsi (tidak rahasia) yang relatif prima terhadap n n : hasil perhitungan dari (p-1)(q-1)

k : dengan mencoba nilai 1,2,3,... sehingga nilai d bulat

Akan terdapat bilangan bulat k yang menyebabkan memberikan bilangan bulat d. Dengan catatan e dan d dapat dipertukarkan urutan pembangkitannya. Jika langkah 4 diganti dengan “Pemilihan kunci rahasia d, yang …”, maka pada langkah 5 kita menghitung kunci publik dengan rumus yang sama.

Contoh : Misalkan p = 47 dan q = 71 (keduanya prima). Selanjutnya, hitung nilai

r = pq = 3337 dan n = (p– 1)(q– 1) = 3220

Pemilihan kunci publik e = 79, karena 79 relatif prima dengan 3220. e dan r dapat dipublikasikan ke umum. Selanjutnya penghitungan kunci dekripsi d seperti yang dituliskan pada langkah instruksi 5 dengan menggunakan persamaan (1),

79

e : kunci enkripsi (tidak rahasia) diperoleh 79 n : hasil perhitungan dari (p-1)(q-1) diperoleh 3220 k : dengan mencoba nilai 1,2,3,... sehingga nilai d bulat

Dengan mencoba nilai k = 25 diperoleh nilai d yang bulat adalah 1019. Ini adalah kunci dekripsi yang harus dirahasiakan.

b. Proses Enkripsi

(6)

yi = xi e mod r ………(2)

Keterangan: yi : blok cipherteks r : hasil perkalian p dan q xi : blok plainteks

e : kunci enkripsi (tidak rahasia) yang relatif prima terhadap n

c. Proses Dekripsi

Setiap blok cipherteks yididekripsi kembali menjadi blok xi dengan rumus xi = yid mod r ………(3)

Keterangan: yi : blok cipherteks xi : blok plainteks

d : kunci dekripsi (rahasia) r : hasil perkalian p dan q

Contoh : Misalkan plainteks yang akan dienkripsikan adalah x = HARI INI atau dalam sistem desimal (pengkodean ASCII) = 7265827332737873

Kemudian x dipecah menjadi enam blok yang berukuran 3 digit:

x1 = 726 x3 = 733 x5 = 787

x2 = 582 x4 = 273 x6 = 003

Nilai-nilai xi ini masih terletak di dalam rentang 0 sampai 3337 – 1 (agar transformasi menjadi satu-ke-satu).

Kemudian blok-blok plainteks dienkripsikan dengan rumus yi = xi e mod r , sebagai berikut:

72679 mod 3337 = 215 = y1 27379 mod 3337 = 933 = y4 58279 mod 3337 = 776 = y2 78779 mod 3337 = 1731 = y5 73379 mod 3337 = 1743 = y3 00379 mod 3337 = 158 = y6

(7)

Dekripsi dilakukan dengan menggunakan kunci rahasia d = 1019

Apabila blok-blok cipherteks didekripsikan akan bernilai sebagai berikut: 2151019 mod 3337 = 726 = x1

7761019 mod 3337 = 582 = x2 17431019 mod 3337 = 733 = x3 …

Blok plainteks yang lain dikembalikan dengan cara yang serupa. Akhirnya kita memperoleh kembali plainteks semula x = 7265827332737873

Kemudian diubah dalam karakter ASCII adalah x = HARI INI.

2.3 Algoritma ElGamal

Algoritma ElGamal dibuat oleh Taher ElGamal pada tahun 1984. Algoritma Elgamal juga adalah algoritma kriptografi kunci-publik. Algoritma ini pada mulanya digunakan untuk digital signature, namun kemudian dimodifikasi sehingga juga bisa digunakan untuk enkripsi dan dekripsi. Kekuatan algoritma ini terletak pada sulitnya menghitung logaritma diskrit. (Munir, R. 2006)

Besaran-besaran yang digunakan dalam algoritma ElGamal yaitu:

1. p bilangan prima (tidak rahasia) 2. Bilangan acak, g ( g < p) (tidak rahasia) 3. Bilangan acak, x (x < p) (kunci privat) (rahasia) 4. y = gx mod p (kunci publik) (tidak rahasia) 5. m (plainteks) (rahasia) 6. a dan b (cipherteks) (tidak rahasia)

a. Prosedur Membuat Pasangan Kunci

1. Pemilihan sembarang bilangan prima p.

2. Pemilihan dua buah bilangan acak g dan x, dengan syarat g < p dan x < p. 3. Penghitungan y = gx mod p……… (4)

(8)

b. Proses Enkripsi

Plainteks disusun menjadi blok-blok m1, m2, …, sedemikian sehingga setiap blok merepresentasikan nilai di dalam rentang 0 sampai p – 1. Dilanjutkan dengan

pemilihan bilangan acak k, yang dalam hal ini 0  kp – 1, sedemikian sehingga k

relatif prima dengan p– 1. Setiap blok m dienkripsi dengan rumus:

a = gk mod p ………….. (5) dan b = ykm mod p…………..(6)

Keterangan: a : cipherteks pertama b : cipherteks kedua

p : bilangan prima yang telah ditentukan g : bilangan acak lebih kecil dari p

k : bilangan acak yang memenuhi 0 kp – 1

y : kunci publik hasil dari gx mod p m : blok-blok plainteks

Pasangan a dan b adalah cipherteks untuk blok pesan m. Dengan begitu ukuran cipherteks dua kali ukuran plainteksnya.

c. Proses Dekripsi

Untuk mendekripsi a dan b digunakan kunci rahasia, x, dan plainteks m diperoleh kembali dengan persamaan

(ax)-1 = ap-1-x mod p………….. (7) dan m = b/ax mod p………….. (8)

Keterangan: a : cipherteks pertama , x : kunci privat (x < p) b : cipherteks kedua , m : blok-blok plainteks p : bilangan prima yang telah ditentukan

(9)

2.4 Pengertian Citra

Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi 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. (Sutoyo. T. 2009)

Gambar koordinat citra digital dapat dilihat pada Gambar 2.3

Gambar 2.3 Koordinat Citra Digital

2.4.1 Pengertian Citra Analog

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 sebagainya. Citra analog tidak dapat direpresentasikan dalam komputer sehingga tidak bisa diproses di komputer secara langsung. Oleh sebab itu, agar citra ini dapat diproses di komputer, proses konversi analog ke digital harus dilakukan terlebih dahulu. Citra analog

(10)

sensor gelombang pendek pada sistem radar, sensor ultrasound pada sistem USG, dan lain sebagainya. (Sutoyo. T. 2009)

Hampir semua kejadian alam boleh diwakili sebagai perwakilan analog seperti bunyi, cahaya, air, elektrik, angin dan sebagainya. Jadi citra analog adalah citra yang terdiri dari sinyal–sinyal frekuensi elektromagnetis yang belum dibedakan sehingga pada umumnya tidak dapat ditentukan ukurannya. (Putra, D. 2010)

2.4.2 Pengertian Citra Digital

Secara umum, pengolahan citra digital menunjuk pada pemrosesan gambar dua dimensi menggunakan komputer. Citra digital merupakan sebuah larik yang berisi nilai-nilai real maupun komplek yang direpresentasikan dengan deretan bit tertentu. (Putra, D. 2010)

Citra digital adalah citra yang dinyatakan secara diskrit (tidak kontinu), baik untuk posisi koordinatnya maupun warnanya. Dengan demikian, citra digital dapat digambarkan sebagai suatu matriks, dimana indeks baris dan indeks kolom dari matriks menyatakan posisi suatu titik di dalam citra dan harga dari elemen matriks menyatakan warna citra pada titik tersebut. Dalam citra digital yang dinyatakan sebagai susunan matriks seperti ini, elemen–elemen matriks tadi disebut juga dengan istilah piksel yang berasal dari kata picture element (pixel).(Basuki, A. 2005)

Citra digital adalah citra yang terdiri dari sinyal–sinyal frekuensi elektromagnetis yang sudah disampling sehingga dapat ditentukan ukuran titik gambar yang pada umumnya disebut piksel. Untuk menyatakan citra secara matematis, dapat didefinisikan fungsi f(x,y) di mana x dan y menyatakan suatu posisi dalam koordinat dua dimensi dan harga f pada titik (x,y) adalah harga yang menunjukkan warna citra pada titik tersebut. (Sutoyo. T. 2009)

2.5 Jenis Citra

(11)

Namun secara umum jangkauannya adalah 0-255. Citra dengan penggambaran seperti ini digolongkan ke dalam citra integer. (Putra, D. 2010)

2.5.1 Citra Biner

Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai piksel yaitu hitam dan putih, sering juga disebut citra black and white atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap piksel dari citra biner (Putra, D. 2010). Citra biner sering kali muncul sebagai hasil dari proses pengolahan seperti segmentasi, pengembangan, ataupun morfologi.

Gambar 2.4 Citra Biner (Basuki, A. 2005)

2.5.2 Citra Grayscale

(12)

Gambar 2.5 Citra Grayscale 2.5.3 Citra Warna (16 Bit)

Citra warna 16 bit (biasanya disebut citra highcolor) dengan setiap pixelnya diwakili dengan 2 byte memory (16 bit).

Warna 16 bit memiliki 65.356 warna. Dalam formasi bitnya, nilai merah dan biru mengambil tempat di 5 bit di kanan dan kiri. Komponen hijau memiliki 5 bit ditambah 1 bit ekstra. Pemilihan komponen hijau dengan deret 6 bit dikarenakan penglihatan manusia lebih sensitive terhadap warna hijau. (Putra, D. 2010)

Gambar 2.6 Deret Warna 16 Bit (Putra, D. 2010)

Gambar 2.7 Kedalaman Warna 16 bit High Color (Prasetyo, E. 2012)

(13)

Setiap pixel dari citra warna 24 bit diwakili dengan 24 bit sehingga total 16.777.216 variasi warna. Variasi ini sudah lebih dari cukup untuk memvisualisasikan seluruh warna yang dapat dilihat penglihatan manusia. Penglihatan manusia dipercaya hanya dapat membedakan hingga 10 juta warna saja.

Setiap poin informasi pixel (RGB) disimpan ke dalam 1 byte data. 8 bit pertama menyimpan nilai biru, kemudian diikuti dengan nilai hijau pada 8 bit kedua dan pada 8 bit terakhir merupakan warna merah. (Putra, D. 2010)

Gambar 2.8 Citra Warna 24 Bit

2.6 Format File Citra Bitmap (.bmp)

Format file citra standar yang digunakan saat ini terdiri dari beberapa jenis.

Format-format ini digunakan dalam menyimpan citra dalam sebuah file. Setiap Format-format memiliki karakteristik masing-masing. (Putra, D. 2010)

(14)

Format .bmp adalah format penyimpanan standar tanpa kompresi yang umum dapat digunakan untuk menyimpan citra biner hingga citra warna. Format ini terdiri dari beberapa jenis yang setiap jenisnya ditentukan dengan jumlah bit yang digunakan untuk menyimpan sebuah nilai piksel. (Putra, D. 2010)

Pada format bitmap, citra disimpan sebagai suatu matriks di mana masing – masing elemennya digunakan untuk menyimpan informasi warna untuk setiap pixel. Jumlah warna yang dapat disimpan ditentukan dengan satuan bit-per-pixel. Semakin besar ukuran bit-per-pixel dari suatu bitmap, semakin banyak pula jumlah warna yang dapat disimpan. Format bitmap ini cocok digunakan untuk menyimpan citra digital yang memiliki banyak variasi dalam bentuknya maupun warnanya, seperti foto dan lukisan. (Putra, D. 2010)

Karakteristik lain dari bitmap yang juga penting adalah jumlah warna yang dapat disimpan dalam bitmap tersebut. Ini ditentukan oleh banyaknya bit yang digunakan untuk menyimpan setiap titik dari bitmap yang menggunakan satuan bpp (bit per pixel). Dalam Windows dikenal bitmap dengan 1, 4, 8, 16, dan 24 bit per piksel. Jumlah warna maksimum yang dapat disimpan dalam suatu bitmap adalah sebanyak 2n, dimana n adalah banyaknya bit yang digunakan untuk menyimpan satu

titik dari bitmap. (Sutoyo. T. 2009)

Berikut ini tabel yang menunjukkan hubungan antara banyaknya bit per piksel dengan jumlah warna maksimum yang dapat disimpan dalam bitmap, dapat dilihat pada Tabel 1.

Tabel 2.1 Hubungan Antara Bit Per Pikseldengan Jumlah Warna Pada Bitmap

(15)

2.7 Mode Warna

Dua mode warna yang banyak digunakan dalam dunia komputer adalah mode warna RGB yang diterapkan pada tabung display seperti pada monitor dan televisi/video dan CMYK yang digunakan pada kebanyakan mesin pencetak dokumen (printer). Untuk menampilkan sebuah citra pada layar monitor diperlukan lebih dari sekedar informasi tentang letak dari piksel-piksel pembentuk citra. Untuk memperoleh gambar yang tepat dibutuhkan juga informasi tentang warna yang dipakai untuk menggambarkan sebuah citra digital.

2.7.1 Mode Warna RGB (Red, Green, Blue)

RGB adalah suatu model warna yang terdiri atas 3 buah warna: merah (Red), hijau (Green), dan biru (Blue), yang ditambahkan dengan berbagai cara untuk menghasilkan bermacam-macam warna. Kegunaan utama model warna RGB adalah untuk menampilkan citra / gambar dalam perangkat elektronik, seperti televisi dan komputer, walaupun juga telah digunakan dalam fotografi biasa. Sebelum era elektronik, model warna RGB telah memiliki landasan yang kuat berdasarkan

pemahaman manusia terhadap teori trikromatik.

Model warna ini merupakan model warna yang paling sering dipakai. Contoh alat yang memakai mode warna ini yaitu TV, kamera, komputer, dan kamera digital. Kelebihan model warna ini adalah gambar mudah disalin / dipindah ke alat lain tanpa harus di-convert ke mode warna lain, karena cukup banyak peralatan yang memakai mode warna ini. Kelemahannya adalah tidak bisa dicetak sempurna dengan printer, karena printer menggunakan mode warna CMYK, sehingga harus diubah terlebih dahulu. RGB merupakan model warna aditif, yaitu ketiga berkas cahaya yang ditambahkan bersama-sama, dengan menambahkan panjang gelombang, untuk membuat spektrum warna akhir.

(16)

biru terang untuk membuat putih. Kuning diproduksi dengan mencampurkan merah, hijau, warna cyan dengan mencampurkan hijau dan biru, warna magenta dari kombinasi merah dan biru. Monitor komputer dan televisi memakai RGB. (Sutoyo. T. 2009)

Gambar 2.9 Warna RGB (Sutoyo. T. 2009)

2.7.2 Mode Warna CMYK (Cyan, Magenta, Yellow, Black)

CMYK (Cyan Magenta Yellow Black) adalah model warna yang biasanya digunakan di percetakan (Printer, Sablon, dll). Tinta process cyan, process magenta, process yellow, process black dicampurkan dengan komposisi tertentu dan tepat serta akurat sehingga menghasilkan warna cetak yang tepat seperti yang diinginkan pada background putih dengan media kertas maupun lainnya. Bahkan bila suatu saat diperlukan, warna ini dengan mudah bisa dibentuk kembali.

(17)

Gambar 2.10 Warna CMYK (Sutoyo. T. 2009)

2.7.3 Mode Warna HSI (Hue, Saturation, Intensity)

Model warna HSI (Hue, Saturation, Intensity) merupakan model warna yang paling sesuai dengan manusia. Pada model ini warna dibagi menjadi 3 yaitu corak (hue) kejenuhan (saturasi) dan kecerahan (Intensitas). Corak (hue) dapat diaplikasikan untuk membedakan objek dengan latar belakang. Kecerahan (intensitas) merupakan nilai abu-abu dari piksel, yaitu rata-rata dari RGB.

Gambar 2.11 Warna Hue (Prasetyo, E. 2012)

2.8 Kedalaman Bit

(18)

piksel citra pada sebuah frame. Kedalaman bit biasanya dinyatakan dalam satuan bit/piksel. Semakin banyak jumlah bit yang digunakan untuk merepresentasikan sebuahcitra, maka semakin baik kualitas citra tersebut.

Tabel 2.2 Hubungan Antara Kedalaman Warna Dan Resolusi Warna Kedalaman Warna Resolusi Warna

Gambar

Gambar 2.2 Diagram proses enkripsi dan dekripsi algoritma asimetris
Gambar koordinat citra digital dapat dilihat pada Gambar 2.3
Gambar 2.4 Citra Biner (Basuki, A. 2005)
Gambar 2.5 Citra Grayscale
+6

Referensi

Dokumen terkait

Kompresi data adalah proses mengubah sebuah aliran data input menjadi aliran data baru yang memiliki ukuran lebih kecil.. Aliran yang dimaksud adalah berupa

Vending machine retailing adalah format ritel bukan toko dimana produk yang dijual disimpan dalam sebuah mesin dan diberikan kepada konsumen apabila mereka

Proses resize pada penelitian ini tidak memerlukan metode khusus, caranya hanya dengan dilakukan perbandingan ukuran antara citra hasil thresholding (pada tahap latih) dan

File format BMP bisa disebut juga bitmap atau format file DIB (untuk perangkat independen bitmap ), adalah sebuah file gambar format yang digunakan untuk menyimpan gambar digital

Tahap selanjutnya setelah menjadi citra kontinu yaitu proses sampling, yang merupakan proses untuk menentukan warna pada piksel tertentu pada citra dari sebuah gambar

Segmentasi citra (image segmentation) mempunyai arti membagi suatu citra menjadi wilayah-wilayah yang homogen berdasarkan kriteria keserupaan yang tertentu antara tingkat

Pengolahan data yang dapat dilakukan terhadap citra digital antara lain adalah menampilkan bentuk gambar, melakukan perubahan pada gambar, dan mencetak citra

Pada bagian streamvideo ini berisi data yaitu tipe stream yang didefinisikan dengan 4 karakter kode, handler yang menangani kompresi saat file disimpan, kode untuk metode