• Tidak ada hasil yang ditemukan

BAB 2 TINJAUAN PUSTAKA

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 TINJAUAN PUSTAKA"

Copied!
10
0
0

Teks penuh

(1)

BAB 2

TINJAUAN PUSTAKA

2.1 Kriptografi

Kriptografi (cryptography) merupakan ilmu dan seni untuk menjaga pesan agar aman. Para pelaku atau praktisi kriptografi disebut crytograpers. Sebuah algoritma kriptografik (cryptographic algorithm) disebut chipper, merupakan persamaan matematik yang digunakan untuk proses enskripsi dan deskripsi. Biasanya kedua persamaan matematik (untuk enskripsi dan deskripsi) tersebut memiliki hubungan matematis yang cukup erat. Proses yang dilakukan untuk mengamankan sebuah pesan (yang disebut plaintext) menjadi pesan yang tersembunyi (disebut Chipertext) adalah enskripsi (encryption).

Chipertext adalah pesan yang sudah dapat dibaca dengan mudah. Menurut ISO

(International Standart Organization) 7498-2, terminology yang lebih tepat digunakan adalah “ enchiper”. Proses sebaliknya, untuk mengubah chipertetx menjadi plaintext, disebut deskripsi (decryption). Menurut ISO 7498-2, terminology yang lebih tepat untuk proses ini adalah “dechiper”.

Untuk mengenkripsi dan mendeskripsi data. Kriptografi menggunakan suatu algoritma (cipher) dan kunci (key). Cipher adalah fungsi matematika yang digunakan untuk mengenkripsi dan mendeskripsi data. Sedangkan kunci merupakan sederetan bit yang diperlukan untuk mengenkripsi dan mendeskripsi data.

Algoritma kriptografi modern tidak lagi mengandalkan keamanannya pada kerahasiaan algoritma tetapi kerahasiaan kunci. Plaintext yang sama bila disandikan dengan kunci yang berbeda akan menghasilkan ciphertext yang berbeda pula. Dengan demikian algoritma kriptografi dapat bersifat umum dan boleh diketahui oleh siapa saja, akan tetapi tanpa pengetahuan tentang kunci, data tersandi tetap saja tidak dapat

(2)

terpecahkan. Sistem kriptografi atau cryptosystem adalah sebuah algoritma kriptografi ditambah semua kemungkinan plaintext, chipertext dan kunci.

2.1.1. Algoritma Kriptografi

Berdasarkan kunci yang dipakai, algoritma kriptografi dapat dibedakan atas dua golongan, yaitu:

a. Kunci Simetris

Kunci Simetris adalah jenis kriptografi yang paling umum digunakan. Kunci untuk membuat pesan yang disandikan sama dengan kunci untuk membuka pesan yang disandikan itu. Jadi pembuat pesan dan penerimanya harus memiliki kunci yang sama persis. Siapapun yang memiliki kunci tersebut termasuk pihak-pihak yang tidak diinginkan dapat membuat dan membongkar rahasia ciphertext. Contoh algoritma kunci simetris yang terkenal adalah DES (Data Encryption Standard).

Proses enkripsi – deskripsi algoritma kriptografi kunci simetris dapat dilihat pada gambar 2.1 dibawah ini:

Gambar 2.1 Proses Enkripsi – Deskripsi kunci simetris

Algoritma kriptografi simetris dibagi menjadi 2 bagian kategori yaitu algoritma aliran (Stream chippers) dan algoritma blok (Blok Ciphers). Pada algoritma aliran, proses penyandiannya berorientasi pada satu bit atau satu Byte data. Sedangkan algoritma blok memproses data secara blok, dimana beberapa karakter / data digabungkan menjadi satu blok menhasilkan keluaran satu blok juga. Contoh- contoh algoritma stream : RC 4, DSI, DS2, Helix, PC1, A2, SEAL, SNOW, VMPC, ORYX, dan lain –lain.

Encryption Decryption plaintext Original Plaintext chipertext key key

(3)

Sedangkan contoh – contoh algoritma block cipher diantaranya : Lucifer, DES, Triple DES, NewDES, TEA, XTEA, RC2, RC5, RC6, LOK189/91/97, MARS, Twofish, Blowfish, GOST, 3-way, CAST, FEAL, IDEA, MISTY, DEAL, dan lain – lain.

b. Kunci Asimetris

Kunci Asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enskripsi dan yang satu lagi untuk deskripsi. Semua orang yang mendapatkan kunci public dapat menggunakannya untuk menenkripsikan suatu pesan, data ataupun informasi, sedangkan hanya satu orang saja yang memiliki rahasia tertentu dalam hal ini kunci private untuk melakukan pembongkaran terhadap sandi yang dikirim untuk penerimanya. Contoh algoritma terkenal yang menggunakan kunci simetris adalah RSA. Proses enkripsi-deskripsi algoritma kunci asimetris dapat dilihat pada Gambar 2.2.

Gambar 2.2 Proses Enkripsi-Deskripsi Kunci Asimetris

Pada algorithm public key ini, semua orang dapat mengenkripsi data dengan memakai public key penerima yang telah diketahui secara umum. Akan tetapi data yang telah terenkripsi tersebut hanya dapat didekripsi dengan menggunakan private

key yang hanya dapat diketahui oleh penerima.

Contoh-contoh algoritma asimetris ini adalah RSA, EI Gamal, Diffie Hellman, DSA, dan lain-lain.

2.1.2. Algoritma RC (Ron’s Code)

RC merupakan singkatan dari Ron’s Code ataupun Rivest Cipher. Yang termasuk ke dalam keluarga algoritma RC ini mencakup RC2, RC4, RC5, dan RC6. Khusus RC1 dan RC3 tidak pernah dipublikasikan dan tidak terdapat informasi mengenai kedua

Encryption Decryption plaintext Original Plaintext chipertext Encryption key Descrytion key

(4)

algoritma tersebut. RC2, RC5, dan RC6 termasuk ke dalam block cipher sedangkan RC4 termasuk algoritma stream chiper.

2.1.3. Algoritma Block Cipher RC2

RC2 merupakan blok cipher didesain oleh Ron Rivest pada tahun 1987. Pengembangan RC2 disponsori oleh Lotus yang sedang mencari suatu cipher tertentu setelah evaluasi oleh NSA untuk diekspor sebagai bagian dari software Lotus Notes. Setelah negosiasi lanjut, cipher ini disetujui dan diekspor pada tahun 1989. Seperti diketahui pembatasan kunci untik ekspor kriptografi oleh pemerintah AS hanya sebesar 40 bit saja. Semua ini termuat dalam export regulation for cryptography. Detail dari algoritma ini dijaga kerahasiaannya dan sebagai property dari RSA Security. Tetapi pada tanggal 29 Januari 1996, source code atau kode sumber dari RC2 telah dipublikasikan ke Internet oleh orang tanpa nama melalui forum Usenet yaitu Sci.crypt.

RC2 merupakan block cipher 64 bit dengan variable key size. Terdiri atas 18

round yang diatur dengan feistel network yang sulit. Dengan 16 round Mixing yang

disambung dengan dua round Mashing. Mixing round terdiri atas empat aplikasi dari

Mix transformation seperti ditunjukkan pada Gambar 2.3 berikut ini :

NOT

<<<s

subkey

Gambar 2.3 Mix Transformation dari RC2 Subkey

(5)

2.1.4. Algoritma Stream Cipher RC4

Rc4 adalah jenis kriptografi symmetric key, secret key, dan stream cipher yang didesain oleh Ron Rivest. RC merupakan singkatan dari “Ron’s Code”. Dikenal secara umum sebagai block cipher RC2 dan RC5, dan block cipher RC6 yang didesain oleh Ron Rivest bersama orang lain. RC4 didesain sekitar tahun 1990-an.

RC4 adalah inisial rahasia perdagangan, tetapi pada September 1994 implementasi RC4 dipublikasikan tanpa nama pada Cypherpunks mailing list. Berita tersebut dengan cepat menyebar pada Usenet pada sci.crypt newsgroup dan pada beberapa site di Internet. Karena algoritmanya telah diketahui maka RC4 tidak lagi merupakan rahasia perdagangan. Nama dari RC4 adalah merupakan sebuah merek dagang, RC4 sering disebut sebagai “ARCFOUR” untuk menghindari kemungkinan dalam masalah merek dagang. RC4 merupakan bagian dari protocol standar enkripsi yang umum digunakan termasuk dalam SSL (Security Socket Layer) yang dipakai untuk mengamankan jaringan web browser.

RC4 diinisialisasi dari sebuah kunci rahasia. Kemudian di-generate sebuah “keystream” yang disederhanakan dengan XOR dengan plaintext untuk menghasilkan

ciphertext. Proses deskkripsi sama dengan proses enkripsi. Salah satu alasan untuk

kepopuleran RC4 adalah kesederhanaannya. Algoritma RC4 dapat diingat dan mudah diimplementasikan. Algoritma RC4 menggunakan 256 byte dari memori, S[0] hingga S[255], dan menggunakan variable integer i, j, dan k. Crytanalysis dari RC berada pada tahap yang tidak tentu. Secara teoritis RC4 dapat dipecahkan jika stream

ciphertext yang dihasilkan berjumlah giga byte, tetapi ini tidak merupakan masalah

utama dalam penerapannya. Pada tahun 2001 sebuah penemuan baru yang mengejutkan terjadi, semua kemungkinan kunci RC4, statistic dari byte pertama dari output keystream tidak dalam keadaan acak. Hal ini berefek ketika digunakan untuk memecahkan enkripsi WEP (wired Equivalent Privacy) yang dipakai pada 802.11 jaringan tanpa kabel. WEP menerapkan RC4 dengan banyak kunci yang mirip, sehingga memungkinkan jaringan ini terbuka untuk diserang. Implementasi RC4 saat ini sering mengabaikan 256 byte pertama atau lebih dari stream untuk mengatasi masalah tersebut.

(6)

Seperti halnya dengan cipher stream, RC4 mudah dipecahkan jika yang sama dipakai dua kali. Masalah ini biasanya diatasi dengan melakukan hashing kunci dengan vector inisialisasi unik (unique initialization vector) setiap kali kunci ini dipakai dan vector inisialisasi ini dikirim bersamaan dengan pesan.

RC4 merupakan stream cipher yang sangat cepat dan aman dari RSA. Data Security, Inc. RC4 digunakan dalam lingkungan dengan sumber daya yang kecil dengan resiko yang tinggi. RC4 tidak dipatenkan meskipun untuk tujuan komersial sekalipun. RC 4 menggunakan panjang kursi variable dari 1-256 byte (mempunyai kemampuan antara 1 – 2048 bit) untuk menginisialisasi 256 – byte state table.

Algoritma RC4 dibagi menjadi dua tahap, yaitu membentuk kunci dan ciphering (enskripsi/deskripsi). Pembentukan kunci merupakan tahap pertama dan tersulit. Selama pembentukan kunci, kunci enkripsi digunakan untuk menghasilkan sebuah variable enkripsi menggunakan 2 array (state array & key array) dan sejumlah operasi penjumlahan. Berikut ini penjelasan algoritma tahap – tahap dalam proses ciphering RC4:

1. Pembentukan Kunci ( Key Scheduling ) For 1 = 0……255

S ( i ) = i Next i

J = 0

For I = 0……255

J = ( j + S(i) + key [ I mod key_length]) mod 256 Swap ( S [i] , S [ j ])

2. Proses Enkripsi

For i = 0 to Len ( Plaintext – 1 ) i = ( i + 1 ) mod 256 j = ( j + S [ i ] ) mod 256 swap ( S [ i ] , S [ j ] )

k = S [ ( S [ i ] + S [ j ] ) mod 256 ] Ciphertext ( i ) = k XOR Plaintext ( i ) Next i

(7)

3. Proses Dekripsi

For i = 0 to Len ( Ciphertetx – 1 ) i = ( i + 1 ) mod 256

j = ( j + S [ i ] ) mod 256 swap ( S[ i ] , S[ j ] )

k = S [ ( S[ i ] + S [ j ] ) mod 256 ] plaintext ( i ) = k XOR Ciphertext ( i ) Next I

2.1.5. Algoritma Block Cipher RC6

RC6 merupakan block cipher turunan dari RC5. Didesain oleh Ron Rivest, Matt Robshaw, Ray Sidney, dan Yigun Lisa Yin untuk memenuhi persyaratan dari kompetisi Advanced Encryption Standard (AES). RC6 mempunyai block size 128 bit dan mendukung panjang kunci 128, 192, dan 256 bit. Seperti halnya RC5 maka RC6 dapat diparameter untuk mendukung panjang word yang lebih besar dan bervariasi,

key size, dan jumlah round yang dapat ditentukan. RC6 sangat mirip dengan RC5

dalam strukturnya. Menggunakan data dependent rotation, penjumlahan modular dan operasi XOR. Pada kenyataannya RC6 dapat dilihat sebagai proses enkripsi RC5 dengan dua parallel interweaving. RC6 menggunakan operasi perkalian ekstra yang tidak terdapat dalam RC6 dengan maksud membuat rotation dependent pada setiap bit, jadi tidak hanya beberapa least significant bit saja.

Algoritma RC6 dilengkapi dengan beberapa parameter, sehingga dituliskan sebagai RC6-w/r/b. Parameter w merupakan ukuran kata dalam satuan bit, parameter merupakan bilangan bukan negatuf yang menunjukan banyaknya iterasi selama proses enskripsi dan parameter b menunjukkan ukuran kunci enkripsi dalam byte. Setelah algoritma ini masuk ke dalam AES, maka ditetapkan bahwa nilai w = 32, r = 20, dan b bervariasi antara 16, 24, dan 32 byte.

a. Operasi dasar

RC6-w/r/b memecah blok 128-bit menjadi 4 buah blok 32-bit, dan mengikuti aturan enam operasi dasar sebagai berikut :

(8)

a – b operasi pengurangan bilangan integer a ⊕b operasi eksklusif OR (XOR)

a x b operasi perkalian bilangan integer a <<< b a dirotasikan ke kiri sebanyak b a >>> b a dirotasikan ke kanan sebanyak b

b. Algoritma enkripsi

Algoritma RC6 memecah blok 128 bit menjadi 4 buah blok 32 bit, maka algoritma ini bekerja dengan 4 buah register 32-bit A, B, C, D. Byte yang pertama dari plainteks atau cipherteks ditempatkan pada byte A, sedangkan byte yang terakhirnya ditempatkan pada byte D. Dalam prosesnya akan didapatkan (A, B, C, D) = (B, C, D, A) yang diartikan bahwa nilai yang terletak pada sisi kanan berasal dari register di sisi kiri. Gambar 2.4 berikut akan lebih menjelaskan proses enkripsi yang terjadi pada algoritma RC6.

Gambar 2.4 Proses Enkripsi

Algoritma RC6 menggunakan sub kunci yang dibangkitkan dari kunci dan dinamakan dengan S[0] hingga S[43]. Masing-masing sub kunci panjangnya 32bit. Proses enkripsi pada algoritma RC6 dimulai dan diakhiri dengan proses whitening yang bertujuan untuk menyamarkan iterasi yang pertama dan yang terakhir dari proses enkripsi dan dekripsi. Pada proses whitening awal, nilai B akan dijumlahkan dengan S[0] dan nilai D dijumlahkan dengan S[i]. Pada masing- masing iterasi pada RC6

(9)

menggunakan dua (2) buah sub kunci. Sub kunci pada iterasi yang pertama menggunakan sub-sub kunci lanjutannya. Setelah iterasi ke-20 selesai, dilakukan proses whitening akhir dimana nilai A dijumlahkan dengan S[42], dan nilai C dijumlahkan dengan S[43]. Setiap iterasi pada algoritma RC6 mengikuti aturan sebagai berikut, nilai B dumasukkan ke dalam fungsi f, yang didefinisikan sebagai f(x) = x(2x + 1), kemudian diputar ke kiri sejauh 5 bit. Hasil yang didapat pada proses ini dimisalkan sebagai u. Nilai u kemudian di XOR dengan C dan hasilnya menjadi nilai C. Nilai t juga digunakan sebagai acuan bagi C untuk memutar nilainya ke kiri. Begitu pula dengan nilai U, juga digunakan sebagai acuan bagi nilai A untuk melakukan proses pemutara ke kiri. Kemudian sub kunci S[2i] pada iterasi dijumlahkan dengan A, dan sub kunci S[2i+1] dijumlahkan dengan C. Keempat bagian dari blok kemudian akan dipertukarkan dengan mengikuti aturan bahwa nilai A ditempatkan pada D, nilai B ditempatkan pada A, nilai C ditempatkan pada B, dan nilai (asli) D ditempatkan pada C. Demikian iterasi tersebut terus berlangsung hingga dua puluh (20) kali.

c. Algoritma dekripsi

Proses dekripsi cipherteks pada algoritma RC6 merupakan pembalikan dari proses enkripsi. Pada proses whitening, bila proses enkripsi menggunakan operasi penjumlahan, maka pada proses dekripsi menggunakan operasi pengurangan. Sub kunci yang digunakan pada proses whitening setelah iterasi terakhir diterapkan sebelum iterasi pertama, begitu juga sebaliknya sub kunci yang diterapkan pada proses whitening sebelum iterasi pertama digunakan pada whitening setelah iterasi terakhir. Akibatnya, untuk melakukan dekripsi, hal yang harus dilakukan semata- mata hanyalah menerapkan algoritma yang sama dengan enkripsi, dengan tiap iterasi menggunakan sub kunci yang sama dengan yang digunakan pada saat enkripsi, hanya saja urutan sub kunci yang digunakan terbalik. 2.2. Citra Analog dan Citra Digital

Citra adalah suatu proyeksi scene tiga dimensi ke dalam permukaan dua dimensi.

Scene didefenisikan sebagai kumpulan objek tiga dimensi dengan pengaturan

geometris.

Citra dapat direpresentasikan ke dalam citra analog dan citra digital. Citra analog biasanya ditampilkan oleh garis – garis raster horizontal. Tiap garis dibentuk oleh

(10)

sinyal analog yang membawa variasi berkelanjutan dari intensitas cahaya sepanjang garis horinzontal dalam objek tiga dimensi aslinya. Analog berhubungan dengan hal yang berterusan (continue) dalam satu dimensi.

Citra digital terdiri dari sinyal-sinyal frekuensi elektromagnetis yang sudah di

sampling, dan ukuran pixel dari citra tersebut sudah dapat ditentukan. Sampling

Gambar

Gambar 2.1 Proses Enkripsi – Deskripsi kunci simetris
Gambar 2.2 Proses Enkripsi-Deskripsi Kunci Asimetris
Gambar 2.3 Mix Transformation dari RC2 Subkey
Gambar 2.4 Proses Enkripsi

Referensi

Dokumen terkait

Pengujian hipotesis dilakukan untuk mengetahui perbedaan tingkat keterikatan karyawan pada perawat yang diberikan pelatihan kebermaknaan kerja (kelompok eksperimen)

Abstrak : Tujuan dari penelitian ini adalah untuk mengetahui pengaruh motivasi kerja terhadap disiplin kerja pegawai pada dinas pemuda dan olahraga provinsi riau.Di

Pada saat melakukan start dengan jarak 45 M mahasiswa melakukan lari dengan cepat namun begitu mendekati papan tolakan kecepatan lari mulai berkurang dan

Untuk menemukan hubungan pola asuh orang tua, pergaulan teman sebaya dan media televisi terhadap karakter siswa di SMP Negeri 25 Purworejo, dengan unsur pokok kajian seperti

Mengikut pemahaman saya, pentaksiran dalam Pendidikan Khas adalah untuk memberi maklumat dan gambaran tentang tahap penguasaan murid dalam pelbagai kemahiran seperti membaca,

Protokol ini berbasis pada standard HTTP dan XML , dimana request data dilakukan melalui HTTP dan metadata yang didapatkan adalah dalam format XML yang sesuai dengan standar

Penelitian ini dilakukan untuk mengetahui perbandingan perhitungan penyusutan aktiva tetap PT Synergy Indonesia jika menggunakan metode penyusutan garis lurus atau metode saldo

Berdasarkan latar belakang yang telah diuraikan di atas, maka rumusan masalah dalam penelitian ini adalah adakah pengaruh intensitas mengikuti bimbingan agama