• Tidak ada hasil yang ditemukan

LANDASAN TEORI 2.1 Kriptografi 2.1.1 Definisi Kriptografi

N/A
N/A
Protected

Academic year: 2019

Membagikan "LANDASAN TEORI 2.1 Kriptografi 2.1.1 Definisi Kriptografi"

Copied!
14
0
0

Teks penuh

(1)

LANDASAN TEORI

2.1Kriptografi

2.1.1 Definisi Kriptografi

Kriptografi adalah ilmu yang mempelajari bagaimana supaya pesan atau dokumen

aman, tidak bisa dibaca oleh pihak yang tidak berhak. Dalam perkembangannya,

kriptografi juga digunakan untuk identifikasi pengirim pesan dengan sidik jari

digital (fingerprint). Kriptografi mempunyai sejarah yang sangat panjang. Sejak

jaman Romawi, Yulius Caesar telah menggunakan teknik kriptografi yang

sekarang dianggap kuno dan dan sangat mudah dibobol untuk keperluan

militernya. Pada perang dunia kedua, Jepang dan Jerman menggunakan

kriptografi untuk keperluan komunikasi[1].

Kriptografi ( cryptography ) berasa dari Bahasa Yunani yaitu “cryptos

yang artinya “secret” (rahasia) dan “graphein” yang artinya “writing”. 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 memiliki proses utama dalam menjaga dan menyandikan

sebuah pesan. proses enkripsi merupakan pengoperasian fungsi enkripsi

menggunakan kunci enkripsi pada plaintext sehingga dihasilkan

ciphertext .Sedangkan untuk proses dekripsi merupakan pengoperasian fungsi

dekripsi menggunakan kunci dekripsi pada ciphertext sehingga dihasilkan

plaintext. Proses enkripsi dan dekripsi dalam kriptografi merupakan proses yang

(2)

Plaintext (*.txt) Ciphertext(*.txt) Plaintext(*.txt)

Kunci enkripsi Kunci dekripsi

Gambar 2.1 Diagram Proses Enkripsi Dan Dekripsi[2]

Salah satu hal yang penting dalam komunikasi untuk menjamin

kerahasiaan data adalah enkripsi. Enkripsi adalah sebuah proses yang melakukan

perubahan kode dari bisa dimengerti menjadi sebuah kode yang tidak bisa

dimengerti(tidak terbaca). Dalam hal ini terdapat 3 kategori enkripsi, yaitu:

1.Kunci enkripsi pribadi. Dalam hal ini, terdapat sebuah kunci yang digunakan

untuk mengenkripsi dan juga sekaligus mendekripsikan informasi.

2.Kunci enkripsi publik. Dalam hal ini, dua kunci digunakan, satu untuk proses

enkripsi dan yang lain untuk proses dekripsi.

3.Fungsi one-way, atau fungsi satu arah adalah suatu fungsi dimana informasi

dienkripsi untuk menciptakan "signature" dari informasi asli yang bisa

digunakan untuk keperluan autentikasi.

Enkripsi mempunyai 2 hal yang penting mengenai model-model enkripsi

beserta algoritma yang di pakai yaitu enkripsi dengan kunci pribadi dan enkripsi

dengan kunci publik. Enkripsi dengan kunci pribadi, dimana si pengirim dan si

penerima telah sepakat untuk menggunakan metode enkripsi atau kunci enkripsi

tertentu. Sehingga pembuat pesan dan penerima harus memiliki kunci yang sama.

Beberapa model enkripsi dengan kunci pribadi, diantaranya adalah : Simple

Substitution Cipher, DES, Triple DES, Rivest Code 2 (RC2), dan Rivest Code 4

(RC4), IDEA, Skipjack, Caesar Cipher, Gost Block Cipher, Letter Map,

Transposition Cipher, Blowfish, Vigenere Cipher dan Tiny Encryption

Algorithm[3]. Sedangkan enkripsi dengan kunci publik , setiap orang yang

menggunakan enkripsi ini harus mempunyai dua buah kunci, satu disebut kunci

(3)

rahasia yang hanya boleh diketahui oleh dirinya sendiri dan yang lain disebut

kunci publik yang disebarkan ke orang lain. Metode enkripsi ini harus dijaga ketat

supaya tidak ada pihak luar mengetahuinya. Beberapa model enkripsi dengan

kunci publik, diantaranya adalah : Knapsack, Rivert Shamir Adelman,

Diffie-Helman, Tree Past Protocol, Elgamal[3].

2.1.2 Tiny Encryption Algorithm

Tiny Encription Algorithm (TEA) merupakan suatu algoritma sandi yang

diciptakan oleh David Wheeler dan Roger Needham dari Computer Laboratory,

Cambridge University, England pada bulan November 1994. Algoritma ini

merupakan algoritma mengenkripsi suatu blok plaintext dengan jumlah bit

tertentu dan menghasilkan blok ciphertext yang dirancang untuk penggunaan

memory yang seminimal mungkin dengan kecepatan proses yang maksimal.

Sistem penyandian TEA menggunakan proses feistel network dengan

menambahkan fungsi matematik berupa penambahan dan pengurangan sebagai

operator pembalik selain XOR. Proses feistel network adalah membagi plaintext

ke dalam beberapa blok dan melakukan penukaran letak blok dalam setiap round,

yang akan memberikan efek konsep konfusi dan difusi. Konfusi adalah

mengaburkan hubungan plaintext dan ciphertext yang menimbulkan kesulitan

dalam usaha untuk mencari keteraturan plaintext dan ciphertext, sedangkan difusi

adalah menyebarkan redudansi plaintext dengan menyebarkan masukan ke

seluruh ciphertext. Hal ini dimaksudkan untuk menciptakan Pergeseran dua arah

(ke kiri dan ke kanan) menyebabkan semua bit kunci dan data bercampur secara

(4)

Gambar 2.2 Satu Putaran Enkripsi Dalam Jaringan Feistel[9]

Bilangan delta berasal dari golden number, digunakan delta=(√5-1)231 Suatu bilangan delta ganda yang berbeda digunakan dalam setiap roundnya

sehingga tidak ada bit dari perkalian yang tidak berubah secara teratur. Berbeda

dengan sruktur feistel yang semula hanya mengoperasikan satu sisi yaitu sisi

sebelah kanan dengan sebuah fungsi F, pada algoritma TEA kedua sisi

dioperasikan dengan sebuah fungsi yang sama. Proses diawali dengan input-bit

plaintext sebanyak 64-bit[5]. Kemudian 64-bit plaintext tersebut dibagi menjadi

dua bagian, yaitu sisi kiri (L0) sebanyak bit dan sisi kanan (R0) sebanyak

32-bit. Setiap bagian plaintext akan dioperasikan sendiri-sendiri. R0 (z) akan digeser

kekiri sebanyak empat kali dan ditambahkan dengan kunci k(0). Sementara itu z

ditambah dengan sum (delta) yang merupakan konstanta. Hasil penambahan ini

di-XOR-kan dengan penambahan sebelumnya. Kemudian di-XOR-kan dengan

hasil penambahan antara z yang digeser kekanan sebanyak lima kali dengan kunci

k(1). Hasil tersebut kemudian ditambahkan dengan L0 (y) yang akan menjadi R1.

Sisi sebelah kiri akan mengalami proses yang sama dengan sisi sebelah kanan. L0

(y) akan digeser kekiri sebanyak empat kali lalu ditambahkan dengan kunci k(2).

(5)

di-XOR-kan dengan penambahan sebelumnya. Kemudian di-XOR-di-XOR-kan dengan hasil

penambahan antara Y yang digeser ke kanan sebanyak lima kali dengan kunci

k(3). Hasil tersebut kemudian ditambahkan dengan R0 (Z) yang akan menjadi L1.

Struktur dari penyandian dengan algoritma untuk satu cycle (dua round).

Berikut adalah langkah langkah penyandian dengan algoritma TEA dalam satu

cycle (dua round):

1. Pergeseran (shift)

Blok plaintext pada kedua sisi yang masing masing sebanyak 32-bit akan digeser

kekiri sebanyak empat (4) kali dan digeser ke kanan sebanyak lima (5) kali.

2. Penambahan

Setelah digeser kekiri dan kekanan, maka Y dan Z yang telah digeser akan

ditambahkan dengan kunci k(0)-k(3). Sedangkan Y dan Z awal akan ditambahkan

dengan sum (delta).

3. Peng-XOR-an

Setelah dioperasikan dengan penambahan pada masing-masing register maka

akan dilakukan peng-XOR-an dengan rumus untuk satu round.

rumus untuk satu round :

y = y + (((z<<4)+k(0))^z + sum^((z>>5)+k(1))) ...

(1)

z = z + (((y<<4)+k(2)^y + sum^((y>>5)+k(3))) ... (2),

dalam hal ini sum = sum + delta.

Rumus (1) dan (2) merupakan hasil penyandian dalam satu cycle satu blok

plaintext 64-bit menjadi 64-bit teks sandi adalah dengan menggabungkan y dan z.

(6)

menjadi z1 dan z1 menjadi y1 lalu dilanjutkan proses seperti langkah-langkah

diatas sampai dengan 16 cycle (32 round)[7].

4. Key Schedule

Pada algoritma TEA, key schedule-nya sangat sederhana. Yaitu kunci k(0) dan

k(1) konstan digunakan untuk round ganjil sedangkan kunci k(2) dan k(3)

konstan digunakan untuk round genap.

5. Dekripsi

Dalam proses dekripsi sama halnya seperti pada proses penyandian yang berbasis

feiste cipher lainnya. Yaitu pada prinsipnya adalah sama pada saat proses enkripsi.

Namun hal yang berbeda adalah penggunaan teks sandi sebagai input dan kunci

yang digunakan urutannya dibalik. Pada proses dekripsi semua round ganjil

menggunakan k(1) terlebih dahulu kemudian k(0), demikian juga dengan semua

round genap digunakan k(3) terlebih dahulu kemudian k(2)[7].

Hasil Enkripsi sampel dalam heksadesimal

Tabel 2.1 Tabel enkripsi TEA [7]

Plaintext Key Ciphertext

Berdasarkan tabel 2.1 terlihat bahwa TEA mengimplementasikan prinsip diffusion

milik Shanon dengan baik karena perbedaan 1 bit pada plaintext mengakibatkan

(7)

Rumus proses dekripsi :

L0 = L0 + f ( R0 , k(1), k(0), sum ) dan R0 = R0 + f ( L0, k(3), k(2), sum )... (3)

Rumus (3) merupakan proses dekripsi semua round ganjil menggunakan k(1)

terlebih dahulu kemudian k(0), demikian juga dengan semua round genap

digunakan k(3) terlebih dahulu kemudian k(2)[7].

2.1.3 Citra Digital

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, sedangkan digital adalah

Digital merupakan penggambaran dari suatu keada

angka 0 dan 1 atau off dan on (bilanga

adalah gambar dua dimensi yang dapat ditampilkan pada layar monitor komputer

sebagai himpunan berhingga (diskrit) nilai digital yang disebut pixel (picture

elements). Didalam komputer, citra digital disimpan sebagai suatu file dengan

format tertentu. Format citra tersebut menunjukkan sebuah citra digital disimpan.

Contoh format citra digital adalah .bmp, .gif, .img, .tif dan sebagainya. Berikut

merupakan tabel 2.2 format file citra untuk melihat fungsi dari format citra secara

detail[4].

Tabel 2.2 Format File Citra

Nama Format Ekstensi Kegunaan

Microsfot Windows

Bitmap Format

BMP Format umum untuk menyimpan citra bitmap

yang dikembangkan microsoft

Compuserve Graphics

interchange Format

GIF Format umum citra yang dirancang untuk

keperluan transmisi melalui modern

Aldus Tagged Image File

Format

TIF Format kompleks dan multiguna yang

(8)

GEM Image Format IMG Format bitmap yang dikembangkan untuk

riset digital lingkungan GEM

2.1.4 Bitmap

Bitmap adalah representasi dari citra grafis yang terdiri dari susunan titik yang

tersimpan di memori komputer. Dikembangkan oleh Microsoft dan nilai setiap

titik diawali oleh satu bit data untuk gambar hitam putih, atau lebih bagi gambar

berwarna. Citra digital memiliki kelebihan dan manipulasi warna, tetapi untuk

mengubah obyek yang lebih sulit, Citra bitmap diperoleh dengan cara scanner,

Camera Digital,video capture [4].

2.1.5 Steganography

Steganography merupakan seni untuk menyembunyikan pesan didalam media

digital sedemikian rupa sehingga orang lain tidak menyadari ada sesuatu pesan

didalam media tersebut. Kata steganografi(steganography) berasal dari bahasa

Yunani steganos yang artinya "tersembunyi/terselubung" dan graphein "menulis"

sehingga kurang lebih artinya "menulis(tulisan) terselubung".

Dalam bidang keamanan komputer, Steganography digunakan untuk

menyembunyikan data rahasia, saat enkripsi tidak dapat dilakukan atau bersamaan

dengan enkripsi. Walaupun enkripsi berhasil dipecahkan(decipher), pesan atau

data rahasia tetap tidak terlihat. Pada cryptography, pesan disembunyikan dengan

"diacak" sehingga pada kasus-kasus tertentu dapat dengan mudah mengundang

(9)

kecurigaan, sedangkan pada steganografi pesan "disamarkan" dalam bentuk yang

relatif lebih "aman" sehingga tidak terjadi kecurigaan itu[4].

+ =

Gambar 2.4 Proses Penyimpanan Data Rahasia Kedalam Media Digital

Steganography berbeda dengan cryptography, letak perbedaannya adalah

pada hasil keluarannya. Hasil dari cryptography biasanya berupa data yang

berbeda dari bentuk aslinya dan biasanya data seolah-olah berantakan sehingga

tidak dapat diketahui informasi apa yang terkandung didalamnya (namun

sesungguhnya dapat dikembalikan ke bentuk semula lewat proses dekripsi),

sedangkan hasil keluaran dari steganography memiliki bentuk persepsi yang

sama dengan bentuk aslinya. Menurut Suhono, kesamaan persepsi tersebut adalah

oleh indera manusia (khususnya visual), namun bila digunakan komputer atau

perangkat pengolah digital lainnya dapat dengan jelas dibedakan antara sebelum

proses dan setelah proses. Gambar 2.5 menunjukkan ilustrasi perbedaan antara

Steganography dan kriptografi[10].

Gambar 2.5 Perbedaan Steganography dan Cryptography

Wadah Penampung (Citra BMP)

Data Rahasia

(10)

Penyembunyian data rahasia ke dalam citra digital akan mengubah kualitas citra

tersebut. Kriteria yang harus diperhatikan dalam penyembunyian data adalah:

1. Fidelity. Mutu citra penampung tidak jauh berubah. Setelah penambahan data

rahasia, citra hasil steganografi masih terlihat dengan baik. Pengamat tidak

mengetahui kalau di dalam citra tersebut terdapat data rahasia.

2. Robustness. Data yang disembunyikan harus tahan terhadap manipulasi yang

dilakukan pada citra penampung (seperti pengubahan kontras, penajaman,

pemampatan, rotasi, perbesaran gambar, pemotongan (cropping), enkripsi, dan

sebagainya). Bila pada citra dilakukan operasi pengolahan citra, maka data yang

disembunyikan tidak rusak.

10. Recovery. Data yang disembunyikan harus dapat diungkapkan kembali

(recovery). Karena tujuan Steganography adalah data hiding, maka

sewaktu-waktu data rahasia di dalam citra penampung harus dapat diambil kembali untuk

digunakan lebih lanjut.

Gambar 2.6 Steganographic System[8]

Keterangan :

fE = fungsi steganografi “embedding

fE-1 = fungsi steganografi “extracting

cover = cover data pada emb akan di sembunyikan

emb = pesan yang akan disisipakan

(11)

key = parameter fE

stego = cover data dengan pesan yang telah disisipkan

Gambar 2.6 menunjukkan sebuah sistem steganografi umum dimana di bagian

pengirim pesan(sender) dilakukan proses embedding(fE) pesan yang hendak

dikirim secara rahasia(emb) ke dalam data cover sebagai tempat

menyimpannya(cover), dengan menggunakan kunci tertentu(key), sehingga

dihasilkan data dengan pesan tersembunyi di dalamnya(stego). Dibagian penerima

pesan(recipient), dilakukan proses extracting(fE-1) pada stego untuk memisahkan pesan rahasia(emb*) dan data penyimpan(cover*) tadi menggunakan kunci(key)

yang sama seperti pada proses embedding[8].

Steganografi lebih banyak dilakukan dari pada kriptografi. Hal ini

dikarenakan pada kriptografi pengacakan/penyandian pesan akan mengakibatkan

pesan berubah bentuk menjadi karakter-karakter samar, yang justru menimbulkan

kecurigaan terhadap orang yang membacanya. Namun jika pada steganografi,

tidak akan terlihat sama sekali bahwa ada pesan yang terkandung dalam gambar

tersebut. Salah satu media yang sering dipakai untuk menyisipkan pesan/data

adalah file image. Pada citra grayscale, akan didapat sebuah matrik yang

menunjukkan tingkat derajat keabuan dari masing-masing piksel. Sedangkan

untuk citra RGB, akan didapat tiga buah matrik yakni matrik R, matrik G dan

matrik B, tingkat R, G dan B dari citra.

Ada beberapa metode penyisipan pesan ke dalam citra, diantaranya adalah

: Metode EOF (End Of File).

2.2End Of File

Metode EOF merupakan salah satu teknik yang digunakan dalam Steganografi .

Metode ini menggunakan cara dengan menyisipkan data pada akhir file. Sehingga,

tidak akan mengganggu kualitas data awal yang akan disisipkan pesan. Namun,

ukuran file setelah disisipkan pesan rahasia akan bertambah. Sebab, ukuran file

yang telah disisipkan pesan rahasia sama dengan ukuran file sebelum disisipkan

(12)

file, diperlukan suatu tanda pengenal atau simbol pada awal dan akhir data yang

akan disisipkan[6].

Proses penyisipan pesan dengan metode EOF dapat dituliskan dalam

algoritma sebagai berikut:

1.Inputkan ciphertext yang akan disisipkan.

2.Inputkan citra yang akan menjadi media penyisipan ciphertext (cover image).

3.Baca nilai setiap pixel citra.

4.Tambahkan ciphertext sebagai nilai akhir pixel citra dengan diberi karakter

penanda sebagai penanda akhir ciphertext.

5.Petakan menjadi citra baru.

Sedangkan ekstraksi pesan yang sudah disisipkan dengan metode EOF

dapat dilakukan dengan algoritma berikut:

1. Inputkan citra yang telah disisipkan ciphertext (stego image).

2. Baca nilai pixelstego image yang terdapat pada baris terakhir matriks pixel

citra.

3. Ambil ciphertext yang terdapat pada stego image, yaitu nilai pixel awal yang

terdapat pada baris terakhir matriks pixel citra sampai nilai desimal karakter

penanda.

Contoh penyisipan pesan dan ekstraksi pesan dengan metode End Of File (EOF)

Pada sebuah citra 8 x 8 piksel disisipkan pesan yang berbunyi "fian" dengan key

yang berada didalam sistem: "saya".

Kode ASCII dari pesan diberikan sebagai berikut:

102 105 97 110

Dan kode ASCII dari key sebagai berikut :

(13)

Misalkan matrik tingkat derajat keabuan citra sebagai berikut :

250 255 255 248 247 246 249 253

248 250 249 255 229 244 252 255

194 221 249 249 157 192 243 251

152 190 244 254 171 207 235 255

201 227 243 250 217 245 244 246

244 252 255 194 221 249 249 152

255 229 244 252 255 250 255 255

201 227 243 250 152 190 244 254

Jika diterapkan dengan piksel 100 x 128

Gambar 2.7 Citra Sebelum Disisipkan Pesan

Kode biner pesan disisipkan diakhir citra sehingga citra menjadi :

250 255 255 248 247 246 249 253 102

248 250 249 255 229 244 252 255 105

194 221 249 249 157 192 243 251 97

152 190 244 254 171 207 235 255 110

201 227 243 250 217 245 244 246 115

244 252 255 194 221 249 249 152 97

255 229 244 252 255 250 255 255 121

(14)

Gambar 2.8 Citra Setelah Disisipkan Pesan

Pesan yang disisipkan dianggap sebagai nilai derajat keabuan citra dan akan

ditempatkan pada citra mulai baris terakhir, oleh karena itu metode EOF tidak

mensyaratkan maksimal panjang pesan yang dapat disisipkan. Hal ini akan

menyebabkan ukuran citra menjadi semakin besar. Agar tidak menimbulkan

kecurigaan, tetap harus dipertimbangkan agar pesan yang disisipkan tidak terlalu

mengubah ukuran dan bentuk fisik citra pada saat ditampilkan. Metode EOF akan

meletakkan pesan di akhir citra sehingga ukuran file akan bertambah besar, oleh

Gambar

Gambar 2.1 Diagram Proses Enkripsi Dan Dekripsi[2]
Gambar 2.2 Satu Putaran Enkripsi Dalam Jaringan Feistel[9]
Tabel 2.2  Format File Citra
Gambar 2.4  Proses Penyimpanan Data Rahasia Kedalam Media Digital
+4

Referensi

Dokumen terkait

Saat ini konsumen cenderung memiliki perilaku pembelian yang rumit ketika dihadapkan pada produk dan merek yang berbeda namun dengan jenis yang sama sehingga dibutuhkan

Sebagaimana diketahui dari pemaparan sebelumnya bahwa banyak kegiatan eksplorasi yang dapat dilakukan dalam kegiatan pembelajaran pada anak usia dini. Begitupula halnya

Tujuan dari penelitian ini adalah untuk mengetahui pengaruh motivasi, persepsi, dan sikap konsumen perusahaan terhadap keputusan pembelian produk Rajawali Nusindo

Dalam permasalahan ini perilaku pemilih pemula yang bernama Doni adanya pengaruh dari orangtua untuk memilih pilihan yang akan dipilih oleh orang tuanya, dalam pilkada

serta R adalah titik pada PQ seh titik pada PQ sehingga ingga berlaku perbandin berlaku perbandingan gan P PR  R   :  : RQ RQ  =  = -3 : -3 : 1, 1, maka maka vektor.. vektor

Pemberian berbagai komposisi media tanam berpengaruh nyata terhadap parameter : tinggi tanaman, jumlah anakan, jumlah daun, bobot basah umbi per sampel, bobot kering

Gambar 3.8 System Boundaries pada Sub Bagian Persuratan dan Arsip Distribusi &amp; Pengiriman Pengarsipan Surat &amp; Dokumen Percetakan Pencatatan Dokumen Divisi terkait Non BMG

Azokat a tanulókat, akik mind a három kérdéssel egyetértettek vagy inkább egyetértettek, a magas indexpontszámú kategóriába sorolták (pozitív attitűd), azokat pedig,