BAB 2 TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

BAB 2 LANDASAN TEORI

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

BAB Kriptografi

KOMBINASI ALGORITMA ONE TIME PAD CIPHER DAN ALGORITMA BLUM BLUM SHUB DALAM PENGAMANAN FILE

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

BAB 2 TINJAUAN PUSTAKA

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom

SISTEM KRIPTOGRAFI. Mata kuliah Jaringan Komputer Iskandar Ikbal, S.T., M.Kom

Disusun oleh: Ir. Rinaldi Munir, M.T.

Kriptografi Kunci Rahasia & Kunci Publik

BAB II LANDASAN TEORI

Pengenalan Kriptografi

BAB 2 LANDASAN TEORI

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Rancang Bangun Kombinasi Chaisar Cipher dan Vigenere Cipher Dalam Pengembangan Algoritma Kriptografi Klasik

Analisa Perbandingan Algoritma Monoalphabetic Cipher Dengan Algoritma One Time Pad Sebagai Pengamanan Pesan Teks

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014)

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

2.1 Keamanan Informasi

BAB II LANDASAN TEORI

Bab 2 Tinjauan Pustaka

Kriptografi Modern Part -1

BAB II LANDASAN TEORI

Analisis Algoritma One Time Pad Dengan Algoritma Cipher Transposisi Sebagai Pengamanan Pesan Teks

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB I PENDAHULUAN. Universitas Sumatera Utara

BAB I PENDAHULUAN. mempunyai makna. Dalam kriptografi dikenal dua penyandian, yakni enkripsi

TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali:

BAB 2 LANDASAN TEORI. 2.1 Pengertian Kriptografi

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

BAB II. Dasar-Dasar Kemanan Sistem Informasi

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

BAB I PENDAHULUAN. Pengiriman informasi yang dilakukan dengan mengirimkan data tanpa melakukan

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam

BAB II TINJAUAN PUSTAKA

Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI. Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi.

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

Perhitungan dan Implementasi Algoritma RSA pada PHP

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman)

BAB II LANDASAN TEORI

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

BAB 2 LANDASAN TEORI

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

ANALISA DAN IMPLEMENTASI ALGORITMA TRIANGLE CHAIN PADA PENYANDIAN RECORD DATABASE

BAB II TINJAUAN PUSTAKA

Kriptografi Modern Part -1

ERWIEN TJIPTA WIJAYA, ST.,M.KOM KEAMANAN INFORMASI

Artikel Ilmiah. Diajukan Kepada Fakultas Teknologi Informasi Untuk Memperoleh Gelar Sarjana Komputer

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

KEAMANAN BASIS DATA DENGAN TEKNIK ENKRIPSI

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

KRIPTOGRAFI VERNAM CIPHER UNTUK MENCEGAH PENCURIAN DATA PADA SEMUA EKSTENSI FILE

Kombinasi Algoritma OTP Cipher dan Algoritma BBS dalam Pengamanan File

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN 1.1. Latar belakang

Cipher yang Tidak Dapat Dipecahkan (Unbreakable Cipher)

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

STUDI ALGORITMA SOLITAIRE CIPHER

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya

K i r p i t p o t g o ra r f a i

BAB III PENYANDIAN ONE TIME PAD MENGGUNAKAN SANDI VIGENERE

BAB II TINJAUAN PUSTAKA

BAB 3 METODOLOGI PENELITIAN

BAB I PENDAHULUAN 1.1 Latar Belakang

Algoritma Kriptografi Modern

Kompleksitas Waktu Algoritma Kriptografi RC4 Stream Cipher

BAB III PENGERTIAN DAN SEJARAH SINGKAT KRIPTOGRAFI

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

Pengantar Kriptografi

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN Latar belakang

(pencurian, penyadapan) data. Pengamanan data dapat dilakukan dengan dua cara, yaitu steganography dan cryptography.

BAB I PENDAHULUAN. Pada era teknologi informasi yang semakin berkembang, pengiriman data

BAB I PENDAHULUAN. 1.1 Latar Belakang

Penerapan Matriks dalam Kriptografi Hill Cipher

PENERAPAN KEAMANAN BASIS DATA DENGAN TEKNIK ENKRIPSI. Hari Purwanto, Manajemen Informatika, Fakultas Teknologi Industri, Universitas Suryadarma

Algoritma Kriptografi Modern (Bagian 1)

+ Basic Cryptography

BAB 2 TINJAUAN PUSTAKA

Transkripsi:

BAB 2 TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi merupakan salah satu ilmu pengkodean pesan yang digunakan untuk meningkatkan keamanan dalam pengiriman pesan atau komunikasi data. Kriptografi penting dalam dunia teknologi informasi saat ini terutama dalam bidang komputer yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi. Kriptografi juga menjadi salah satu syarat penting dalam keamanan teknologi informasi dalam pengiriman pesan penting dan rahasia. 2.1.1 Pengertian Kriptografi Kriptografi (cryptography) berasal dari bahasa Yunani yang terdiri dari dua kata cryptós artinya rahasia dan gráphein atinya tulisan. Ada beberapa defenisi kriptografi yang digunakan sekitar tahun 1980-an yaitu kriptografi merupakan ilmu dan seni untuk menjaga kerahasian pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya (Munir, 2011). Jadi kriptografi secara umum merupakan teknik pengamanan informasi dimana informasi tersebut diubah dengan menggunakan kunci tertentu melalui proses enkripsi menjadi informasi baru yang tidak dapat dimengerti oleh orang yang tidak berhak menerimanya, kemudian informasi tersebut dapat diubah kembali oleh orang yang berhak menerimanya melalui proses dekripsi. 2.1.2 Tujuan Kriptografi Salah satu upaya pengamanan sistem informasi yang dapat dilakukan adalah kriptografi. Kriptografi sesungguhnya merupakan studi terhadap teknik matematis yang terkait dengan aspek keamanan suatu sistem informasi, antara lain seperti

kerahasiaan, integritas data, otentikasi, dan ketiadaan penyangkalan. Keempat aspek tersebut yag menjadi tujuan fundamental dari suatu sistem kriptografi : 1. Kerahasiaan (confidentiality) Kerahasiaan adalah layanan yang digunakan untuk menjaga informasi dari setiap pihak yang tidak berwenang untuk mengaksesnya. Dengan demikian informasi hanya akan dapat diakses oleh pihak-pihak yang berhak saja. 2. Integritas data (data integrity) Integritas data merupakan layanan yang bertujuan untuk mencegah terjadinya pengubahan informasi oleh pihak-pihak yang tidak berwenang. Untuk meyakinkan integritas data ini harus dipastikan agar sistem informasi mampu mendeteksi terjadinya manipulasi data. Manipulasi data yang dimaksud di sini meliputi penyisipan, penghapusan, maupun penggantian data. 3. Otentikasi (authentication) Otentikasi merupakan layanan yang terkait dengan identifikasi terhadap pihakpihak yang ingin mengakses sistem informasi (entity authentication) maupun keaslian data dari sistem informasi itu sendiri (data origin authentication). 4. Ketiadaan penyangkalan (non-repudiation) Ketiadaan penyangkalan merupakan layanan yang berfungsi untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengiriman pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan. 2.1.3 Mekanisme Kriptografi Suatu sistem kriptografi (kriptosistem) bekerja dengan cara menyandikan suatu pesan menjadi suatu kode rahasia yang dimengerti oleh pelaku sistem informasi saja. Pada dasarnya mekanisme kerja semacam ini telah dikenal sejak jaman dahulu. Dalam era teknologi informasi sekarang ini, mekanisme yang sama masih digunakan tetapi tentunya implementasi sistemnya berbeda. Sebelum membahas lebih jauh mekanisme kriptografi modern, berikut ini diberikan beberapa istilah yang umum digunakan dalam pembahasan kriptografi. (Munir, 2011) 1. Plaintext Plaintext (message) merupakan pesan asli yang ingin dikirimkan dan dijaga keamanannya. Pesan ini tidak lain dari informasi tersebut.

2. Chipertext Chipertext merupakan pesan yang telah dikodekan (disandikan) sehingga siap untuk dikirimkan. 3. Cipher Cipher merupakan algoritma matematis yang digunakan untuk proses penyandian plaintext menjadi ciphertext. 4. Enkripsi Enkripsi (encryption) merupakan proses yang dilakukan untuk menyandikan plaintext sehingga menjadi chipertext. 5. Dekripsi Dekripsi (decryption) merupakan proses yang dilakukan untuk memperoleh kembali plaintext dari ciphertext. 6. Kriptosistem Kriptosistem merupakan sistem yang dirancang untuk mengamankan suatu sistem informasi dengan memanfaatkan kriptografi. Prosesnya pada dasarnya sangat sederhana. Sebuah plainteks (m) akan dilewatkan pada proses enkripsi (E) sehingga menghasilkan suatu cipherteks (c). Kemudian untuk memperoleh kembali plainteks, maka cipherteks (c) melalui proses dekripsi (D) yang akan menghasilkan kembali plainteks (m). Secara matematis proses ini dapat dinyatakan sebagai, (Mollin,2007) E(m) = c... (1) D(c) = m... (2) D(E(m)) = m... (3) Kriptografi sederhana seperti ini menggunakan algoritma penyandian yang disebut cipher. Keamanannya bergantung pada kerahasiaan algoritma penyandian tersebut, karena itu algoritmanya harus dirahasiakan. Pada kelompok dengan jumlah besar dan anggota yang senantiasa berubah, penggunaannya akan menimbulkan masalah. Algoritma harus diganti jika ada anggota yang meninggalkan kelompok untuk menghindari algoritma tersebut bocor kerahasiaannya. Kriptografi modern selain memanfaatkan algoritma juga menggunakan kunci (key) untuk memecahkan masalah tersebut. Proses enkripsi dan dekripsi dilakukan

dengan menggunakan kunci ini. Setiap anggota memiliki kuncinya masing-masing yang digunakan untuk proses enkripsi dan dekripsi yang akan dilakukannya. Dengan demikian ada sedikit perubahan yang harus dilakukan pada mekanisme yang digambarkan pada gambar diatas menjadi seperti gambar dibawah berikut ini, Kunci Kunci Enkripsi Dekripsi Plain Teks Cipher Plain Teks Gambar 2.1 Kriptografi berbasis kunci (Munir, 2011) Mekanisme kriptografi seperti ini dinamakan kriptografi berbasis kunci. Dengan demikian kriptosistemnya akan terdiri atas algoritma dan kunci, beserta segala plainteks dan cipherteksnya. Persamaan matematisnya menjadi seperti berikut, E e (m) = c... (4) D d (c) = m... (5) D d (E e (m)) = m... (6) dengan, e = kunci enkripsi d = kunci dekripsi 2. 2 Kriptografi Simetrik dan Asimetrik Berdasarkan jenis kunci yang digunakan dalam proses enkripsi dan dekripsi, kriptografi dapat dibedakan menjadi dua jenis, yaitu kriptografi simetrik dan kriptografi asimetrik. Perbedaan utama di antara keduanya terletak pada sama dan tidaknya kunci yang digunakan dalam proses enkripsi dengan kunci yang digunakan pada proses dekripsi. Proses enkripsi pada kriptografi simetris sangat baik namun sangat rentan pada pengaman data yang dienkripsi. Kunci asimetris dapat

mengerjakan apa yang tidak dapat dikerjakan pada kriptografi simetris yaitu sangat baik pada manajemen kunci. (Schneir,1996). 2.2.1. Kriptografi Simetrik Kriptografi simetrik (symmetric cryptography) atau dikenal pula sebagai kriptografi kunci rahasia (secret-key cryptography), merupakan kriptografi yang menggunakan kunci yang sama baik untuk proses enkripsi maupun dekripsi. Secara matematis dapat dinyatakan bahwa : e = d = k... (7) Ek(m) = c... (8) D k (c) = m... (9) Istilah lain untuk kriptografi kunci simetri adalah kriptografi kunci privat (private-key cryptography), kriptografi kunci rahasia (secret-key cryptography), atau kriptografi konvensional (conventional cryptography). Proses enkripsi dan dekripsi pada kriptografi simetri dapat dilihat pada gambar 2.2. Algoritma Enkripsi Algoritma Dekripsi Gambar 2.2 Proses Enkripsi dan Dekripsi Kriptografi Simetri Contoh algoritma kunci simetris yang terkenal adalah DES (Data Encryption Standard) dan RC-4. Kategori yang termasuk pada algoritma simetris ini adalah algoritma block cipher, stream cipher dan One Time Pad.

Kelebihan kriptografi simetri adalah: a. Proses enkripsi dan dekripsi kriptografi simetri membutuhkan waktu yang singkat. b. Ukuran kunci simetri relatif pendek. c. Otentikasi pengiriman pesan langsung diketahui dari cipherteks yang diterima, karena kunci hanya diketahui oleh penerima dan pengirim saja. Kekurangan kriptografi simetri adalah: a. Kunci simetri harus dikirim melalui saluran komunikasi yang aman dan kedua entitas yang berkomunikasi harus menjaga kerahasiaan kunci. b. Kunci harus sering diubah, setiap kali melaksanakan komunikasi. 2.2.2 Kriptografi Asimetrik Kriptografi asimetrik (asymmetric cryptography) menggunakan kunci enkripsi dan kunci dekripsi yang berbeda. Kunci enkripsi dapat disebarkan kepada umum dan dinamakan sebagai kunci publik (public key) sedangkan kunci dekripsi disimpan untuk digunakan sendiri dan dinamakan sebagai kunci pribadi (private key). Oleh karena itulah, kriptografi ini dikenal pula dengan nama kriptografi kunci publik (public key cryptography). Pada kriptosistem asimetrik, setiap pelaku sistem informasi memiliki sepasang kunci, yaitu kunci publik dan kunci pribadi. Kunci publik didistribusikan kepada umum, sedangkan kunci pribadi disimpan untuk diri sendiri. Algoritma yang memakai kunci publik diantaranya adalah: a. Digital Signature Algorithm (DSA). b. RSA c. Diffie-Hellman (DH) Proses enkripsi dan dekripsi pada kriptografi asimetri dapat dlihat pada gambar 2.3 berikut: Gambar 2.3 Proses Enkripsi dan Dekripsi Kriptografi Asimetri

Kelebihan kriptografi asimetri adalah: a. Hanya kunci privat yang perlu dijaga kerahasiaannya oleh setiap entitas yang berkomunikasi. b. Pasangan kunci privat dan kunci publik tidak perlu diubah dalam jangka waktu yang sangat lama. c. Dapat digunakan dalam pengamanan pengiriman kunci simetri. d. Beberapa algoritma kunci publik dapat digunakan untuk memberi tanda tangan digital pada pesan. Kelemahan kriptografi asimetri adalah: a. Proses enkripsi dan dekripsi umumnya lebih lambat dari algoritma simetri, karena menggunakan bilangan yang besar dan operasi bilangan yang besar. b. Ukuran cipherteks lebih besar dari pada plainteks. c. Ukuran kunci relatif lebih besar dari pada ukuran kunci simetri. Kelebihan dan kelemahan yang ada pada masing-masing kriptografi, maka tidaklah benar bahwa kriptografi kunci publik menggantikan kriptografi kunci simetris. Karena kriptografi kunci publik mempunyai kelemahan dari segi waktu komputasi dan ukuran cipherteks dibandingkan dengan kriptografi kunci simetris, maka hal ini mempunyai implikasi dalam praktek dan penggunaan. 2.3 Kriptografi Klasik dan Modern Kriptografi berdasarkan sejarahnya dibagi atas dua yaitu kriptografi klasik dan modern. (Mollin,2007) 2.3.1. Kriptografi Klasik Algoritma kriptografi (cipher) yang digunakan pada zaman sebelum komputer ada disebut algoritma klasik yang berbasiskan karakter. Proses persandian dilakukan pada setiap karakter pesan. Semua algoritma klasik termasuk ke dalam sistem kriptografi simetris dan digunakan jauh sebelum sistem dan digunakan jauh sebelum sistem kriptografi publik ditemukan. (Mollin,2007)

Ada tiga alasan untuk mempelajari algoritma klasik, yaitu: 1. Untuk memnerikan pamahaman konsep dasar kriptografi 2. Sebagai dasar dari algoritma modern 3. Memahami potensi-potensi kelemahan sistem cipher. (Munir,2006) Kriptografi klasik dibagi menjadi dua yaitu Substitution Ciphers (Cipher Substitusi) dan Transposition Ciphers (Transposisi cipher). a. Substitution Ciphers (Cipher Substitusi) Sistem kriptografi yang menggunakan operasi substitusi disebut dengan sistem substitusi. Prinsip utama cipher substitusi yaitu mengganti munculnya sebual simbol dengan simbol lain. Sistem kriptografi yang berbasis substitusi diantaranya adalah Shift Cipher (Caisar Cipher), Vigenère Cipher dan Hill Cipher. (Sadikin, 2012) b. Transposition Ciphers (Cipher Transposisi). Algoritma ini melakukan transpose terhadap rangkaian arakter didalam teks. Pada Cipher transposisi huruf-huruf pada plainteks tetap sama hanya urutannya yang diubah. Cipher transposisi dikenal dengan metode permutasi atau pengacakan (scrambling) karena transpose setiap karakter di dalam teks sama dengan mempermutasikan karakter-karakter tersebut. Cipher Transposisi dapat dikelompokkan kedalam dua jenis yaitu sandi transposisi columnar dan sandi permutasi. (Sadikin, 2012) 2.3.2. Kriptografi Modern Algoritma kriptografi modern umumnya beroperasi dalam mode bit ketimbang mode karakter (seperti yang dilakukan pada cipher substitusi atau cipher transposisi dari algoritma kriptografi klasik). Algoritma kriptografi modern dibuat sedmikian kompleks sehingga kripnatalis sangat sulit memecahkan cipherteks tanpa mengetahui kunci. (Munir,2006) Perkembangan algoritma kriptografi modern berbasis bit didorong oleh penggunaan komputer digital yang merepresentasikan data dalam bentuk biner. Algoritma kriptografi yang beroperasi dalam mode bit dapat dikelompokkan menjadi dua kategori:

1. Cipher aliran (stream cipher) Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit. 2. Cipher blok (block cipher) Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya. Misalnya panjang blok adalah 64 bit, maka itu berarti algoritma enkripsi memperlakukan 8 karakter setiap kali penyandian (1 karakter = 8 bit dalam pengkodean ASCII). 2.4 Keamanan Algoritma Kriptografi Sebuah algoritma kriptografi dikatakan aman (computationally secure) bila ia memenuhi tiga kriteria berikut : 1. Persamaan matematis yang menggambarkan operasi algoritma kriptografi sangat kompleks sehingga algoritma tidak mungkin dipecahkan secara analitik. 2. Biaya untuk memecahkan ciphertext melampaui nilai informasi yang terkandung di dalam ciphertext tersebut. 3. Waktu yang diperlukan untuk memecahkan ciphertext melampaui lamanya 4. Waktu informasi tersebut harus dijaga kerahasiaannya. 2.5 One Time Pad Algoritma One Time Pad (OTP) merupakan algoritma berjenis symetric key yang artinya bahwa kunci yang digunakan untuk melakukan enkripsi dan dekripsi merupakan kunci yang sama. Dalam proses enkripsi, algoritma ini menggunakan cara stream cipher yang berasal dari hasil XOR antara bit plaintext dan bit key. Pada metode ini plain text diubah kedalam kode ASCII dan kemudian dikenakan operasi XOR terhadap kunci yang sudah diubah ke dalam kode ASCII. One Time Pad ditemukan pada tahun 1917 oleh Major Joseph Mauborgne. Cipher ini termasuk ke dalam kelompok algoritma kriptografi simetri. One Time Pad

(pad = kertas bloknot) berisi barisan karakter-karakter kunci yang dibangkitkan secara acak. Aslinya, satu buah one time pad adalah sebuah pita (tape) yang berisi barisan karakter-karakter kunci. Satu pad hanya digunakan sekali (one time) saja untuk mengenkripsi pesan, setelah itu pad yang telah digunakan dihancurkan supaya tidak dipakai kembali untuk mengenkripsi pesan yang lain. Aturan enkripsi yang digunakan persis sama seperti pada Cipher Vigenere. Pengirim pesan menggunakan setiap karakter kunci untuk mengenkripsikan satu karakter plaintext. (Munir, 2006) Enkripsi dapat digambarkan sebagai penjumlahan modulo 26 dari satu karakter plainteks dengan satu karakter kunci one time pad. Secara matematis proses ini dapat dijelaskan dengan persamaan berikut : (Mollin, 2007) ci = (pi + ki) mod 26... (10) keterangan : pi : karakter plainteks ki : karakter kunci ci : karakter Cipherteks Setelah pengirim mengenkripsikan pesan dengan one time pad, ia menghancurkan one time pad tersebut (makanya disebut satu kali pakai atau one time). Penerima pesan menggunakan one time pad yang sama untuk mendekripsikan karakter-karakter cipherteks menjadi karakter-karakter plainteks dengan persamaan: pi = (ci ki ) mod 26... (11) Suatu algoritma dikatakan bagus keamanannya, apabila belum ada atau tidak ada cara untuk menemukan plaintext-nya. Sampai saat ini, hanya algoritma One Time Pad (OTP) yang dinyatakan tidak dapat dipecahkan meskipun diberikan sumber daya yang tidak terbatas. Prinsip enkripsi pada algoritma ini adalah dengan mengkombinasikan masingmasing karakter pada plaintext dengan satu karakter pada kunci. Oleh karena itu, panjang kunci setidaknya harus sama dengan panjang plaintext. Secara teori, adalah hal yang tak mungkin untuk mendeskripsi ciphertext tanpa mengetahui kuncinya.

Sebab jika kunci yang digunakan salah, akan diperoleh hasil yang salah juga, atau bukan plaintext yang seharusnya. Kemudian setiap kuncinya hanya boleh digunakan untuk sekali pesan. Pengambilan kunci harus dilakukan secara acak supaya tidak dapat diterka lawan dan jumlah karakter kunci harus sebanyak jumlah karakter pesan. Contoh : Plainteks Kunci : MESRAN : ALDYAN Maka Plainteks : M E S R A N Kunci : A L D Y A N Hasil : M P V P A A Fungsi untuk mengenkrip pesan juga dapat dilakukan dengan cara meng-xor-kan plaintext dengan kunci yang telah disiapkan untuk menghasilkan ciphertext c = p XOR K... (12) Sedangkan fungsi untuk mendekripsi tinggal meng-xor-kan ciphertext dengan kunci yang sudah disepakati p = c XOR K... (13)

contohnya : Sebuah plaintext yaitu RUSDI dan memiliki sebuah kunci yaitu CRASH. Perlu diingat panjang kunci harus sama dengan plaintext dan sebaiknya tidak ada karakter yang diulang. Pertama kita harus mendapatkan kode ASCII dari plaintext kemudian diubah ke bentuk biner. Karakter ASCII Biner R 82 0101 0010 U 85 0101 0010 S 83 0101 0011 D 68 0100 0100 I 73 0100 1001 Hal yang sama juga harus dilakukan pada kunci yang dipilih. Karakter ASCII Biner C 67 0100 0011 R 82 0101 0010 A 65 0100 0001 S 83 0101 0011 H 72 0100 1000 Setelah itu masing-masing karakter di XOR-kan dengan Key R = 0101 0010 U = 0101 0101 S = 0101 0011 D = 0100 0100 I = 0100 1001 C = 0100 0011 R = 0101 0010 A = 0100 0001 S = 0101 0011 H = 0100 1000 XOR ----------------------------------------------------------------------------------------------- Cipher: 0001 0001 0000 0111 0001 0010 0001 0111 0000 0001 ----------------------------------------------------------------------------------------------- ASCII : Ctrl-Q Ctrl-G Ctrl-R Ctrl-W Ctrl-A

Proses dekripsi pesan juga melakukan operasi yang sama yaitu XOR antara Cipher dengan key. Cipher: 0001 0001 0000 0111 0001 0010 0001 0111 0000 0001 Key : 0100 0011 0101 0010 0100 0001 0101 0011 0100 1000 XOR --------------------------------------------------------------------------------------- Plain : 0101 0010 0101 0101 0101 0011 0100 0100 0100 1001 --------------------------------------------------------------------------------------- ASCII : R U S D I 2.6. Manajemen Kunci Proses pembuatan kunci sangat penting dan sebaiknya harus benar-benar acak. Sumber acak dapat diambil dari berbagai kejadian (events) yang muncul secara acak. Aplikasi kriprografi dapat menggunakan random number generator yang disediakan operating system untuk pmbuatan kunci, akan tetapi ini sebaiknya dilakuan jika random number generator yang disediakan cuku acak. (Kromodimoeljo, 2010) Kunci adalah parameter yang digunakan untuk melakukan transformasi enkripsi dan dekripsi. Karenanya kunci perlu dilindungi selama fase kebaradaannya. Siklus kunci sendiri dimulai dari pembangkitan kunci (generation) sampai kunci tidak diperlukan lagi untuk kemudian dihancurkan (destruction). Secara garis besar, siklus digambarkan sebagai berikut: (Munir, 2006) Gambar 2.4 Siklus Kunci (Munir, 2006)

Tujuan manajemen kunci adalah menjaga keamanan dan integritas kunci pada semua fase di dalam daur hidupnya. Pada umumnya setiap kunci akhirnya diganti dengan kunci lain. Jadi, keseluruhan fase membentuk siklus (lingkaran) karena penghancuran kunci biasanya diikuti dengan penggantiannya dengan kunci baru (garis putus-putus). (Munir, 2006) Pada tahapan pembangkitan kunci adalah bagaimana membuat kunci yang tidak dapat diprediksi. Pada algoritma kunci-publik, pembangkitan kunci merupakan masalah tersendiri, karena pembangkitan kunci membutuhkan perhitungan matematis yang rumit. Selain itu, pembangkitan bilangan prima yang besar juga dibutuhkan untuk membentuk kunci. Oleh karena itu, pada algoritma kunci-publik dibutuhkan program khusus untuk membangkitkan kunci. Pembangkitan kunci pada algoritma simetri jauh lebih mudah daripada pembangkitan kunci pada algoritma kunci-publik. Karena kunci simetri umumnya terdiri dari rangkaian bit atau rangkaian karakter, maka setiap pengguna dapat membangkitkan kuncinya sendiri. Pada tahapan penyebaran kunci, protokol kriptografi dapat digunakan untuk mendistribusikan kunci. Sementara pada tahapan penyimpanan kunci, kunci harus disimpan di tempat yang aman yang tidak memungkinkan pihak lawan untuk mengaksesnya. Oleh karena itu, penyimpanan kunci mungkin memerlukan perlindungan secara fisik. Pada tahapan penyimpanan kunci, kunci sebaiknya disimpan tidak dalam bentuk jelas. Ada dua solusi alternatif untuk masalah ini. Pertama, kunci disimpan dengan mengenkripsinya dengan menggunakan kunci lain. Kedua, kunci dipecah menjadi beberapa komponen, setiap komponen disimpan di tempat terpisah. Pada tahapan penggunaan kunci, Sistem kriptografi harus mempunyai kemampuan untuk mengubah kunci. Kunci diubah secara teratur untuk membatasi lama keberadaanya dan mengurangi nilainya dimata penyerang. Setiap kunci seharusnya diubah jauh sebelum dapat ditemukan. Pada fase penghancuran kunci, Kunci yang tidak dibutuhkan lagi seharusnya dihancurkan dengan cara yang aman, sehingga ia tidak mungkin ditemukan kembali secara fisik maupun secara elektronik.

2.7. Konsep Acak Pengacakan adalah suatu masalah yang sangat krusial dalam bidang kriptografi dan pada bidang-bidang lain seperti statistik, simulasi komputer dan lainnya. Dalam proses menganalisa sistem keamanan suatu sistem, salah satunya adalah dengan menganalisa pembangkit bilangan acaknya, yaitu sumber masukan pembangkit dan hasil keluaran bilangan acak tersebut. Pembangkit bilangan acak yang lemah ditandai dengan mudahnya diprediksi angka yang akan keluar, yang akan menyebabkan mudahnya menjebol sistem secara keseluruhan. Hal ini dicontohkan pada kasus penjebolan implementasi Secure Socket Layer (SSL) pada aplikasi Netscape. (Batten, 2013) Pembangkit bilangan acak juga diharuskan aman dari berbagai macam serangan, baik serangan eksternal maupun serangan internal. Penyerang diasumsikan mengetahui keseluruhan atau setidaknya sebagian kode pembangkit bilangan acak. Penyerang juga diasumsikan mengetahui entropi-entropi yang digunakan sebagai sumber data pembangkit bilangan acak. Dibawah ini adalah list kebutuhan dasar dari keamanan terhadap pembangkit bilangana acak menggunakan terminologi umum. (Barak, 2005) Berikut list celah keamanan yang lebih detail: Keacakan. Pembangkit bilangan acak menghasilkan kumpulan bilangan yang terlihat benar-benar acak dari luar. Keamanan prediksi. Walaupun terdapat pengetahuan state dari pembangkit bilangan acak pada suatu saat, mulai dari entropi hingga keluarannya, namun tidak dapat memprediksi apapun khususnya keluaran selanjutnya dari pembangkit bilangan acak. Keamanan masa lalu. Walaupun terdapat pengetahuan state dari pembangkit bilangan acak pada suatu saat khususnya jika diberikan sejumlah entropi yang sama persis tidak akan menyebabkan keluran pembangkit bilangan acak menjadi sama. 2.8. Pembangkitan Bilangan Acak Semu Pembangkitan bilangan acak sangat dibutuhkan oleh berbagai bidang keilmuan. Namun dua bidang keilmuan yang sangat bergantung pada pembangkitan bilangan acak adalah bidang statistik dan kriptografi. Pada bidang statistik, bilangan acak dibutuhkan untuk menghasilkan suatu analisa statistik, untuk itu bilangan acak harus

benar-benar acak. Bila bilangan acak memiliki sifat-sifat tertentu karena hasil perhitungan aritmatika tertentu, misal: berulang, maka hasil analisas statistiuk yang dihasilkan tidak akurat dan kurang dapat dipercaya. Pada bidang kriptografi, bilangan acak dibutuhkan untuk menghasilkan berbagai hal, seperti menghasilkan kata kunci yang baik, menghasilkan kunci dan padanannya pada algoritma kriptografi asimetrik/publik, membangkitkan vektor inisialisasi pada hampir seluruh algoritma kriptografi dan lainnya. 2.8.1. Algoritma Pembangkit Bilangan Acak Terdapat beberapa algoritma yang sering dan umum dipakai di bidang kriuptografi untuk membangkitkan bilangana acak semu. Algoritma tersebut adalah: LCG (linear Congruential Generator) dan BBS (Blum- Blum Shub). Selain kedua algoritma diatas masih banyak algoritma lain, semisal: algoritma Mersenne Twister, algoritma Knuth, dan lain-lain. 2.8.2. Syarat Algoritma Pembangkit Bilangan Acak Algoritma pembangkit bilangan acak harus setidaknya memenuhi syarat-syarat yang telah ditentukan pada Request For Commands 1750 [10] (Randomness Recommendations for Security). Ringkasan dari RFC 1750 adalah sebagai berikut: Tidak dapat diprediksi.suatu algoritma pembangkit bilangan acak harus bersifat tidak dapat diprediksi hasil keluarannya. Sebab dengan dapat memprediksi keluaran suatu algoritma, maka dengan tidak langsung dapat pula mengetahui kelauran dari fungsi kriptografi secara keseluruhan. Untuk algoritma yang berdasarkan pada perangkat keras: Tahan akan pembelokan. Yaitu bila perangkat keras dimanipulasi, maka algoritma dapat tahan terhadap manipulasi sumber bilangan tersebut hingga level tertentu yang tidak mungkin lagi dapat ditahan. Untuk algoritma yang berdasarkan perangkat lunak/aritmatika: Memiliki fungsi penggabungan dan pengacakan. Yang berguna untuk mencegah penyerangan terhadap algoritma secara keseluruhan.

2.8.3. Blum-Blum Shub (BBS) Blum-blum shub cukup terkenal sebagai sebuah algoritma pembangkit bilangan acak yang baik dikarenakan kemangkusannya dan kesederhanaannya. BBS dibuat pada tahun1986 oleh tiga orang: Lenore Blum, ManuelBlum, dan Michael Shub. Kunci enkripsi yang digunakan dibangkitkan dengan pembangkit bilangan acak cryptographically secure pseudorandom generator (CSPRNG) menggunakan teori bilangan Blum-Blum Shub. Algoritma/langkah-langkah pembangkitan bilangan acak BBS adalah sebagai berikut: (Munir, 2006) 1. Pilih dua buah bilangan prima rahasia p dan q, yang masing-masing kongruen 3 modulo 4 atau 3 = x mod 4 (dalam praktek bilangan prima yang digunakan cukup besar). 2. Kalikan keduanya menjadi n = pq. Bilangan n ini disebut bilangan bulat Blum. 3. Pilih bilangan acak lain s, sebagai umpan sedemikian sehingga: (i) 2 s n (ii) s dan n relatif prima kemudian hitung x 0 = s 2 mod n 4. Barisan bit acak dihasilkan dengan melakukan iterasi berikut sepanjang yang diinginkan. (iii) hitung x i = x i 1 2 mod n (iv) z i = bit LSB dari x i Barisan bit acak yang dihasilkan adalah z 1, z 2, z 3,... Yang menarik dari algoritma pembangkit bilangan acak ini adalah bahwa tidak perlu melakukan iterasi untuk mendapatkan bilangan acak jika p dan q diketahui, sebab xi dapat dihitung secara langsung. Keamanan BBS terletak pada sulitnya memfaktorkan n. Nilai n tidak perlu rahasia dan dapat diumumkan kepada publik. BBS tidak dapat diprediksi dari arah kiri dan tidak dapat diprediksi dari arah kanan, yaitu berarti jika diberikan barisan bit yang dihasilkan oleh BBS, kriptanalis tidak dapat menganalisa barisan bit sebelumnya dan barisan bit sesudahnya dalam urutan bilangan acak yang dihasilkan.

2.9. Three-Pass Protocol Three Pass Protokol pada kriptografi, dalam pengiriman pesan merupakan suatu skema kerja yang memungkinkan satu pihak terjaga kerahasiaanya saat mengirimkan pesan ke pihak kedua tanpa perlu bertukar atau mendistribusikan kunci enkripsi. Disebut Three-Pass Protocol karena pengirim dan penerima pesan melakukan tiga tahap pertukaran untuk mengenkripsi pesan tersebut. Konsep dasar Three-Pass Protocol bahwa masing-masing pihak memiliki kunci enkripsi pribadi dan sebuah kunci deskripsi pribadi. Kedua belah pihak menggunakan kunci mereka masingmasing untuk mengenkripsi pesan dan kemudian untuk mendekripsi pesan. Berikut merupakan Skema dari Three-Pass Protocol : Gambar 2.5 Skema Three-Pass Protocol Cara kerja skema Three-Pass Protocol: 1. Pengirim (Agus) memilih sebuah kunci sandi pribadi s dan kunci dekripsi t. Pengirim pesan mengenkripsi pesan m dengan kunci s dan mengirimkan pesan terenkripsi E(s, m) untuk penerima (Boni). 2. Penerima memilih sebuah kunci pribadi r dan kunci dekripsi q dan mengenkripsi pesan pertama E(s, m) dengan kunci r lalu, mengirimkan kembali kunci enkripsi ganda E(r, E(s, m)) kepada pengirim (Agus). 3. Pengirim (Agus) mendekripsi pesan kedua dengan kunci t. Karena dari sifat komutatif dimana D(t, E(r, E(s, m))) = E(r, m) yang merupakan pesan dienkripsi dengan hanya penerima private key. Lalu pengirim mengirimkan pesan ini ke

penerima. Selanjutnya penerima mendekripsi pesan tersebut dengan kunci q sehingga dapat diketahui plainteksnya. Dengan demikian antara Agus dan Boni tidak terdapat pertukaran atau pendistribusian kunci, sehingga kerahasiaan kunci tetap terjaga. 2.10. Big O Notasi big O pertama kali diperkenalkan oleh seorang teoritis bilangan bernama Paul Bachmann pada tahun 1894, didalam buku keduanya yang berjudul Analytische Zahlentheorie ( analytic number teory ). Dalam teori kompleksitas komputasi, notasi big O sering digunakan untuk menjelaskan bagaimana ukuran data masukan mempengaruhi sebuah kegunaan algoritma dari sumber daya komputasi (biasanya running time atau memori). Definisi pertama dalam pengukuran kompleksitas suatu masalah adalah Big O (Hankerson D. Menezes, Vanstone, 2003). Definisi : T(n) = O(f(n)), jika ada konstanta positif c dan dimana T(n) < c(f(n)), ketika n >. T(n) = O(f(n)), artinya T(n) berorde paling besar f(n) bila terdapat konstanta c dan sehingga T(n) <= c(f(n)) untuk n >= 2.10.1 Big Omega (Ω) Defenisi kedua dalam pengukuran kompleksitas suatu masalah adalah Big Omega. (Hankerson D. Menezes, Vanstone, 2003). Definisi : T(n) = Ω(f(n)), jika ada konstanta positif c dan dimana T(n) > c(f(n)), ketika N > 1 2.10.2 Big Theta (ɵ) Definisi ketiga dalam pengukuran kompleksitas suatu masalah adalah Big Theta. (Hankerson D. Menezes, Vanstone, 2003). Definisi : T(n)= ɵ (f(n)), jika dan hanya jika T(n) = O(f(n)) dan T(n) = Ω(f(n))

Suatu algoritma dikatakan anggota Θ (h(n)) jika algoritma itu adalah anggota O(h(n)) dan anggota Ω(h(n)). Contoh : Karena T(n) = + adalah angota O( ) dan anggota Ω ( ), maka T(n) adalah anggota Θ ( ). Contoh : For i 1 to n do For j 1 to i do For k j to n do a a + 1 end for end for end for Nilai O-besar, Ω-besar, dan Θ-besar dari algoritma di atas adalah sebagai berikut : Untuk i = 1, Untukj = 1, jumlah perhitungan = n kali Untuk i = 2, Untukj = 1, jumlah perhitungan = n kali Untukj = 2, jumlah perhitungan = n 1 kali Untuk i = n, Untuk j = 1, jumlah perhitungan = n kali Untuk j = 2, jumlah perhitungan = n 1 kali Untuk j = n, jumlah perhitungan = 1 kali. T(n) = + + +... + 1 = n(n + 1)(2n + 1)/6 = + + 1. Diperoleh T(n) 3untuk n 4 dan T(n) 2 untuk n 1. Sehingga diperoleh : T(n) = O( ) = Ω( ) = Θ( ). 2.11. Penelitian Terkait Beberapa penelitian telah banyak dilakukan oleh banyak peneliti yang berkaitan dengan penulisan penelitian ini. Adapun penelitian tersebut dapat dilihat pada tabel di bawah ini.

Tabel 2.1. Penelitian Terkait No. Judul Penelitian Peneliti Pembahasan Tahun 1. Encryption And Decryption Using One Pad Time Algorithm In Mac Layer ShachiSharma, VintiGupta Penjelasan mengenai teknik mengamankan pesan, audio dan video dengan Algoritma One Time Pad 2013 2. Enhanced OneTime Pad Cipher with More Arithmetic and Logical Operations with Flexible Key Generation Algorithm S.G.Srikantaswamy & Dr.H.D.Phaneendra Penjelasan mengenai Cipher One Time Pad dengan beberapa Logika Aritmatika 2011 Muhammad Reza, Muhammad Andri Budiman dan Dedy Arisandi 3. Simulasi Pengamanan File Teks Menggunakan Algoritma Massey- Omura. Menjelaskan penggunaan logaritma diskrit pad bidang terbatas, serta pencarian modulo terbesar dengan algoritma Massey- Omura. 2012 4. Quantum Three Pass- Protocol : Key Distribution using Quantum Superposition States Kanamouri,Y. & Yoo, S. Penjelasan mengenai memanfaatkan kelebihan dari Three Pass Protocol klasik dan kelebihan pada kuantum mekanik maka disebut Quantum Three Pass Protocol 2009 2.12. Perbedaan Dengan Penelitian Lain Pada beberapa penelitian yang telah dilakukan oleh peneliti sebelumnya, terdapat perbedaan dengan menggunakan yang dilakukan penulis. Dalam penelitian ini, penulis menggunakan algoritma One Time Pad untuk proses pengamanan pesan untuk tingkat kerahasiaan yang lebih rumit.

Proses pengiriman pesan dilakukan menggunakan skema Three Pass Protocol, dengan tujuan meningkatkan keamanan pesan karena tidak terdapat pertukaran kunci antara pengirim dan penerima. Peneletian ini menambah satu teknik lain pada proses pengiriman pesan, sehingga penyandian pesan semakin sulit dibuka oleh kripnatalis.