BAB 2 TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
KOMBINASI ALGORITMA AES, RC4 DAN ELGAMAL DALAM SKEMA HYBRID UNTUK KEAMANAN DATA

KOMBINASI ALGORITMA AES, RC4 DAN ELGAMAL DALAM SKEMA HYBRID UNTUK KEAMANAN DATA

BAB 2 TINJAUAN PUSTAKA

TINJAUAN PUSTAKA. Kriptografi

Advanced Encryption Standard (AES) Rifqi Azhar Nugraha IF 6 A.

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

BAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN

BAB 2 TINJAUAN PUSTAKA

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

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

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop

Algoritma Enkripsi Baku Tingkat Lanjut

PERANCANGAN APLIKASI PENGAMANAN DATA DENGAN KRIPTOGRAFI ADVANCED ENCRYPTION STANDARD (AES)

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

BAB II LANDASAN TEORI

MENGENAL PROSES PERHITUNGAN ENKRIPSI MENGGUNAKAN ALGORITMA KRIPTOGRAFI ADVANCE ENCRYPTION STANDARD(AES) RIJDNAEL

Rancang Bangun Aplikasi Keamanan Data Menggunakan Metode AES Pada Smartphone

Algoritma Spiral shifting

BAB I PENDAHULUAN. Universitas Sumatera Utara

BAB II LANDASAN TEORI

BAB III ANALISA DAN DESAIN SISTEM

IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

Pengenalan Kriptografi

APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

BAB Kriptografi

Proses Enkripsi dan Dekripsi menggunakan Algoritma Advanced Encryption Standard (AES)

LAMPIRAN A ALGORITMA AES 128

BAB III ANALISIS DAN PERANCANGAN

BAB II LANDASAN TEORI

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB III ANALISA DAN PERANCANGAN. pengamanan file teks dengan menggunakan algoritma triangle chain dan rivest cipher (RC4).

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

BAB II TINJAUAN PUSTAKA

Advanced Encryption Standard (AES)

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

BAB 2 LANDASAN TEORI

Implementasi Enkripsi File dengan Memanfaatkan Secret Sharing Scheme

Halim Agung 1*, Budiman 1. Jl.Lodan Raya No.2, Jakarta 14430

BAB III ANALISIS DAN PERANCANGAN

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

Prosiding Matematika ISSN:

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

PENERAPAN ALGORITMA RSA DAN DES PADA PENGAMANAN FILE TEKS

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI. bilangan bulat dan mengandung berbagai masalah terbuka yang dapat dimengerti

Algoritma Kriptografi Modern (AES, RSA, MD5)

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

BAB III ANALISIS DAN DESAIN SISTEM

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

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

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

POLYNOMIAL FUNCTIONS DAN IMPLEMENTASINYA DALAM ALGORITMA ADVANCED ENCRYPTION STANDARD PADA DATABASE ACCOUNTING

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

ADVANCED ENCRYPTION STANDARD (AES) DENGAN ONE TIME PASSWORD UNTUK KEAMANAN LAYANAN SMS BANKING

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

STUDI DAN IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI SMS PADA TELEPON GENGGAM YANG BERBASIS WINDOWS MOBILE 5.0

Modul Praktikum Keamanan Sistem

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

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

BAB II TINJAUAN PUSTAKA

BAB 3 METODOLOGI PENELITIAN

Kriptografi Kunci Rahasia & Kunci Publik

SEMINAR TUGAS AKHIR PERIODE JANUARI 2012

BAB III ANALISIS DAN DESAIN SISTEM

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES UNTUK ENKRIPSI DAN DEKRIPSI

Kriptografi Modern Part -1

Algoritma AES sebagai Metode Enkripsi dalam Password Management

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

STUDI DAN IMPLEMENTASI ADVANCED ENCRYPTION STANDARD DENGAN EMPAT MODE OPERASI BLOCK CIPHER

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD

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

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

Perhitungan dan Implementasi Algoritma RSA pada PHP

BAB III ANALISA MASALAH DAN PERANCANGAN

Bab 2 Tinjauan Pustaka

2.1 Keamanan Informasi

IMPLEMENTASI KRIPTOGRAFI MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDAR (AES) UNTUK PENGAMANAN DATA TEKS

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

Rancangan Aplikasi Pemilihan Soal Ujian Acak Menggunakan Algoritma Mersenne Twister Pada Bahasa Pemrograman Java

BAB IV HASIL DAN PEMBAHASAN

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

BAB 1 PENDAHULUAN. dalam bahasa sandi (ciphertext) disebut sebagai enkripsi (encryption). Sedangkan

PERANGKAT APLIKASI KEAMANAN DATA TEXT MENGGUNAKAN ELECTRONIC CODEBOOK DENGAN ALGORITMA DES

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB II TINJAUAN PUSTAKA

Transkripsi:

BAB 2 TINJAUAN PUSTAKA 2.1. Data dan Informasi Data dapat didefenisikan sebagai kenyataan yang digambarkan oleh nilai-nilai bilangan-bilangan, untaian karakter atau simbol-simbol yang membawa arti tertentu. Dalam perusahaan, data tersebut identik dengan perubahan nilai atau sering disebut dengan istilah transaksi. Informasi sendiri dapat didefenisikan sebagai hasil dari pengolahan data dalam bentuk yang lebih berguna bagi penerimanya, yang digunakan sebagai alat bantu dalam pengambilan keputusan. 2.2. Keamanan Data Keamanan merupakan salah satu aspek terpenting dari sebuah sistem informasi. Masalah keamanan sering kurang mendapat perhatian dari para perancang dan pengelola sistem informasi. Masalah keamanan sering berada diurutan setelah tampilan, atau bahkan diurutan terakhir dalam daftar hal-hal yang dianggap penting. Keamanan adalah keadaan bebas dari bahaya. Istilah ini dapat digunakan dengan hubungan kepada kejahatan, dan segala bentuk kecelakaan. Keamanan merupakan topik yang luas termasuk keamananan nasional terhadap serangan teroris, keamanan komputer terhadap hacker, keamanan rumah terhadap maling dan penyelusup lainnya, keamanan finansial terhadap kehancuran ekonomi dan banyak situasi berhubungan lainnya (Kristianto, 2003). Host/ komputer yang terhubung kenetwork, mempunyai ancaman keamanan lebih besar dari pada host yang tidak terhubung kemana-mana. Dengan mengendalikan network security, risiko tersebut dapat dikurangi. Kebutuhan keamanan untuk sebuah sistem komputer berbeda beda bergantung kepada aplikasi aplikasi yang dikandungnya, antara lain sistem transfer keuangan elektronik, akan berbeda kebutuhannya dengan sistem reservasi atau sistem sistem kontrol lainnya. Pada saat ini data storage merupakan suatu komponen utama yang sangat vital, dimana data storage sangat penting nilainya jika didalamnya disimpan file atau data yang sifatnya sangat penting dan rahasia. Oleh karena jaringan komputer yang bersifat multiuser, maka dibutuhkan suatu metode pengamanan

tersendiri. Pada saat ini banyak bentuk ancaman danpenyerangan terhadap jaringan komputer itu sendiri, termasuk salah satunya adalah ancaman dan penyerangan terhadap data yang terdapat pada alat penyimpanan data itu sendiri. 2.3. Kriptografi 2.3.1. Definisi Kriptografi Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data (Menezes dkk.,1996).kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika dikirim dari suatu tempat ke tempat yang lain (Ariyus, 2008). Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan. Ketika suatu pesan dikirim dari suatu tempat ke tempat lain, isi pesan tersebut mungkin dapat disadap oleh pihak lain yang tidak berhak untuk mengetahui isi pesan tersebut. Untuk menjaga pesan, maka pesan tersebut dapat diubah menjadi suatu kode yang tidak dapat dimengerti oleh pihak lain. 2.3.2. Konsep Dasar Kriptografi Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchipering dan dechipering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Algoritma kriptografi terdiri dari fungsi dasar yaitu: 1. Enkripsi, yaitu merupakan hal yang sangat penting dalam kriptografi yang merupakan pengamanan data yang dikirimkan terjaga rahasianya, pesan asli disebut plainteks yang dirubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan dengan cipher atau kode. 2. Dekripsi, yaitu merupakan kebalikan dari enkripsi dimana pesan yang telah dienkripsi dikembalikan kebentuk asalnya (plainteks) disebut dengan dekripsi pesan. 3. Kunci, yaitu kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci terbagi menjadi 2 bagian yaitu kunci pribadi (private key) dan kunci umum (public key).

Secara umum, proses enkripsi dan dekripsi dapat dilihat seperti pada gambar dibawah ini. Gambar 2.1 Proses enkripsi dan dekripsi Secara matematis, operasi enkripsi dan dekripsi dapat diterangkansebagai berikut: EK (M) = C (Proses Enkripsi) DK (C) = M (Proses Dekripsi) Pada saat proses enkripsi kita menyandikan pesan M dengan suatu kunci K lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan M yang sama seperti pesan sebelumnya. 2.3.3. Tujuan Kriptografi Ada empat tujuan mendasar dari kriptografi yang juga merupakan aspek keamananinformasi (Munir, 2006), yaitu: 1. Kerahasiaan, adalah aspek yang berhubungan dengan penjagaan isi informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka informasiyang telah dienkripsi. 2. Integritas data, adalah aspek yang berhubungan dengan penjagaan dari perubahan data secara tidak sah.

3. Autentikasi, adalah aspek yang berhubungan dengan identifikasi atau pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. 4. Non-repudiation (menolak penyangkalan), adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman suatu informasi oleh yang mengirimkan, atau harus dapat membuktikan bahwa suatu pesan berasal dari seseorang, apabila ia menyangkal mengirim informasi tersebut. 2.4. Jenis Kriptografi Berdasarkan kunci yang digunakan untuk enkripsi dan dekripsi, algoritma kriptografi dibedakan menjadi dua macam algoritma kriptografi, yaitu: (Munir, 2006). 2.4.1. Kriptografi Kunci Simetri Kriptografisimetriadalahalgoritma kriptografi yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya. Keamanan algoritma simetri tergantung pada kuncinya. Apabila kuncinya diketahui orang lain, maka orang tersebut dapat mengenkrip dan mendekrip pesan.gambar dibawah ini mengilustrasikan kinerja dari proses enkripsi dan dekripsi kunci simetri. Gambar 2.2 Skema kriptografi simetri Kriptografi simetri yang utama adalah melindungi kerahasiaan data yang dikirim melalui saluran tidak aman dan melindungi kerahasiaan data yang disimpan

pada media yang tidak aman. Masalah utama yang dihadapi kriptografi simetri adalah membuat pengirim dan penerima menyetujui kunci rahasia tanpa ada orang lain yang mengetahuinya. Kelebihan kriptografi simetri adalah: 1. Algoritma kriptografi simetri dirancang sehingga proses enkripsi dan dekripsi membutuhkan waktu yang singkat. 2. Ukuran kunci algoritma simetri relatif pendek. 3. Algoritma kriptografi simetri dapat disusun untuk menghasilkan cipher yang lebih kuat. 4. Otentikasi pengirim pesan langsung diketahui dari cipherteks yang diterima, karena kunci hanya diketahui oleh pengirim dan penerima pesan saja. Kelemahan algoritma kriptografi simetri adalah: 1. Kunci algoritma simetri harus dikirim melalui saluran yang aman. Dua entitas yang berkomunikasi harus menjaga kerahasiaan kunci ini. 2. Kunci harus sering diubah, mungkin pada setiap sesi komunikasi. Salah satu cotoh algoritma kunci simetri adalah algoritma AES, RC4 dan lain-lain.dua kategori yang termasuk pada algoritma simetris ini adalah algoritma blockcipher dan stream cipher. a. Block Cipher Algoritma block cipher adalah algoritma yang masukan dan keluarannya berupa satu block, dan setiap blocknya terdiri dari banyak bit. Beberapa mode operasi enkripsi block cipher: b. Stream Chipher Stream cipher ( Cipher aliran ) adalah cipher yang berasal dari hasil XOR antara bit plaintext dengan setiap bit kuncinya. Stream cipher sangat rawan terhadap attack pembalikan bit. Beberapakelemahanstreamcipherantaralain (Kromodimoeljo, 2010): Jika naskah asli dan naskah acak diketahui, maka menggunakan xor kita bisa dapatkan keystream. Stream cipher rentan terhadap tampering. Seseorang yang mengetahui posisi data tertentu dalam naskah acak dan mengetahui nilai data tersebut bisa

mengubahnyamenggunakanxor.contohnya,angka50bisadiubah menjadi angka 99denganmelakukanx (50 99),dimanaxmerepresentasikan 50 dalam naskah acak. 2.4.2. Kriptografi Kunci Asimetri Kriptografi kunci asimetri yang sering disebut juga kriptografi kunci publik adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Algoritma asimetri ini disebut kunci publik karena kunci untuk enkripsi dapat dibuat publik yang berarti semua orang boleh mengetahuinya.pada kriptografi jenis ini, setiap orang yang berkomunikasi mempunyai sepasang kunci, yaitu kunci privat dan kunci publik.pengirim mengenkripsi pesan dengan menggunakan kunci publik si penerima pesan (receiver). Hanya penerima pesan yang dapat mendekripsi pesan karena hanya dia yang mengetahui kunci privatnya sendiri(munir, 2006). Dalam sistem ini, kunci enkripsi disebut kunci publik, sementara kunci dekripsi sering disebut kunci privat.contoh algoritma asimetri ditunjukkan pada gambar 2.3. Gambar 2.3Skema algoritma kriptografi asimetri Kelebihan algoritma kriptografi asimetri adalah: 1. Hanya kunci pribadi yang perlu dijaga kerahasiaannya oleh setiap entitas yang berkomunikasi (tetapi, otentikasi kunci publik tetap harus terjamin). 2. Pasangan kunci publik dan kunci private tidak perlu diubah, bahkan dalam periode waktu yang panjang.

3. Dapat digunakan untuk mengamankan pengiriman kunci simetri. 4. Beberapa algoritma kunci publik dapat digunakan untuk memberi tanda tangan digital pada pesan. Kelemahan algoritma kriptografi asimetri adalah: 1. Enkripsi dan dekripsi data umumnya lebih lambat daripada sistem simetri, karena enkripsi dan dekripsi menggunakan bilangan yang besar dan melibatkan operasi perpangkatan yang besar. 2. Ukuran cipherteks lebih besar dari pada plainteks. 3. Ukuran kunci relatif besar daripada ukuran kunci simetri. 2.5. Enkripsi Hibrid (Hybrid Encryption) Metode ini menggabungkan konsep simetrik dan asimetrik, dengan menggunakan key random data dienkripsi dengan metode simetrik. Tahap berikutnya keyrandom yang dipakai untuk proses enkripsi data juga dienkripsi, tetapi menggunakan metode asimetrik dengan menggunakan public key dari penerima. Ciphertext yang dihasilkan masing-masing metode digabungkan dan dikirimkan ke penerima. Penerima akan membuka ciphertext untuk key word dengan menggunakan private key yang dimilikinya. Bentuk blok diagram metode ini diperlihatkan pada gambar 2.4 dan 2.5. Plaintext E Chiperte xt Key Random Chiperte xt E Chiperte xt Public Key Gambar 2.4 Proses Enkripsi Hybrid

Chipertext D Plaintext Chipertext D Key Private Key Gambar 2.5 Proses Deskripsi Hybrid 2.6. Algoritma AES (Advanced Encryption Standard) Algoritma AES diperoleh melalui kompetisi yang dilakukan pada tahun 1997 oleh NIST (National Institute of Standard and Technology) untuk mencari standar algoritma enkripsi yang dapat dipergunakan dalam berbagai aplikasi. Proses seleksi ini amat ketat dan membutuhkan waktu yang cukup lama. Pada akhirnya, tanggal2 Oktober 2000 terpilihlah algoritma Rijndael yang dibuat oleh Rijmen dan Daemen dari Belgia sebagai standar algoritma enkripsi yang biasa disebut AES. AES menjadi standard melalui proses seleksi. Dari beberapa teknik enkripsi yang dicalonkan untuk menjadi AES, yang terpilih adalah enkripsi Rijndael. AES merupakan salah satu algoritma terpopuler yang digunakan dalam kriptografi kunci simetrik.aes ini merupakan algoritma block cipher dengan menggunakan sistem permutasi dan substitusi (P-Box dan S-Box) bukan dengan jaringan Feistel sebagaiman block cipher pada umumnya. Tidak seperti DES yang berorientasi bit, Rijndael beroperasi dalam orientasi byte. Setiap putaran mengunakan kunci internal yang berbeda (disebut round key). Enciphering melibatkan operasi substitusi dan permutasi. Jenis AES terbagi 3, yaitu : 1. AES-128 2. AES-192 3. AES-256 Pengelompokkan jenis AES ini adalah berdasarkan panjang kunci yang digunakan. Angka-angka di belakang kata AES menggambarkan panjang kunci yang digunakan pada tipa-tiap AES. Selain itu, hal yang membedakan dari masing-masing AES ini adalah banyaknya round yang dipakai. AES-128 menggunakan 10 round, AES-192 sebanyak 12 round, dan AES-256 sebanyak 14 round.

Panjang Kunci Tabel 1. Blok Jenis AES Ukuran Blok Jumlah Putaran (Nk Words) (Nb Words) (Nr) AES-128 4 4 10 AES-192 6 4 12 AES-256 8 4 14 Catatan 1 words=32bit Algoritma Rijndael mempunyai 3 parameter yaitu : 1. Plainteks adalah array yang berukuran 16 byte, yang berisi data masukan. 2. Cipherteks adalah array yang berukuran 16 byte, yang berisi hasil enkripsi. 3.Key adalah array yang berukuran 16 byte, yang berisi kunci ciphering (disebut juga cipher key). Garis besar enkripsi algoritma Rijndael yang beroperasi pada blok 128-bit dengan kunci 128-bit adalah sebagai berikut (di luar proses pembangkitan round key): 1. AddRoundKey: melakukan XOR antara state awal (plainteks) dengan cipher key. Tahap ini disebut juga initial round. 2. Putaran sebanyak Nr 1 kali. Proses yang dilakukan pada setiap putaran adalah: a. SubBytes: substitusi byte dengan menggunakan tabel substitusi (S-box). b. ShiftRows: pergeseran baris-baris array state secara wrapping. c. AddRoundKey: melakukan XOR antara state sekarang round key. d. Final round: proses untuk putaran terakhir: 3. Final round : proses untuk putaran terakhir: a. SubBytes b. ShiftRows c. AddRoundKey

Blok diagram proses enkripsi algoritma AES-128 dapat dilihat pada dibawah ini. Gambar 2.6 Blok Diagram Enkripsi Algoritma AES-128(Munir,2006) Untuk selanjutnya akan dijelaskan setiap iterasi tahapan rounds dari proses enkripsi algoritmaaes 128. 1. AddRoundKey Tahapan AddRoundKey pada algoritma enkripsi AES sesungguhnya hanyalah operasi X-or terhadap komponen byte plaintext dengan acuan cipher key (W) yang dihasilkan pada prosedur key schedule. Masing-masing komponen byte diubah ke dalam bentuk biner untuk kemudian dioperasikan masing masing bit dengan fungsi logika X-or. Bilangan biner yang terbentuk kemudian dikonversi lagi menjadi komponen byte yang mewakili. 2. Transformasi Subtitusi Bytes(SubBytes) Dalamoperasi ini, setiap byte yang akan dienkripsi disubtitusikan dengan nilai byte lain dengan menggunakan S-box. AES-128 merupakan algoritma simetri, yang berarti tabel subtitusi yang dibutuhkan untuk enkripsi berbeda dengan dekripsi. Tabel S-boxdapat dilihat pada tabel dibawah ini.

Tabel 2. S-Box Enkripsi AES 3. Transformasi Pergeseran Baris (ShiftRows) Pada operasi ini, byte-byte (128 bit) pada setiap baris digeser secara memutar dengan pergeseran yang berbeda dari tiap-tiap baris sesuai aturan. Baris ke-satu tidak akan mengalami proses pergeseran, sedangkan untuk baris ke-dua di geser satu kali ke kiri. Baris ketiga digeser ke kiri sebanyak dua kali dan baris ke-empat digeser ke kiri sebanyak tiga kali. Pada algoritma enkripsi akan dilakukan pergeseran ke arah kiri, tetapi pada algoritma dekripsi pergeseran dilakukan ke arah kanan. Untuk lebih jelasnya dapat dilihat pada gambar dibawah ini. Gambar 2.7 Proses ShiftRows

4. Transformasi Pencampuran Kolom(MixColumns) Transformasi menggunakan MixColumns adalah proses ketiga dalam satu round enkripsi AES. Di sini, kolom-kolom pada array state akan diperlukan sebagai suatu polynomial yang berada dalam GF(28) dan akan dikalikan dengan modulo x4 + 1, dengan suatu polynomial tertentu seperti terlihat pada tabel berikut : Tabel 3. Bilangan Polynominal untuk MixColumn 02 01 01 03 03 02 01 01 01 03 02 01 01 01 03 02 Proses MixColumnsini mengoperasikan blok pada masing-masing kolomnya. Setiap kolom akan dilakukan perkalian dengan matriks seperti berikut ini. s 0,c 02 03 01 01 s0,c s 1,c = 01 02 03 01 s1,c s 2,c 01 01 02 03 s2,c s 3,c 03 01 01 02 s3,c Dengan c adalah letak kolom, sehingga hasilnya adalah sebagai berikut : s 0,c = ({02} s0,c) xor ({03} s1,c) xor (s2,c) xor(s3,c) s 1,c = (s0,c) xor({02} s1,c) xor ({03} s2,c) xor (s3,c) s 2,c = (s0,c) xor (s1,c) xor({02} s2,c) xor ({03} s3,c) s 3,c = ({03} s0,c) xor (s1,c) xor (s2,c) xor({02} s3,c) Jika hasil perkalian memiliki lebih dari 8 bit, bit yang lebih tidak begitu saja dibuang. Hasil tersebut dilakukan operasi XOR dengan 100011011.Operasi transformasi ini tidak digunakan dalam putaran terakhir, baik untuk enkripsi maupun dekripsi.

Sedangkan algoritma dekripsi AES yang beroperasi pada blok 128- bit adalah sebagai berikut : 1. AddRoundKey : melakukan XOR antara state awal (cipherteks) dengan cipher key. Tahap ini disebut juga initial round. 2. Putaran sebanyak Nr 1 kali. Proses yang dilakukan pada setiap putaran adalah : a. InvShiftRow : pergeseran baris-baris array state secara wrapping. b. InvSubByte : substitusi byte dengan menggunakan tabel substitusi Inverse S-box. c. AddRoundKey : melakukan operasi X-or antara state sekarang dengan round key. d. InvMixColumn : mengacak data pada masing-masing kolom array state. 3. Final round : proses untuk putaran terakhir: a. InvShiftRow. b. InvSubByte. c. AddRoundKey Blok diagram algoritma dekripsi AES 128 dapat dilihat pada gambar dibawah ini: Gambar 2.8Blok Diagram Dekripsi Algoritma AES

Tahapan proses dekripsi algoritma AES-128 dijelaskan sebagai berikut: 1. InvShiftRows InvShiftRows adalah kebalikan dari transformasi ShiftRows.Bytes dalam tiga baris terakhir dari state bergeser memutar. Baris pertama, r = 0 tidak bergeser. Proses InvShiftRows diilustrasikan pada gambar dibawah ini. Gambar 2.9 Proses InvShiftRows 2. InvSubBytes InvSubBytes adalah kebalikan dari transformasi SubBytes dimana invers S-Box diterapkan untuk setiap byte dari state. Tabel invers S-Box digunakan dalam transformasi InvSubBytes seperti ditunjukkan pada table berikut ini. Tabel 4. S-Box Invers Dekripsi AES

3. InvMixColumns InvMixColumnsadalah transformasi inverse MixColumnpada setiap kolom dari state. InvMixColumnmembalik transformasi MixColumndengan cara memindahkan ruas matriks pengali sehingga dapat dikatakan bahwa matriks pengali pada InvMixColumnsadalah invers dari matriks pengali pada MixColumn. Proses MixColumns ini mengoperasikan blok pada masing-masing kolomnya. Setiap kolom akan dilakukan perkalian dengan matriks seperti berikut ini. s 0,c 0e 0b 0d 09 s0,c s 1,c = 09 0e 0b 0d s1,c s 2,c 0d 09 0e 0b s2,c s 3,c 0b 0d 09 0e s3,c Dengan c adalah letak kolom, sehingga hasilnya adalah sebagai berikut : s 0,c = ({0e} s0,c) xor ({0b} s1,c) xor ({0d} s2c) xor ({09} s3,c) s 1,c = ({09} s0,c) xor ({0e} s1,c) xor ({0b} s2c) xor ({0d} s3,c) s 2,c = ({0d} s0,c) xor ({09} s1,c) xor ({0e} s2c) xor ({0b} s3,c) s 3,c = ({0b} s0,c) xor ({0d} s1,c) xor ({09} s2c) xor ({0e} s3,c) 5. Prosedur Key Expansion(Ekspansi Kunci) Ekspansi cipher key digunakan untuk membentuk round key yang akan digunakan pada langkah-langkah enkripsi dan dekripsi.ekspansi kunci ini memiliki tahapan khususyangdikenalsebagairijndael skeyschedule.iterasi tahapan AddRoundKey pada algoritma AES 128 diulang sebanyak sebelas kali. Oleh karenanya, terdapat sepuluh kali round key yang dibutuhkan dalam satu kali enkripsi state. Melalui key schedule tersebut, key yang menjadiparameter masukan akan diekspansi menjadi beberapa round key. Tabel 5. Rcon 01 02 04 08 10 20 40 80 1b 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Proses ekspansi kunci diilustrasikan pada gambar berikut ini. Gambar 2.10 Proses ekspansi kunci Karena setiap key merupakan representasi dari empat word maka proses ini dapat juga dikatakan sebagai proses ekspansi word. Pada kasus ini dibangkitkan 44 buah word, yaitu word ke-0 (w0) hingga word ke-43 (w43). Empat word pertama (w0- w3) dihasilkan dari penyalinan langsung key asli, sedangkan 40 word selanjutnya dibangkitkan dengan menggunakan w(i-1) sebagai input word serta urutan langkah transformasi sebagai berikut: 1. Proses rot word yaitu transformasi input word (b0, b1, b2, b3) menjadi (b1, b2, b3, b0 ) 2. Proses sub word yaitu proses subtitusi hasil dari rot word menggunakan kaidah S-box(SubBytes) 3. Proses XOR hasil sub word dengan suatu nilai konstan Rcon[j] bersesuaian bagi setiap round. Rcon[j] = (RC[j], 0, 0, 0) dan RC[j]=2*RC[j-1] RC[1] = 01 Dengan sifat operasi * merupakan perkalian yang terdefinisikan pada field GF(28). 4. Lakukan proses XOR hasil langkah 3 dengan w (i-4)

2.7. Algoritma RC4 RC4 adalah stream cipher yang dirancang di RSA Security oleh Ron Rivesttahun1987. Pada mulanya cara kerja RC4 dirahasiakan oleh RSA Security,akan tetapi inidibocorkan di internet tahun 1994 di milis Cypherpunks. RSASecurity tidak pernahmerilis RC4 secara resmi, akibatnya banyak yang menyebutnya sebagai ARC4(alleged RC4 atau tersangka RC4) untuk menghindarimasalah trademark. Berbeda dengan mayoritas stream cipher sebelumnya yang implementasinyadioptimalkan untuk hardware menggunakan linear feedback shift registers, RC4dirancang agar dapat diimplementasikan di software secara sangat efisien. Inimembuat RC4 sangat populer untuk aplikasi internet, antara lain RC4 digunakandalam standard TLS (transport layer security) dan WEP (wirelessequivalent privacy). Gambar 2.11Blok Diagram Algortima RC4 Cara membuat keystream dalam RC4 adalah dengan state automaton danterdiri dari duatahap yaitu tahap key scheduling dan tahap pseudo-random generation. 1. Key Scheduling Algorithm (KSA)

Proses KSA memberikan nilai inisialisasi pada tabel sbox, key dan selanjutnya melakukan proses permutasi sebanyak 256 iterasi (dengan indeks 0 sampai dengan 255). Berikut adalahalgoritma KSA dalam bentuk pseudo-code dimanakey adalah kunci enkripsi dankeylength adalah besar kunci enkripsi dalambytes (untuk kunci 128 bit, keylength = 16): for i = 0 to 255 S[i] := i j := 0 for i = 0 to 255 j := (j + S[i] + key[i mod keylength]) mod 256 swap(s[i],s[j]) 2. Pseudo Random Generation Algorithm (PRGA) Tabel sbox hasil dari KSA digunakan lagi dalam proses PRGA ini untuk menghasilkan key stream yang akan di XOR kan dengan plaintext untuk menghasilkan ciphertext. Proses untuk menghasilkan key stream dilakukan proses permutasi pada tabel sbox berdasarkan nilai iterasi yang diambil secara random. Setiap putaran, bagian keystream sebesar 1 byte(dengan nilai antara 0 sampai dengan 255) dioutput oleh PRGA berdasarkanstate S. Berikut adalah algoritma PRGA dalam bentuk pseudo-code: i := 0 j := 0 loop i := (i + 1) mod 256 j := (j + S[i]) mod 256 swap(s[i],s[j]) output S[(S[i] + S[j]) mod 256] 2.8. Algoritma ElGamal AlgoritmaElGamaldibuatolehTaher padatahun1984,danalgoritmainimerupakanalgoritmayang ElGamal termasukdalamkategori

algoritma asimetris.padaawalnya algoritmaini digunakanuntukdigital signature, namun kemudian dimodifikasi sehingga bisa digunakanuntuk enkripsi dan dekripsi (Munir, 2006). Algoritma ElGamal mempunyai kunci publikberupa tiga pasang bilangan dan kunci rahasia berupa dua bilangan. Algoritma ini mempunyaikerugian padacipherteksnya yang mempunyai panjang dua kali lipat dariplainteksnya. Akantetapi, algoritma ini mempunyai kelebihan pada enkripsi. Untuk plainteks yang sama, algoritmaini memberikan cipherteks yang berbeda pada saat setiap kali plainteks tersebut dienkripsi. Haltersebut dikarenakan adanya pengaruh dari sebuah variabel yang ditentukan secara acak padasaat proses enkripsi dilakukan. Berikut adalah diagram blok dari algortima elgamal. Gambar 2.12 Diagram blok algoritma Elgamal AlgoritmaElGamalini terdiri dari 3 proses, yaitu proses pembentukan kunci, prosesenkripsi, dan proses dekripsi. 1. Proses Pembentukan Kunci

Proses pembentukan kunci ini terdiri dari pembentukan kunci publikdanjugapembentukankuncirahasia.kuncipublikiniakandigunakanpadaprosespen genkripsiansedangkan kunci rahasia digunakan pada saat proses pendeskripsian. Pada proses ini dibutuhkansebuah bilangan prima p, bilangan acak g dan x, dengan syarat g < p dan 1 x p-2. Kuncipublik algoritma ElGamal terdiri atas pasangan 3 bilangan (y, g, p) di mana: y = g x mod p Sedangkan kunci rahasianya adalah bilangan (x, p)tersebut. KarenapadaalgoritmaElGamal menggunakanbilanganbulatdalamprosesperhitungannya, maka pesan harus dikonversi ke dalam suatu bilangan bulat. Untuk mengubahpesan menjadi bilangan bulat, digunakan kode ASCII (American Standard for InformationInterchange).KodeASCII merupakan representasi numericdari karakter-karakteryangdigunakan pada komputer, serta mempunyai nilai minimal 0 dan maksimal 255. Oleh karena itu,berdasarkan sistem kriptografi ElGamal di atas maka harus digunakan bilangan prima yang lebihbesar dari 255. Kode ASCII berkorespondensi 1-1 dengan karakter pesan. 2. Proses Enkripsi Proses enkripsi menggunakan kunci publik (y,g,p) dan sebuah bilangan acakkyangdalam hal ini 1 k p-2. Untuk setiap karakter dalam pesan dienkripsi dengan menggunakanbilangankyangberbeda-beda.satukarakter yangdirepresentasikandengan menggunakanbilangan bulat ASCII akan menghasilkan kode dalam bentuk blok yang terdiri atas dua nilai (a,b). Berikut ini langkah-langkah untuk proses enkripsi: a. Ambil sebuah karakter dalam pesan yang akan dienkripsi dan transformasi karaktertersebut ke dalam kode ASCII sehingga diperoleh bilangan bulat m. b.hitung nilai a dan b dengan persamaan berikut: a = g k mod p (1) b = y k m mod p (2) c.diperoleh cipherteks untuk karakter m tersebut dalam blok (a, b).

d.lakukan proses di atas untuk seluruh karakter dalam pesan termasuk karakter spasi. Salah satu kelebihan algoritma ElGamal adalah bahwa suatu plainteks yang sama akandienkripsimenjadicipherteksyangberbedabeda.akantetapi,walaupuncipherteksyangdiperoleh berbeda-beda, tetapi pada proses dekripsi akan diperoleh plainteks yang sama. 3. Proses Dekripsi Dekripsi dari cipherteks ke plainteks menggunakan kunci rahasia x dan p yang disimpankerahasiaanya oleh penerima pesan. Diberikan (y, g, p) sebagai kunci publik dan x sebagai kuncirahasia pada algoritma ElGamal. Jika diberikan cipherteks (a, b), maka : m = b.c mod p (3) dengan m adalah plainteks. Di mana nilai dari variabel c dicari dengan menggunakan persamaansebagai berikut : c = a p-1-x mod p (4) Berikut ini langkah-langkah untuk proses dekripsi: a.ambil sebuah blok cipherteks dari pesan yang telah dienkripsikan pengirim. b.denganmenggunakanxyangdirahasiakanolehpenerima,hitungnilaiplainteksden gan menggunakanpersamaan (3) danpersamaan (4). 2.9. Teori Bilangan 2.9.1. Teorema Euclidean Misalkan m dan n adalah dua buah bilangan bulat dengan syarat n> 0. Jika m dibagi dengan n maka terdapat dua buah bilangan bulat unik q (quotient) dan r (remainder), sedemikian sehingga m = nq + r dengan 0 r < n Contoh :

i. 1987 dibagi dengan 97 memberikan hasil bagi 20 dan sisa 47: 1987 = 97 20 + 47 ii. 22 dibagi dengan 3 memberikan hasil bagi 8 dan sisa 2: 22 = 3( 8) + 2 iii. 22 = 3( 7) 1 salah karena r = 1 tidak memenuhi syarat 0 r<n. 2.9.2. Aritmetika Modulo Misalkan a adalah bilangan bulat dan m > 0. Operasi a mod m (di baca a modulo m) memberikan sisa jika di bagi dengan m. Notasi : a mod m = r sedemikian sehingga a= mg + r, dengan 0 r < m ( Munir, 2006) Contoh beberapa hasil operasi dengan operasi modulo: 1. 13 mod 5 = 3 (13 = 5.2 + 3) 2. 28 mod 3 = 1 (28 = 3. 9 + 1 ) 3. 6 mod 8 = 6 ( 6 = 8.0 + 6 ) 4. 0 mod 12 = 0 ( 0 = 12.0 +0) 5. -41 mod 9 = 4 (-41 = 9 (-5) + 4) 6. -39 mod 13 = 0 (-39 = 13 (-3) + 0) 2.9.3. Bilangan Prima Bilangan bulat positif p (p> 1) disebut bilangan prima jika pembaginya hanya 1 dan p.23 adalah bilangan prima karena ia hanya habis dibagi oleh 1 dan 23. Karena bilangan prima harus lebih besar dari 1, maka barisan bilangan prima dimulai dari 2. (Munir, 2006)yaitu 2, 3, 5, 7, 11, 13,. Seluruh bilangan prima adalah bilangan ganjil, kecuali 2 yang merupakan bilangan genap.bilangan selain prima disebut bilangan komposit (composite). Misalnya 20 adalah bilangan komposit karena 20 dapat dibagi oleh 2, 4, 5, dan 10, selain 1 dan 20 sendiri. 2.9.4. Metode Fermat Salah satu teknik yang dapat di gunakan untuk menguji apakah suatu bilangan itu prima atau bukan adalah dengan menggunakan metode Fermat. Secara formal, teorema Fermat menyatakan bahwa jika n adalah bilangan yang akan di tes keprimanya dan 1 < a < n, maka :

Dimana : a Z a n-1 mod n = 1 Jika kita ingin membuktikan apakan n adalah bilangan prima atau bukan, langkah pertama yang harus di lakukan adalah dengan menentukan nilai a secara acak pada interval antara 2 sampai n-1 dan membuktikan apakah n memenuhi persamaan diatas. Jika persamaan tersebut tidak terpenuhi pada satu nilai a maka n adalah bilangan komposit. Sedangkan jika persamaan tersebut terpenuhi pada banyak nilai a, maka n adalah kemungkinan prima. Contoh : Jika n = 27 Dan 1 < a < 27, maka a adalah nilai yang diambil secara acak pada interval 2 sampai 26. Misal nilai a yang di gunakan adalah ( 2, 12 ) a n-1 mod n jika a = 2 maka : 2 27-1 mod 27 = 2 26 mod 27 = 13 Jika a = 12, maka : 12 27-1 mod 27 = 12 26 mod 27 = 0 Dengan demikian 27 bukan bilangan prima karena menggunakan nilai a yang kecil tidak memenuhi persamaan fermat. 2.10. Aplikasi Client Server Klien-server atau client-server merupakan sebuah paradigma dalam teknologi informasi yang merujuk kepada cara untuk mendistribusikan aplikasi ke dalam dua pihak: pihak klien dan pihak server. Dalam model klien/server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah, tapi masih merupakan sebuah kesatuan yakni komponen klien dan komponen server. Komponen klien juga sering disebut sebagai front-end, sementara komponen server disebut sebagai back-end. Sebuah contoh dari aplikasi client-server sederhana adalah aplikasi web yang didesain dengan menggunakan Active Server Pages (ASP) atau PHP. Skrip PHP atau ASP akan dijalankan di dalam web server (Apache atau Internet Information Services),

sementara skrip yang berjalan di pihak klien akan dijalankan oleh web browser pada komputer klien. Berikut gambar proses terjadinya antara klien dengan server. Gambar 2.13 Ilustrasi proses client server 2.11. Riset Terkait Terdapat beberapa riset terkait dalam penelitian ini yang telah dilakukan oleh peneliti sebelumnya. Adapun beberapa riset tersebut adalah : Tabel 6. Riset Terkait Nama Peneliti Judul Pembahasan Indrastanti R. Combining Advanced Membahas tentang Widiasari, (2012) Encryption Standard penggabungan algoritma AES (AES) and One Time Pad dan OTP. Proses Enkripsi (OTP) Encryption for dilakukan dengan OTP Data Security. kemudian enkripsi dengan AES. Hasil pembahasan berupa waktu enkripsi dan dekripsi dengan panjang kunci berbeda

serta kapasitas file setelah dienkripsi. E.M.Islas-Mendoza, C.A.Jimenez-Vazquez & V.M Silva-Garcia, (2013) Kurniadi, Irwansyah & Fatmasari (2015) Purwadi, Hendra Jaya dan Ahmad Calam, (2014) Diffie-Hellman Protocol Based on Elgamal and AES Cryptosystems. Penerapan Algoritma RC4 untuk Enkripsi Keamanan Data (Studi Kasus: Dinas Pendidikan dan Kebudayaan Kota Sekayu) Aplikasi Kriptografi Asimetris dengan Metode Diffie-Hellman dan Algoritma Elgamal untuk Keamanan Teks Membahas tentang desain komunikasi keamanan pesan melalui LAN dengan mengimplementasikan kriptosistem hybrid algoritma AES dan Elgamal untuk proses enkripsi kunci serta protocol Diffie-Hellman untuk distribusi keamanan kunci. Pada penelitian ini melakukan proses komunikasi dengan jumlah user yang berbeda serta waktu respon yang dihasilkan. Pembahasan tentang enkripsi dan dekripsi file dengan algoritma RC4. Implementasi program dengan visual studio 2008. Kesimpulan hasil penelitian yaitu yaitu file yang dapat dienkripsi adalah txt, excel, pdf dan jpg. Membahas tentang perancangan sistem enkripsi dekripsi dengan Elgamal dengan menggunakan metode Diffie-Hellman, kemudian penerapannya dengan

membangun sebuah aplikasi.