BAB II TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
Kriptografi Modern Part -1

BAB 2 LANDASAN TEORI

Ada 4 mode operasi cipher blok: 1. Electronic Code Book (ECB) 2. Cipher Block Chaining (CBC) 3. Cipher Feedback (CFB) 4. Output Feedback (OFB)

Kriptografi Modern Part -1

Tipe dan Mode Algoritma Simetri (Bagian 2)

Add your company slogan TEKNIK BLOCK CIPHER. Kriptografi - Week 9 LOGO. Aisyatul Karima, 2012

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

Algoritma Kriptografi Modern (Bagian 2)

BAB I PENDAHULUAN. Universitas Sumatera Utara

DATA ENCRYPTION STANDARD (DES) STANDAR ENKRIPSI DATA. Algoritma Kriptografi Modern

Data Encryption Standard (DES)

Algoritma Kriptografi Modern (Bagian 2)

STUDI KRIPTOGRAFI MENGENAI TRIPLE DES DAN AES

KRIPTOGRAFI VERNAM CIPHER UNTUK MENCEGAH PENCURIAN DATA PADA SEMUA EKSTENSI FILE

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

IMPLEMENTASI ENKRIPSI DATA BERBASIS ALGORITMA DES

2. Tipe dan Mode Algoritma Simetri

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

Add your company slogan STREAM CIPHER. Kriptografi - Week 7 LOGO. Aisyatul Karima, 2012

STUDI & IMPLEMENTASI ALGORITMA TRIPLE DES

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

Modern Cryptography. stream & block cipher

BAB 2 LANDASAN TEORI

STUDI DAN MODIFIKASI ALGORITMA BLOCK CHIPER MODE ECB DALAM PENGAMANAN SISTEM BASIS DATA. Arief Latu Suseno NIM:

MODIFIKASI VIGÈNERE CIPHER DENGAN MENGGUNAKAN MEKANISME CBC PADA PEMBANGKITAN KUNCI

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Bab 2 Tinjauan Pustaka

Algoritma Enkripsi Baku Tingkat Lanjut

General Discussion. Bab 4

Pengenalan Kriptografi

Studi Perbandingan ORYX Cipher dengan Stream Cipher Standard

RANCANGAN,IMPLEMENTASI DAN PENGUJIAN ZENARC SUPER CIPHER SEBAGAI IMPLEMENTASI ALGORITMA KUNCI SIMETRI

STUDI MENGENAI JARINGAN FEISTEL TAK SEIMBANG DAN CONTOH IMPLEMENTASINYA PADA SKIPJACK CIPHER

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

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

ENKRIPSI DATA KUNCI SIMETRIS DENGAN ALGORITMA KRIPTOGRAFI LOKI97

BAB 2 LANDASAN TEORI

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

STUDI PERBANDINGAN CIPHER BLOK ALGORITMA BLOWFISH DAN ALGORITMA CAMELLIA

PERANCANGAN PROGRAM APLIKASI KRIPTOGRAFI MENGGUNAKAN ALGORITMA MARS DENGAN MODUS ECB

STUDI ALGORITMA CIPHER BLOK KUNCI SIMETRI BLOWFISH CIPHER

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

BAB 2 TINJAUAN PUSTAKA

Algoritma Rubik Cipher

BAB III ANALISA DAN DESAIN SISTEM

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

Algoritma Spiral shifting

STUDI MENGENAI KRIPTANALISIS UNTUK BLOCK CIPHER DES DENGAN TEKNIK DIFFERENTIAL DAN LINEAR CRYPTANALYSIS

Algoritma Kriptografi Modern

Blox: Algoritma Block Cipher


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

TINJAUAN PUSTAKA. Kriptografi

BAB 2 LANDASAN TEORI. 2.1 Pengertian Kriptografi

Blok Cipher JUMT I. PENDAHULUAN

BAB III ANALISIS DAN PERANCANGAN

BAB Kriptografi

II Bab II Dasar Teori

ANALISIS FEISTEL CIPHER SEBAGAI DASAR BERBAGAI ALGORITMA BLOCK CIPHER

BAB 1 PENDAHULUAN 1.1. Latar belakang

Modul Praktikum Keamanan Sistem

PERBANDINGAN MODE CHIPER ELECTRONIC CODE BOOK DAN CHIPER BLOCK CHAINING DALAM PENGAMANAN DATA

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

Studi Mengenai Algoritma Skipjack dan Penerapannya

Implementasi dan Analisis Perbandingan Algoritma MAC Berbasis Fungsi Hash Satu Arah Dengan Algoritma MAC Berbasis Cipher Block

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

ANALISA ALGORITMA BLOCK CIPHER DALAM PENYANDIAN DES DAN PENGEMBANGANNYA

Kriptografi. A. Kriptografi. B. Enkripsi

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

Studi Perbandingan Cipher Block Algoritma Blowfish dan Algoritma Twofish

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

BAB II TINJAUAN PUSTAKA

STUDI ALGORITMA SOLITAIRE CIPHER

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

Studi dan Analisis Dua Jenis Algoritma Block Cipher: DES dan RC5

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

BAB III PENGERTIAN DAN SEJARAH SINGKAT KRIPTOGRAFI

Kriptografi Kunci Simetris Dengan Menggunakan Algoritma Crypton

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

Dr. R. Rizal Isnanto, S.T., M.M., M.T. Jurusan Teknik Elektro/Sistem Komputer Fakultas Teknik Universitas Diponegoro

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Penelitian sebelumnya yang ditulis oleh Alen Dwi Priyanto

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

ANALISIS APLIKASI KRIPTOGRAFI UNTUK SISTEM KEAMANAN PENYIMPANAN DATA ATAU INFORMASI HASIL-HASIL PENELITIAN YANG BERSIFAT RAHASIA

Vol. 3, No. 2, Juli 2007 ISSN PERANAN KRIPTOGRAFI DALAM KEAMANAN DATA PADA JARINGAN KOMPUTER

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

BAB II LANDASAN TEORI

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

PERBANDINGAN ALGORITMA KRIPTOGRAFI DES DENGAN ICE

BAB II LANDASAN TEORI

TEKNIK DASAR KRIPTOGRAFI. Algoritma Kriptografi Modern (Bagian 1) Substitusi. Tabel Subsitusi. Substitusi Blocking Permutasi Ekspansi Pemampatan

Studi Perbandingan Algoritma Kunci-Simetris Serpent dan Twofish

Implementasi Algoritma Rot Dan Subtitusional Block Cipher Dalam Mengamankan Data

ALGORITMA DATA ENCRYPTION STANDARD (DES)

STUDI MENGENAI SERANGAN DIFFERENT CRYPTANALYSIS PADA ALGORITMA SUBSTITUTION PERMUATION NETWORK

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

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Transkripsi:

BAB II TINJAUAN PUSTAKA 2.1. Latar Belakang Kriptografi. 2.1.1 Sejarah Kriptografi. Kriptografi berasal dari dua kata Yunani, yaitu Crypto yang berarti rahasia dan Grapho yang berarti menulis. Secara umum kriptografi dapat diartikan sebagai ilmu dan seni penyandian yang bertujuan untuk menjaga keamanan dan kerahasiaan suatu pesan. Kriptografi pada dasarnya sudah dikenal sejak lama. Menurut catatan sejarah, kriptografi sudah digunakan oleh bangsa Mesir sejak 4000 tahun yang lalu oleh raja-raja Mesir, pada saat perang untuk mengirimkan pesan rahasia kepada panglima perangnya melalui kurir-kurinya. Orang yang melakukan penyandian ini disebut kriptografer, sedangkan orang yang mendalami ilmu dan seni dalam membuka atau memecahkan suatu algoritma kriptografi tanpa harus mengetahui kuncinya disebut kriptanalis. Seiring dengan perkembangan teknologi, algoritma kriptografi pun mulai berubah menuju ke arah algoritma kriptografi yang lebih rumit dan kompleks. Kriptografi mau tidak mau harus diakui mempunyai peranan yang paling penting dalam peperangan sehingga algoritma kriptografi berkembang cukup pesat pada saat Perang Dunia I dan Perang Dunia II. Menurut catatan sejarah, terdapat beberapa algoritma kriptografi yang pernah digunakan dalam peperangan, diantaranya adalah ADFVGX yang dipakai oleh Jerman pada Perang Dunia I, Sigaba/M-134 yang digunakan oleh Amerika Serikat pada Perang Dunia II, Typex oleh Inggris, dan Purple oleh Jepang. Selain itu Jerman juga mempunyai mesin legendaris yang dipakai untuk memecahkan sandi yang dikirim oleh pihak musuh dalam peperangan yaitu, Enigma. Algoritma yang baik tidak ditentukan oleh kerumitan dalam mengolah data atau pesan yang disampaikan.

2.1.2 Definisi Kriptografi. Teknik Kriptografi berasal dari bahasa Yunani yakni kriptos yang artinya tersembunyi dan graphia yang artinya sesuatu yang tertulis, maka kriptografi dapat diibaratkan sesuatu yang tercatat secara rahasia. Teknik kriptografi adalah sesuatu disiplin ilmu yang mempelajari tentang teknik merahasiakan suatu data rahasia yang penting ke dalam suatu bentuk yang tidak dapat dibaca oleh siapapun serta dapat mengembalikannya kembali menjadi data seperti semula dengan menggunakan berbagai macam teknik yang telah ada sehingga data tersebut tidak dapat diketahui oleh pihak manapun yang bukan pemilik atau yang tidak berkepentingan, makna lain dari kriptografi ialah kriptanalisis (Cryptanalysis) yang merupakan ilmu tentang teknik bagaimana memecahkan mekanisme kriptografi. Dalam suatu institusi baik militer dan swasta, kriptografi lebih diutamakan dalam menjaga keamanan data agar tetap terjaga kerahasiaannya secara khusus. Seperti yang telah diketahui dan disetujui bahwa perlindungan (proteksi) terhadap komunikasi yang sensitif telah menjadi penekanan kriptografi selama ini. 2.1.3 Tujuan Kriptografi. Algoritma yang baik tidak ditentukan oleh kerumitan dalam mengolah data atau pesan yang disampaikan. Yang penting, algoritma tersebut harus memenuhi 4 persyaratan berikut : 1. Kerahasiaan. Pesan (plaintext) hanya dapat dibaca oleh pihak yang memiliki kewenangan. 2. Autentikasi. Pengirim pesan harus dapat diidentifikasi dengan pasti, penyusup harus dipastikan tidak bisa berpura-pura menjadi orang lain. 3. Integritas. Penerima pesan harus dapat memastikan bahwa pesan yang dia terima tidak dimodifikasi ketika sedang dalam proses transmisi data.

4. Non-Repudiation. Pengirim pesan harus dapat menyangkal pesan yang dia kirimkan,kriptografi pada dasarnya terdiri dari dua proses, yaitu proses enkripsi dan proses dekripsi. 2.1.4 Algoritma Enkripsi Dengan XOR Sederhana. Algoritma enkripsi sederhana yang menggunakan XOR adalah dengan meng-xor kan plainteks (P) dengan kunci (K) menghasilkan cipherteks : C = P K, Karena meng XOR kan nilai yang sama dua kali berturut-turut menghasilkan nilai semula, maka dekripsi menggunakan persamaan : P = C K Contoh: plainteks 01100101 (karakter e ) kunci 00110101 (karakter 5 ) cipherteks 01010000 (karakter P ) kunci 00110101 (karakter 5 ) plainteks 01100101 (karakter e ) Algoritma enkripsi XOR sederhana pada prinsipnya sama seperti Vigenere cipher dengan penggunaan kunci yang berulang secara periodik. Setiap bit plainteks di-xor-kan dengan setiap bit kunci. Program komersil yang berbasis DOS atau Macintosh menggunakan algoritma XOR sederhana ini. Sayangnya, algoritma XOR sederhana tidak aman karena cipherteksnya mudah dipecahkan. Cara memecahkannya adalah sebagai berikut : 1. Cari panjang kunci dengan prosedur counting concidence sbb : XOR kan cipherteks terhadap dirinya sendiri setelah digeser sejumlah byte, dan hitunglah jumlah byte yang sama. Jika pergeseran itu kelipatan dari panjang kunci (yang tidak diketahui), maka 6% dari byte akan sama. Jika tidak maka 0.4% akan sama.

Angka persentase ini disebut index of coincidence. Pergeseran terkecil mengindikasikan panjang kunci yang dicari. 2. Geser cipherteks sejauh panjang kunci dan XOR kan dengan dirinya sendiri. Operasi ini menghasilkan plainteks yang ter XOR dengan plainteks yang digeser sejauh panjang kunci tersebut. 2.1.5. Kriptografi Kunci Simetri. Algoritma kunci-simetri mengacu pada metode enkripsi yang dalam hal ini pengirim maupun penerima memiliki kunci yang sama. Algoritma kunci-simetri modern beroperasi dalam mode bit dan dapat dikelompokkan menjadi dua kategori: 1. Cipher aliran ( stream cipher) 2. Cipher blok ( block cipher) 2.1.5.1. Stream Cipher. Algoritma kiptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit. Cipher aliran mengenkripsi satu bit setiap kali tranformasi atau byte per byte (1 karakter = 1 byte). Nama lain untuk cipher stream adalah cipher status sebab enkripsi tiap bit bergantung pada status saat ini (current state). Cipher aliran pertama kali diperkenalkan oleh Vernam melalui algoritmanya yang dikenal dengan nama Vernam cipher. Vernam cipher diadopsi dari one-time pad cipher, yang dalam hal ini karakter diganti dengan bit (0 dan 1). Cipherteks diperoleh dengan melakukan penjumlahan modulo 2 satu bit plainteks dengan satu bit kunci. ci = (pi + ki) mod 2 Yang dalam hal ini : pi : bit plainteks ki : bit kunci ci : bit cipherteks.

Plainteks diperoleh dengan melakukan penjumlahan modulo 2 satu bit cipherteks dengan satu bit kunci : pi = (ci + ki) mod 2, oleh karena itu kita dapat menyatakan bahwa cipher aliran merupakan aproksimasi dari unbreakable cipher yaitu on-time pad cipher. Mengingat operasi penjumlahan modulo 2 identik dengan operasi bit dengan operator XOR, maka pada cipher aliran, bit hanya mempunyai dua buah nilai, sehingga proses enkripsi hanya menyebabkan dua keadaan pada bit tersebut : berubah atau tidak berubah. Dua keadaan tersebut ditentukan oleh kunci enkripsi yang disebut aliran kunci (keystream). Aliran kunci dibangkitkan dari sebuah pembangkit yang dinamakan pembangkit aliran-kunci (keystream generator). Aliran kunci di XOR kan dengan aliran bit-bit plainteks pi, p2,,pi, untuk menghasilkan aliran bit-bit cipherteks. ci = pi ki, disisi penerima, bit-bit cipherteks di XOR-kan dengan aliran kunci yang sama untuk menghasilkan bit-bit plainteks : pi = ci ki Contoh : Plainteks : 1100101 Aliran kunci : 1000110 Maka cipherteks didapatkan dengan meng XOR kan bit-bit plainteks dengan aliran kunci pada posisi yang berkoresponden, sehinga didapatkan : 0100011 2.2 System Teknik Kriptografi. Ilmu Kriptografi telah banyak dimamfaatkan di dalam Teknik pengamanan baik data maupun informasi, dibidang teknik computer dalam pengamanan data pada masa kini. Teknik yang sering dipakai dari kriptografi adalah sistem yang dikembangkan dengan teknik dasar. Sistem pengamanan data ini, dapat memiliki tingkat keragaman yang khas. Beberapa aplikasi yang lebih sederhana antara lain, komunikasi data yang aman, identifikasi, otentikasi, dan secret sharing. Aplikasi yang lebih rumit seperti sistem untuk electronic commerce (e-commerce), sertifikasi, electronic

mail yang aman, penemuan kunci dan akses komputer yang aman. Secara umum, makin sederhana aplikasi makin cepat menjadi realita. 2.2.1 Identifikasi dan Otentikasi. Identifikasi dan otentikasi merupakan dua sarat mutlak dari teknik kriptografi yang sangat banyak digunakan saat ini. Identifikasi adalah suatu proses verifikasi identitas suatu objek. Sebagai contoh, ketika mengambil dana dari suatu bank dengan menggunakan kartu, yang dilengkapi dengan saatu password yang rahasia tersebut, demikian juga dengan rekening yang bersangkutan. Ketika kartu dimasukkan ke dalam mesin, maka mesin tersebut akan meminta pengguna kartu untuk memasukkan password. Jika Password yang dimasukkan benar, mesin akan mengidentifikasikan orang tersebut benar sebagai pemilik kartu sehingga kepada orang tersebut akan diberikan tanda bahwa yang bersangkutan dapat melanjutkannya. Sehingga teknik penting lainnya dari kriptografi adalah otentikasi. Otentikasi sama juga dengan indetifikasi, diantara keduanya memberikan kemampuan dalam mengakses ke dalam teknik tertentu pula, tetapi otentikasi memiliki jangkauan yang lebih luas sehingga tidak perlu mengidentifikasikan objeknya. 2.2.2 Kriteria Pada Sistem Kriptografi. Teknik kunci suatu sistem kriptografi (cryptosystems) dapat dikatagorikan atas 2 jenis teknik yakni teknik kriptografi dengan kunci publik (public key cryptography) dan teknik kriptografi dengan kunci rahasia (secret key cryptography). Dalam teknik kriptografi kunci rahasia yang juga dikenal dengan symmetric cryptosystems. Pengirim dan penerima bersama-sama sepakat dalam suatu kunci rahasia yang akan digunakan dalam proses enkripsi dan dekripsi suatu data tanpa diketahui oleh pihak lain. Sedangkan dalam teknik kriptografi kunci publik atau dikenal dengan assymmetric cryptosystem, pihak pengirim maupun pihak penerima mendapatkan sepasang kunci yang disebut dengan kunci publik (public

key) dan kunci rahasia (private key) dimana kunci publik dipublikasikan dan kunci rahasia tetap dirahasiakan. Enkripsi dilakukan dengan menggunakan kunci publik sedangkan dekripsi dilakukan dengan menggunakan kunci rahasia. 2.3 Teknik Kunci Rahasia. Teknik pada kriptografi dengan kunci rahasia merupakan suatu teknik pada kriptografi yang lebih sederhana, sedangkan pada kunci satu dapat digunakan untuk enkripsi dan dekripsi suatu data. Teknik kunci rahasia bukan hanya digunakan untuk proses enkripsi, namun juga dapat digunakan untuk proses otentikasi. Proses data dengan menggunakan teknik kriptografi kunci rahasia membuat pengirim dan penerima pesan atau informasi setuju atas kunci rahasia yang digunakan tanpa orang lain mampu mendapatkan dan mengetahuinya. Atau dengan kata lain bagaimana memilih kunci rahasia yang benar-benar aman. Proses ini membutuhkan suatu teknik dimana kedua pihak dapat berkomunikasi tanpa keraguan akan bocornya kunci tersebut. Akan tetapi, keuntungan dari kriptografi kunci rahasia adalah biasanya lebih cepat dibandingkan dengan kriptografi kunci publik. Teknik yang paling umum untuk kriptografi kunci rahasia adalah block ciphers, stream ciphers, dan message authentication codes. 2.3.1 Block Cipher. Simetri Cipher Blok Algoritma kriptografi akan disebut simetri apabila ber pasangan kunci untuk proses enkripsi dan dekripsinya sama. Algoritma enkripsi simetri inipun dibagi lagi menjadi dua kelas, yaitu block-cipher dan streamcipher. Karena AES harus merupakan cipher blok, maka cipher stream tidak akan dibahas pada makalah ini. Pada algoritma kriptografi simetri cipher blok, rangkaian bit-bit plainteks dibagi menjadi blok-blok bit dengan panjang sama. Enkripsi dilakukan terhadap blok bit plainteks menggunakan bit-bit kunci (yang ukurannya sama dengan blok plainteks). Algoritma enkripsi menghasilkan blok cipherteks yang

berukuran sama dengan blok plainteks. Dekripsi dilakukan dengan cara yang serupa seperti enkripsi. Skema enkripsi dan dekripsi dengan cipher blok dapat dilihat pada Gambar 1. Fungsi E dan D dideskripsikan sendiri oleh kriptografer. Gambar 2.1. Enkripsi dan Dekripsi dengan Cipher Block 2.3.1.1 Teknik Kriptografi. Yang Digunakan Pada Chiper Blok. Algoritma blok cipher menggabungkan beberapa teknik klasik dalam proses enkripsi. Teknik kriptografi yang digunakan adalah : 1). Substitusi. Teknik ini mengganti satu atau sekumpulan bit pada blokc plainteks menjadi cipherteks tanpa mengubah urutannya. 2). Transposisi atau Permutasi. Teknik ini memindahkan posisi bit pada blok plainteks untuk ditempatkan pada blok cipherteks berdasarkan aturan tertentu. 3). Ekspansi. Teknik ini memperbanyak jumlah bit pada block plainteks berdasarkan aturan tertentu, biasanya dinyatakan dengan tabel.

4). Kompresi. Teknik ini kebalikan dari ekspansi, di mana jumlah bit pada plainteks dikompresi (diperkecil) berdasarkan aturan 2.3.1.2 Mode Operasi Cipher Block. Plainteks dibagi menjadi beberapa blok yang dengan panjang yang tetap. Beberapa mode operasi dapat diterapkan untuk melakukan enkripsi terhadap keseluruhan blok plainteks, Empat mode operasi yang lazim diterapkan pada sistem blok cipher adalah. 1) Electronic Code Book (ECB). Setiap blok plainteks Pi dienkripsi secara individual dan independen menjadi blok cipherteks Ci. Secara matematis, enkripsi dengan mode ECB dinyatakan sebagai Ci = Ek(Pi) dan dekripsi sebagai Pi = Dk(Ci), yang dalam hal ini, Pi dan Ci masing masing block plainteks dan cipherteks ke- I Skema enkripsi. Gambar. 2.2 Electronic Code Book (ECB)

2). Cipher Block Chaining ( CBC ). Mode ini menerapkan mekanisme umpan balik (feedback) pada sebuah blok, yang dalam hal ini hasil enkripsi blok sebelumnya diumpan balikkan ke dalam enkripsi blok yang current. Secara matematis, enkripsi dengan mode CBC dinyatakan sebagai Ci = Ek(P1 = Cií1) dan dekripsi sebagai Pi = Dk(Ci) = Ci-1 Yang dalam hal ini, C0 = IV ( initialization vector ). IV dapat diberikan oleh pengguna atau dibangkitkan secara acak oleh program. gambar enkripsi dengan mode CBC dapat dilihat pada Gambar 2.3. Gambar 2.3 Enkripsi dengan Mode CBC 2.3.1.3 Stream Cipher. Adalah type algoritma proses enkripsi simetri yang merupakan model mentransformasikan data secara karakter per karakter. Stream ciphers dapat dibuat sangat cepat sekali, jauh lebih cepat dibandingkan dengan algoritma block cipher yang manapun.

Sementara algoritma block cipher secara umum digunakan untuk unit plaintext yang berukuran besar sedangkan stream cipher digunakan pada blok data yang ukurannya kecil, biasanya ukuran bit. Suatu Proses enkripsi terhadap plaintext tertentu dengan algoritma block cipher akan menghasilkan ciphertext yang sama jika kunci yang sama digunakan. Dalam proses stream cipher, transformasi dari unit plaintext yang lebih kecil ini berbeda antara satu dengan lainnya, tergantung pada kapan unit tersebut ditemukan selama proses enkripsi. Stream cipher menghasilkan apa yang disebut dengan keystream yaitu suatu barisan bit yang digunakan sebagai kunci. Proses enkripsi dicapai dengan menggabungkan keystream dengan plaintext biasanya dengan operasi bitwise XOR. Proses keystream dapat dibuat independen terhadap plaintext dan ciphertext, menghasilkan apa disebut dengan proses synchronous stream cipher, dan dapat dibuat tergantung pada data dan enkripsinya, dalam metode ini stream cipher disebut sebagai self-synchronizing, bentuk stream cipher ialah synchronous stream cipher. Penunjukan proses dalam stream ciphers pada umumnya berkaitan dengan sifat-sifat teoritis yang menarik dari one-time pad. Suatu one-time pad, kadangkadang disebut Vernam cipher, dalam menggunakan sebuah string dari bit yang dihasilkan murni secara acak. Keystream memiliki panjang sama dengan pesan plaintext; string acak digabungkan dengan menggunakan bitwise XOR dengan plaintext untuk menghasilkan ciphertext. Karena keystream seluruhnya adalah acak, walaupun dengan sumber daya komputasi tak terbatas seseorang hanya dapat menduga plaintext jika dia melihat ciphertext. Metode cipher seperti ini disebut memberikan kerahasiaan yang sempurna (perfect secrecy), dan analisis terhadap one-time pad dipandang sebagai salah satu landasan kriptografi modern. Sementara one-time pad yang digunakan semasa perang melalui saluran diplomatik membutuhkan tingkat keamanan yang sangat tinggi, fakta bahwa kunci rahasia (yang hanya dapat digunakan satu kali) dianggap rahasia sepanjang pesan

memperkenalkan masalah manajemen kunci yang strict. Sedangkan keamanan sempurna, one-time pad secara umum adalah tidak praktis. Metode Stream ciphers dikembangkan sebagai satu pola terhadap tindakan dari one-time pad. Sedangkan stream cipher modern tidak mampu menyediakan tingkat keamanan one-time pad yang memadai secara teori, tetapi setidaknya praktis. Sampai saat ini belum ada stream cipher sebagai standard. Metode stream cipher yang umum digunakan. Satu hal yang menarik bahwa mode operasi tertentu dari suatu block cipher dapat mentransformasikan secara efektif hasil operasi tersebut ke dalam satu keystream generator dan dalam, block cipher, suatu stream cipher. 2.4 Matematis Kriptografi. 2.4.1 Pengantar Matematis Pada Kriptografi. Seluruh byte dalam algoritma Mars diinterprestasikan sebagai elemen dalam finite field. Element finite field ini dapat dikalikan dan dijumlahkan, tetapi hasil dari penjumlahan dan perkalian elemen finite field sangat berbeda dengan hasil dari penjumlahan dan perkalian bilangan biasa. 2.4.2 Penjumlahan. Penjumlahan dari dua elemen dalam suatu finite field tersebut dilakukan dengan menjumlahkan koefisien dari pangkat polinom yang bersesuaian dari dua elemen tersebut. Penjumlahan dilakukan dengan operasi XOR dan dinotasikan dengan. Dengan operasi ini, maka : 1 1 = 0, 1 0 = 1, 0 1 = 1, dan 0 0 = 1. Pengurangan dari polynomial identik dengan penjumlahan polynomial. Sebagai alternative, penjumlahan elemen-elemen pada finite field dapat dijelaskan sebagai penjumlahan modulo 2 dari bit yang bersesuaian dalam byte. Untuk 2 byte { a7a6a5a4a3a2a1a0 } dan { b7b6b5b4b3b2b1b0 }, hasil penjumlahannya adalah { c7c6c5c4c3c2c1c0 } dimana setiap ci = ai bi. Contoh dari operasi penjumlahan adalah sebagai berikut : ( X6+X4+X2+X+1) = X7+X6+X4+X2 ini adalah notasi dari polynomial,

{01010111 } {11010100 } ini disebut ( Notasi Biner ) dan { 57 } { 83 } = { d4 } ini disebut notasi hexadecimal. 2.4.3 Perkalian. Dalam representasi polynomial, perkalian dalam GF ( 2 8 ) yang dinotasikan dengan * mengacu pada perkalian modulo polynomial sebuah irreducible polynomial yang berderajat 8. Sebuah polynomial bersifat irreducible jika satu satunya pembagi adalah dirinya dan 1, untuk algoritma Mars, irreducible polynomial ini adalah, m(x) = x 8 +x 4 +x 3 +x+1, atau dalam notasi hexadecimal adalah { 01 } {1b }. Sebagai contoh, {57}*{83}={c}, karena : (X 6 +X 4 +X 2 +X+1)*(X 7 +X+1=X 13 +X 11 +X 9 +X 8 +X 7 +X 7 +X 5 +X 3 +X 2 +X+X 6 +X 4 +X 2 +1=X 13 +X 11 +X 9 +X 8 +X 6 +X 5 +X 4 +X 3 +1dan X 13 +X 11 +X 9 +X 8 +X 6 +X 5 +X 4 +X 3 +X+1 modulo ( X 8 +X 4 +X 3 +X+1 ) = X 7 +X 6 + 1. Pengurangan modulo oleh m(x) memastikan bahwa hasilnya akan berupa polynomial biner dengan derajat kurang dari 8, sehingga dapat dipresentasikan dengan 1 byte. 2.4.4 Operasi XOR. MARS cipher menggunakan berbagai macam pada operasi ( pada 32-bit word). MARS mengkombinasikan: Exclusive-or (XOR), penjumlahan, pengurangan, perkalian, fixed rotation dan data dependent rotation. antara lain adalah : 1) Penjumlahan, Pengurangan, Perkalian dan XOR. Ini merupakan operasi yang sangat sederhana, yang digunakan untuk menggabungkan nilai data dan nilai kunci. 2) Fixed Rotation. Rotasi berdasarkan nilai tertentu yang sudah ditetapkan. Dalam hal ini nilai rotasi untuk transformasi kunci adalah 13 posisi dengan pergerakan rotasi ke kiri, untuk r -function adalah 5 dan 13 posisi

dengan pergerakan rotasi ke kin, 24 posisi untuk forward mixing dengan pergerakan rotasi ke kin dan 24 posisi untuk backward mixing dengan pergerakan rotasi ke kanan. 3) Data Dependent Rotation. Rotasi berdasarkan nilai yang ditentukan berdasarkan 5 bit terendah (berkisar antara 0 dan 31) dari word data, misalkan nilai rotasi r = 5 bit terendah dari M maka nilai rotasi r akan sangat tergantung dengan nilai 5 bit terendah dari M. 2.4.5 S-Box. Tabel look-up atau S-box merupakan suatu tabel substitusi yang digunakan sebagai dasar untuk menjamin keamanan data pada DES, dan juga digunakan untuk beberapa cipher yang lain seperti MARS. MARS menggunakan tabel tunggal yang terdiri dari 512, 32 bit word, yang disebut dengan S-box. Tabel S box ini merupakan fixed tabel yang nilainya sudah tetap, kekurangan dari penggunaan S-box adalah agak lambat untuk diimplementasi pada software. 2.4.6 Kriptografi Secret Key dan Public Key. Pada dasarnya terdapat dua jenis algoritma kriptografi berdasarkan kunci yang digunakan. Yang pertama adalah kriptografi dengan menggunakan secret key dan yang kedua adalah kriptografi yang menggunakan public key. Kriptografi public key menggunakan dua kunci yang berbeda dimana satu kunci digunakan untuk melakukan enkripsi dan kunci yang lain digunakan untuk melakukan dekripsi.

Gambar 2.4 Kriptografi kunci simetri. 1. Cryptographi Secret Key. Kriptografi secret key adalah kriptografi yang hanya melibatkan satu kunci dalam proses enkripsi dan dekripsi. Proses dekripsi dalam kriptografi secret key ini adalah kebalikan dari proses enkripsi. Kriptografi secret key seringkali disebut sebagai kriptografi konvensional atau kriptografi simetris (Symmetric Cryptography) dimana proses dekripsi adalah kebalikan dari proses enkripsi dan menggunakan kunci yang sama. Kriptografi simetris dapat dibagi menjadi dua, yaitu penyandian blok dan penyandian alir. Penyandian blok bekerja pada suatu data yang terkelompok menjadi blok-blok data atau kelompok data dengan panjang data yang telah ditentukan. Pada penyandian blok, data yang masuk akan dipecah-pecah menjadi blok data yang telah ditentukan ukurannya. Penyandian alir bekerja pada suatu data bit tunggal atau terkadang dalam satu byte. Jadi format data yang mengalami proses enkripsi dan dekripsi adalah berupa aliran bit-bit data. Algoritma yang ada pada saat ini kebanyakan bekerja untuk penyandian blok karena kebanyakan proses pengiriman data pada saat ini

menggunakan blok-blok data yang telah ditentukan ukurannya untuk kemudian dikirim melalui saluran komunikasi. 2. Kriptografi Public Key. Kriptografi public key sering disebut dengan kriptografi asimetris.berbeda dengan kriptografi secret key, kunci yang digunakan pada proses enkripsi dan proses dekripsi pada kriptografi public key ini berbeda satu sama lain. Jadi dalam kriptografi public key, suatu key generator akan menghasilkan dua kunci berbeda dimana satu kunci digunakan untuk melakukan proses enkripsi dan kunci yang lain digunakan untuk melakukan proses dekripsi. Kunci yang digunakan untuk melakukan enkripsi akan dipublikasikan kepada umum untuk dipergunakan secara bebas. Oleh sebab itu, kunci yang digunakan untuk melakukan enkripsi disebut juga sebagai public key. Sedangkan kunci yang digunakan untuk melakukan dekripsi akan disimpan. Gambar 2. 5 Kriptografi Asimetris

2.5 Metoda MARS. 2.5.1 Sejarah Algoritma MARS. MARS adalah cipher block yang didesain oleh tim dari IBM Corporation, yaitu Carolynn Burwick, Don Coppersmith, Edward D.Avignon, Rosario Gennaro, Shai Halevi, Charanjit Jutla, Stephen M.Matyas, Jr., Luke O Connor, Mohammad Peyravian, David Safford, dan Nevenko Zunic. MARS merupakan block cipher dengan panjang blok 128 bit dan panjang kunci fleksible dari 128 bit sampai 499 bit. Algoritma ini bekerja dengan word 32 bit, dan menggunakan jaringan Feistel (Feistel network) tipe-3. MARS menerima input dan menghasilkan output empat word 32 bit. Cipher ini berorientasi pada word, di mana semua operasi internalnnya bekerja pada word 32 bit, sehingga struktur internal dari MARS adalah endian-neutral (code yang sama dapat bekerja pada mesin little - endian maupun big - endian). Jika input (atau output) cipher adalah byte stream, maka digunakan pengurutan little - endian byte untuk menginterpretasi masing masing empat byte sebagai sebuah word 32 bit. Gambar 4, memperlihatkan skema dari MARS yang dibagi menjadi 3 fase. Fase pertama, Forward Mixing berisi pengacakan besar besaran dan hujan kunci untuk membuat frustasi serangan chosen-plaintext. Di dalam fase ini dilakukan penambahan word kunci ke word data, diikuti dengan delapan putaran berbasis S-Box. Fase kedua merupakan Cryptographic Core (inti kriptografi) dari cipher ini, yang berisi 16 putaran transformasi dengan jaringan Feistel. Untuk memastikan enkripsi dan dekripsi memiliki kekuatan yang sama, maka 8 putaran pertama dilakukan dengan forward mode sedangakan sisanya dengan backward mode. Fase terakhir, Backward Missing operasi yang dilakukan hampir sama seperti fase pertama, namun merupakan kebalikan dari fase pertama. Fase ini bertujuan melindungi cipher dari serangan chosen-ciphertext.

Gambar 2.6 Algoritma MARS 2.5.2 Algoritma Enkripsi MARS. Penelitian ini menggambarkan dan menganalisis MARS algoritma enkripsi simetris-key yang merupakan blok baru cipher diserahkan kepada NIST untuk dipertimbangkan sebagai Advanced Encryption Standard (AES). MARS mendukung blok 128-bit dan ukuran kunci variabel. Hal ini dirancang untuk mengambil keuntungan dari kuat operasi didukung dalam komputer saat ini, menghasilkan banyak peningkatan keamanan / trade off kinerja Khususnya, dalam MARS kami menggunakan kombinasi yang unik dari lookup S-box, perkalian dan rotasi data-dependent. MARS memiliki struktur heterogen, dengan kriptografi putaran inti yang dibungkus oleh putaran pencampuran sederhana. Putaran inti kriptografi memberikan kuat perlawanan terhadap semua serangan cryptanalytical dikenal, sedangkan putaran pencampuran memberikan guguran baik dan menawarkan margin keamanan yang sangat luas untuk menggagalkan (sebelum diketahui) serangan.

2.5.2.1 Struktur Cipher Algoritma MARS. Struktur cipher pada MARS dibagi dalam 3 tahap yakni : 1) Tahap Pertama adalah Forward Mixing. Berfungsi untuk mencegah serangan terhadap chosen plainlext. Terdiri dari penambahan sub kunci pada setiap word data atau plaimezr, diikuti dengan delapan iterasi mixing tipe-3 feitsal (dalam forward mode) dengan berbasis S- box. 2) Tahap Kedua adalah Cryptographic Core dan Cipher. Terdiri dari enam belas iterasi tranformasi kunci tipe-3 feistal. Untuk menjamin bahwa proses enkripsi dan dekripsi mempunyai kekuatan yang sama, delapan iterasi pertama ditunjukkan dalam forward mode dan delapan iterasi terakhir ada dalam backward mode. 3) Tahap Terakhir Adalah Backward Mixing. Berfungsi untuk melindungi serangan kembali terhadap chosen chipertext. Tahap ini merupakan invers dari tahap pertama, terdiri dari delapan iterasi mixing tipe-3 feistel (dalam backward mode) dengan berbasis s-box, diikuti dengan pengurangan sub kunci dari word data. Hasil pengurangan inilah yang disebut dengan ciphertext. Notasi yang digunakan dalam cipher: 1. D[ ] adalah sebuah array untuk 4 32-bit data. Inisial D berisi plaintext dan pada akhir proses enkripsi berisi ciphertext. 2. K[ ] adalah array untuk expanded key, terdiri dari 40 32 bit word. 3. S [ ] adalah sebuah S-box, terdiri dari 512 32-bit word. 3 (1) Tahap Pertama : Forward Mixing. Dalam tahap ini, pertama-tama sebuah sub kunci ditambahkan pada setiap word data dari plaintext, dan kemudian dilakukan delapan iterasi mixing tipe-3 feistel network (dalam forward mode), dikombinasikan dengan operasi mixing tambahan.

Dalam setiap iterasi digunakan sebuah word data (source word) untuk memodifikasi tiga word data (target word). Keempat byte source word digunakan sebagai indeks untuk S-box, kemudian nilai S-box entri akan di-xor-kan, atau ditambahkan pada ketiga word data yang lain. Keempat byte dari source word dinotasikan dengan b0, b1, b2, b3 (dimana b0 adalah byte terendah dan b3 adalah byte tertinggi) dan digunakan sebagai indeks untuk S-box. S-box[b0] di-xorkan dengan target word pertama, dan S box[b1+256] ditambahkan dengan target word yang sama. S box[b2] ditambahkan dengan target word kedua dan S box[b3+256] di-xor-kan dengan target word ketiga. Terakhir source word dirotasikan sebanyak 24 posisi ke kanan. Untuk iterasi berikutnya keempat word data dirotasikan, sehingga target word pertama saat ini menjadi source word berikutnya, target word kedua saat ini menjadi target word pertama berikutnya, target word ketiga saat ini menjadi target word kedua berikutnya dan source word saat ini menjadi target word ketiga berikutnya. (3.2) Tahap Kedua: Transformasi Kunci Utama. Cryptographic core pada MARS cipher menggunakan tipe 3 feistal Network yang terdiri dari enam belas iterasi. Dalam setiap iterasi digunakan E-function (E untuk expansion) yang mengkombinasikan penjumlahan, perkalian, fixed rotation data dependent rotation dan S _box lookup. Fungsi ini menerima input satu word data dan menghasilkan tiga word data sebagai output dengan notasi L, M dan K. Dalam setiap iterasi digunakan satu word data sebagai input untuk E-function dan ketiga output word data dari P - Function ditambahkan atau di-xor-kan ke ketiga word data yang lam. Kemudian Source word dirotasikan sebanyak 13 posisi ke kiri. Ketiga output dari E-function digunakan dengan cara yang berbeda dalam delapan iterasi pertama dibandingkan dengan delapan iterasi

Dalam delapan iterasi pertama, output pertama dan kedua dari E- function ditambahkan dengan target word pertama dan kedua, output ketiga di-xor-kan dengan target word ketiga. Dalam delapan iterasi terakhir, output pertama dan kedua dari E function ditambahkan dengan target word ketiga dan kedua, output ketiga di-xor-kan dengan target word pertama. (3.3) E-Function. E -function menerima input satu word data dan menggunakan dua atau lebih sub kunci untuk menghasilkan tiga word data sebagai output. Dalam fungsi ini digunakan tiga variabel sementara, yang dinotasikan dengan L, M dan R ( left, middle, dan right ). R berfungsi untuk menampung nilai source word yang dirotasikan sebanyak 13 posisi ke kiri. M berfungsi untuk menampung nilai source word yang dijumlahkan dengan sub kunci pertama. Sembilan bit terendah dari M digunakan sebagai indeks untuk S-box. L berfungsi untuk menampung nilai yang sesuai dengan S box entry. Sub kunci kedua akan dikalikan dengan R dan kemudian R dirotasikan sebanyak S posisi ke kiri. L di-xor-kan dengan R, lima bit terendah dari R digunakan untuk nilai rotasi r dengan nilai antara 0 dan 31, dan M dirotasikan ke kiri sebanyak r posisi. R dirotasikan sebanyak 5 posisi ke kiri dan di-xor-kan dengan L. Terakhir, lima bit terendah dari R diambil sebagai nilai rotasi r dan L dirotasikan kekiri sebanyak r posisi. Output word pertama dari E -function adalah M kedua adalah M dan ketiga adalah R. (3.4) Tahap Ketiga : Backward Mixing. Tahap ini merupakan invers dari tahap forward mixing, word data yang diproses dalam urutan yang berbeda dalam backward mode. Sama halnya pada forward mixing, pada backward mixing juga digunakan sebuah source word untuk memodifikasi tiga target word.

Keempat byte dari source word dinotasikan dengan b0, bl, b2, b3 (dimana b0 adalah byte terendah dan b3 adalah byte tertinggi) dan digunakan sebagai indeks untuk S box. S box [b0+256] di-xor-kan dengan target word pertama, dan S box[b3] dikurangkan dengan target word kedua. S box [b2+256] dikurangkan dengan target word ketiga dan S box[b1] di-xor-kan dengan target word ketiga juga. Terakhir source word dirotasikan sebanyak 24 posisi ke kiri. Untuk iterasi berikutnya keempat word data dirotasikan sehingga target word pertama saat ini menjadi source word berikutnya, target word kedua saat ini menjadi target word pertama berikutnya, target word ketiga saat ini menjadi target word kedua berikutnya dan source word saat ini menjadi target word ketiga berikutnya. 2.5.2.2 Perluasan Kunci. Perluasan kunci berfungsi untuk membangkitkan sub kunci dari kunci yang diberikan oleh pemakai yakni k[ ] yang terdiri dari n 32-bit (word). Kunci diperluas menjadi 40 32-bit (word) sub kunci K[ ]. Dalam prosedur ini dibutuhkan 7 word data yang diambil dari S box[0 6] dan digunakan untuk transformasi linier. Tabel temporer T yang terdiri dari 47 word data digunakan untuk menampung nilai 7 word data dari S box[0..6] dan nilai hasil transformasi linier, dimana 7 word pertama berisikan nilai S box(0..6] dan 40 word terakhir akan diisikan melalui transformasi linier yang selanjutnya digunakan dalam iterasi untuk perluasan kunci. Dalam transformasi linier untuk T[0..38] diisikan dengan ketentuan T[i-7] di-xor-kan dengan T[i-2] dan hasilnya dirotasikan sebanyak 3 posisi ke kin kemudian di-xor-kan dengan k[i mod n], di-xor-kan dengan i. Untuk T[39] diisikan dengan n. Perluasan kunci dilakukan sebanyak 7 iterasi dan pada iterasi terakhir nilai temperori T[0..39] disubstitusikan menjadi nilai sub kunci K[0 39]. Dalam setiap iterasi T[1..39] didapat dengan cara menambahkan S box[9 bit terendah dari T[i-1]] dengan T[i] dan kemudian dirotasikan sebanyak 9 posisi kekiri. Untuk T(0), S box[9 bit terendah dari T[39] ditambahkan dengan T[0] dan

kemudian dirotasikan sebanyak 9 posisi ke kiri. Dari hasil iterasi terakhir T[0 39] disubtitusikan ke sub kunci K[0 39] dengan cara : K[(7i) mod 40] diisikan dengan T[i].Untuk nilsi K5 K7... K33 diubah dengan ketentuan: u digunakan untuk menampung nilai S_box[265+2 bit terendah dari K[1], j digunakan untuk menampung nilai 5 bit terendah dari K[i+3]. Kemudian nilai 2 bit terendah dari K[i] diset menjadi 1 dan ditampung dalam w. Bit mask M diset menjadi 1 jika dalam w1 terdapat 10 bit 1 atau bit 0 yang berurutan. U dirotasikan sebanyak j posisi ke kiri dan hasilnya ditampung dalam p. Terakhir p di-xor-kan dengan w di bawah kontrol M dan disimpan dalam K[i]. 2.5.2.3 Panjang Kunci. Keamanan data sebuah strategi penyandian yang tergantung dari dua hal : algoritma penyandian dan panjang kuncinya ( key ). Algoritma sangat menentukan kekuatan dari sebuah teknik penyandian, tetapi panjang kunci juga sangat berguna dalam menentukan suatu kekuatan teknik penyandian. Suatu contoh, apabila seorang kriptanalis mengetahui algoritma yang dipakai untuk melakukan teknik penyandian terhadap suatu pesan, makanya kriptanalis tersebut harus mendapatkan kunci yang dipakai terlebih dahulu sebelum dapat melakukan dekripsi terhadap semua ciphertext yang dia miliki. Satu satunya cara sebelum mendapatkan kunci yang akan dipaki adalah dengan cara mencoba semua variasi kunci yang ada, teknik serangan ini disebut dengan istilah brute force. Adalah mudah untuk menghitung banyaknta variasi kunci yang ada. Apabila panjang kunci adalah 8 bit, maka ada 2 8 atau 256 kemungkinan kunci yang akan dicoba Dari 256 percobaan ini maka peluang untuk mendapatkan kunci yang benar adalah 50 persen setelah melalui setengah usaha percobaan. Bila panjang kunci 56 bit, maka ada 2 56 kemungkinan variasi kunci. Dengan menganggap sebuah super computer dapat mencoba satu juta kunci perdetik, maka diperkirakan sekitar 2285 tahun untuk menemukan kunci yang benar. Dan bila menggunakan kunci 64 bit, maka dengan super computer

yang sama akan membutuhkan 585 ribu tahun. Dengan jangka waktu yang relative lama maka dapat dipastikanbahwa pesan yang disandikan tersebut tidak mempunyai arti lagi apabila telah berhasil dibuka oleh orang lain. Dengan melihat situasi ini, maka kriptografi yang baik akan memilih untuk menggunakan sepanjang mungkin kunci yang akan digunakan, namun hal ini tidak dapat diterapkan begitu saja, semakin panjang kunci maka semakin lama pula waktu yang dibutuhkan computer untuk melakukan proses enkripsi. Oleh sebab itu,panjang kunci yang akan digunakan hendaknya memperhatikan dalam 3 hal, yakni seberapa penting data yang akan dirahasiakan, berapa lama waktu yang dibutuhkan agar data tersebut tetap aman, dan berapa kuat kemampuan kriptanalis dalam memecahkan teknik penyandian. Saat ini yang paling banyak dipakai adalah kunci dengan panjang 128 bit karena panjang kunci ini dianggap paling optimal untuk saat ini. 2.5.2.4 Proses Enkripsi Data. Proses dari enkripsi Algoritma data 128 bit ini terdiri dari langkah-langkah sebagai berikut : 1. Ambil blok data sebanyak 128 bit. Apabila dalam mengambil blok data kurang dari 128 bit, maka perlu adanya penambahan supaya dalam penggunaannya sesuai dengan jumlah datanya atau dengan proses padding. 2. Blok data 128 bit dipermutasikan dengan Initial Permutation (IP). 3. Blok data 128 bit yang telah dipermutasikan tersebut dibagi menjadi dua bagian, yaitu bit pertama disebut L[0] dan 32 bit kedua disebut R[0]. 4. Ke-16 sub kunci dioperasikan dengan blok data, dimulai dari j=1 dan terbagi menjadi cara-cara berikut ini: R[j] = L[j-1] XOR f(r[j- 1], K[j])L[j] = R[j-1]. 5. Permutasi akhir dilakukan kembali dengan tabel permutasi yang merupakan invers dari permutasi awal. Lihat pada gambar 2. 4.

2.5.2.5 Proses Dekripsi Data. Proses dekripsi sama persis dengan proses enkripsi. Perbedaannya hanya terletak pada aturan dari subkey-nya. Urutan subkey terbalik dengan proses enkripsi dan subkey-nya di-inverse-kan. Subkey pada langkah transformasi output pada proses enkripsi di-inversekan dan digunakan sebagai subkey pada putaran 1 pada proses dekripsi. Subkey pada putaran 8 di-inverse-kan dan digunakan sebagai subkey pada putaran 1 dan 2 pada proses dekripsi, demikian seterusnya.