BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

BAB 2 LANDASAN TEORI

Bab 1 PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB 1 PENDAHULUAN 1.1. Latar belakang

BAB 2 TINJAUAN PUSTAKA

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

PERANCANGAN APLIKASI ENKRIPSI MENGGUNAKAN ALGORITMA IDEA (INTERNATIONAL DATA ENCRYPTION ALGORITHM)

Penggunaan Digital Signature Standard (DSS) dalam Pengamanan Informasi

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

Kriptografi Kunci Rahasia & Kunci Publik

SISTEM PENGAMANAN PESAN SMS MENGGUNAKAN INTERNASIONAL DATA ENCRYPTION ALGORITHM

METODE ENKRIPSI DAN DESKRIPSI DATA MENGGUNAKAN KRIPTOGRAFI IDEA ABDUL HANAN NIM :

KRIPTOGRAFI SISTEM KEAMANAN KOMPUTER

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

PERANCANGAN PERANGKAT LUNAK KRIPTOGRAFI METODA IDEA (INTERNATIONAL DATA ENCRYPTION ALGORITHM) SKRIPSI WAY YANTONO SAING

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Bab 2 Tinjauan Pustaka

KRIPTOGRAFI MATERI KE-2

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

BAB Kriptografi

RUANG LINGKUP KRIPTOGRAFI UNTUK MENGAMANKAN DATA Oleh: Budi Hartono

Modul Praktikum Keamanan Sistem

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

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

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

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

BAB I PENDAHULUAN 1.1 Latar Belakang

IMPLEMENTASI METODE KRIPTOGRAFI IDEA DENGAN FUNGSI HASH DALAM PENGAMANAN INFORMASI

BAB 2 LANDASAN TEORI

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

BAB II LANDASAN TEORI

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

BAB I PENDAHULUAN 1.1. Latar Belakang

+ Basic Cryptography

METODE ENKRIPSI DAN DESKRIPSI DATA MENGGUNAKAN KRIPTOGRAFI IDEA

BAB I PENDAHULUAN. Universitas Sumatera Utara

BAB III ANALISA DAN DESAIN SISTEM

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

BAB II TINJAUAN PUSTAKA

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

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

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

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

BAB 2 LANDASAN TEORI

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

BAB III PENGERTIAN DAN SEJARAH SINGKAT KRIPTOGRAFI

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


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

BAB 2 TINJAUAN PUSTAKA. praktik yang dapat melakukan transaksi bisnis tanpa menggunakan kertas sebagai

Perhitungan dan Implementasi Algoritma RSA pada PHP

IMPLEMENTASI ENKRIPSI DATA BERBASIS ALGORITMA DES

Data Encryption Standard (DES)

International Data Encryption Algorithm

TINJAUAN PUSTAKA. Protokol

Berusaha melindungi data dan informasi dari orang yang tidak berada dalam ruang lingkupnya. b. Ketersediaan

TINJAUAN PUSTAKA. Kriptografi

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

Elliptic Curve Cryptography (Ecc) Pada Proses Pertukaran Kunci Publik Diffie-Hellman. Metrilitna Br Sembiring 1

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. 2.1 Pengertian Kriptografi

BAB I PENDAHULUAN. 1.1 Latar Belakang

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

STUDI MENGENAI SERANGAN DIFFERENT CRYPTANALYSIS PADA ALGORITMA SUBSTITUTION PERMUATION NETWORK

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

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

BAB I PENDAHULUAN 1.1. LATAR BELAKANG

Algoritma Enkripsi Baku Tingkat Lanjut

BAB I PENDAHULUAN. 1.1 Latar Belakang

SKRIPSI ENKRIPSI TEKS MENGGUNAKAN ALGORITMA TWOFISH

BAB 2 TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

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

BAB 1 PENDAHULUAN Latar Belakang

Studi dan Analisis Keamanan Data Encryption Standard Dengan Menggunakan Teknik Differential Cryptanalysis

BAB II TINJAUAN PUSTAKA

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

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

BAB II LANDASAN TEORI

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

PENERAPAN ALGORITMA RSA DAN DES PADA PENGAMANAN FILE TEKS

BAB IV HASIL DAN PEMBAHASAN

Penerapan Matriks dalam Kriptografi Hill Cipher

BAB 2 LANDASAN TEORI

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

Transkripsi:

5 BAB 2 LANDASAN TEORI 2.1. Latar Belakang Kriptografi 2.1.1. Sejarah Kriptografi Sejarah kriptografi dimulai pertama sekali dengan menggunakan metode pertukaran posisi untuk mengenkripsi suatu pesan. Dalam sejarah perkembangannya, Julius Caesar dalam mengirimkan pesan yang dibawa oleh hulubalangnya, sengaja mengacak pesan tersebut sebelum diberikan kepada kurir. Hal ini dilakukan untuk menjaga kerahasiaan pesan baik bagi kurir maupun bagi musuh jika kurir tertangkap di tengah jalan oleh musuh. Ada orang yang mengatakan bahwa apa yang dilakukan oleh Julius Caesar dianggap sebagai awal dari kriptografi. Dalam sebuah buku yang berjudul The Codebreaker yang dikarang oleh David Kahn pada tahun 1963, disebutkan bahwa kriptografi digunakan pertama sekali oleh bangsa Mesir 4000 tahun yang lalu sampai saat sekarang ini. Sejak munculnya buku tersebut maka kriptografi pun mulai diperbincangkan secara luas. Peminat dari buku tersebut ialah peminat yang berhubungan dengan kemiliteran, layanan diplomatik dan pemerintahan. Kriptografi digunakan sebagai suatu alat untuk melindungi rahasia dan strategi strategi negara. Sampai pada akhir Perang Dunia I, kriptografi merupakan disiplin ilmu matematika yang spesial. Penelitian dalam bidang ini tidak pernah sampai kepada umum sehingga tidaklah mengherankan kalau banyak orang tidak mengetahui keberadaan ataupun manfaat darinya. Kemudian pada Perang Dunia II, pihak militer pun mulai menyadari akan manfaat dari penggunaan kriptografi maupun kriptanalisis.

6 Kriptografi memungkinkan untuk berkomunikasi dalam saluran yang aman (misalnya komunikasi melalui radio gelombang panjang) dengan cara membuatnya menjadi tidak dapat dimengerti oleh musuh. Kriptografi mencapai kemajuan yang pesat pada akhir Perang Dunia II. Akan tetapi kriptografi masih merupakan sesuatu yang sangat rahasia karena kriptografi telah menjadi bagian yang penting dalam komunikasi militer. Perkembangan komputer dan sistem komunikasi pada tahun 1960-an mengakibatkan munculnya kebutuhan pihak swasta akan alat untuk melindungi informasi dalam bentuk digital dan untuk menyediakan layanan keamanan informasi. Kriptografi digital dimulai pada tahun 1970 atas usaha Feistel dari IBM dan memuncak pada tahun 1977 dengan diadopsinya sistem kriptografi DES (Data Encryption Standard) oleh U.S. Federal Information Processing Standard untuk mengenkripsi informasi rahasia. DES merupakan mekanisme kriptografi yang paling terkenal dalam sejarah dan tetap menjadi standar pengamanan data elektronik komersial pada kebanyakan institusi keuangan di seluruh dunia. Perkembangan yang paling pesat dan berpengaruh dalam sejarah kriptografi ialah pada tahun 1976 dimana Whitfield Diffie dan Martin Hellman mempublikasikan sebuah tesis berjudul New Direction in Cryptography. Dalam tesis ini diperkenalkan konsep kunci publik kriptografi yang paling revolusioner dan juga menyediakan metode baru dalam pertukaran kunci, yaitu keamanan yang didasarkan atas logaritma diskrit. Walaupun penulis tesis tersebut tidak mempunyai praktek yang nyata akan bentuk skema enkripsi kunci publik pada saat itu akan tetapi ide tersebut memicu minat dan aktivitas yang besar dalam komunitas kriptografi. Pada tahun 1978, Rivest, Shamir, dan Adleman menemukan enkripsi kunci publik yang pertama dan sekarang ini dikenal dengan nama RSA (Rivest, Shamir, and Adleman). Skema RSA didasarkan pada permasalahan matematika sulit yang terdiri dari pemfaktoran terhadap bilangan yang besar nilainya. Karena adanya permasalahan matematika tersebut maka muncul usaha usaha untuk mencari cara yang paling efisien dalam pemfaktoran bilangan. Skema kunci publik lainnya yang kuat dan praktis ditemukan oleh ElGamal. Skema ini juga berdasarkan masalah logaritma diskrit.

7 Salah satu sumbangan yang paling penting dari kriptografi kunci publik ialah tanda tangan digital. Pada tahun 1991, standar internasional yang pertama untuk tanda tangan digital yang dipergunakan ialah berdasarkan pada skema kunci publik RSA. Pada tahun 1994 pemerintah Amerika Serikat mengadopsi standar tanda tangan digital yang didasarkan pada mekanisme skema kunci publik ElGamal. Pencarian terhadap skema kunci publik yang baru dengan pengembangan dari mekanisme kriptografi yang sudah ada dan pembuktian keamanan berlangsung dengan cepat. Berbagai standar dan infrastruktur yang berhubungan dengan kriptografi sedang dibangun. Produk produk keamanan sedang dikembangkan untuk memenuhi kebutuhan akan keamanan informasi pada masyarakat. 2.1.2. Definisi Kriptografi Ada beberapa definisi yang telah dikemukakan di dalam berbagai literatur. Kata kriptografi berasal dari bahasa Yunani yaitu cryptos yang berarti rahasia dan graphein yang berarti tulisan. Jadi kriptografi dapat dijelaskan secara harfiah sebagai tulisan rahasia. Kriptografi merupakan suatu bidang ilmu yang mempelajari tentang bagaimana merahasiakan suatu informasi penting ke dalam suatu bentuk yang tidak dapat dibaca oleh siapapun serta mengembalikannya kembali menjadi informasi semula dengan menggunakan berbagai macam teknik yang telah ada sehingga informasi tersebut tidak dapat diketahui oleh pihak manapun yang bukan pemilik atau yang tidak berkepentingan. Sisi lain dari kriptografi ialah kriptanalisis (Cryptanalysis) yang merupakan studi tentang bagaimana memecahkan mekanisme kriptografi. (John Wiley & Sons. 1996) Bagi kebanyakan orang, kriptografi lebih diutamakan dalam menjaga komunikasi tetap rahasia dan khusus. Seperti yang telah diketahui dan disetujui bahwa perlindungan (proteksi) terhadap komunikasi yang sensitif telah menjadi penekanan kriptografi selama ini. Akan tetapi hal tersebut hanyalah sebagian dari penerapan kriptografi dewasa ini.

8 2.1.3. Tujuan Kriptografi Kriptografi sesungguhnya merupakan studi terhadap teknik matematis yang terkait dengan 4 aspek keamanan dari suatu informasi yakni kerahasiaan (confidentiality), integritas data (data integrity), otentikasi (authentication), dan ketiadaan penyangkalan (non-repudiation). Keempat aspek tersebut merupakan tujuan utama dari suatu sistem kriptografi yang dapat dijelaskan sebagai berikut, 1. Kerahasiaan (confidentiality) Kerahasiaan bertujuan untuk melindungi suatu informasi dari semua pihak yang tidak berhak atas informasi tersebut. Terdapat beberapa cara yang dapat digunakan untuk menjaga kerahasiaan suatu informasi, mulai dari penjagaan secara fisik misalnya menyimpan data pada suatu tempat khusus sampai dengan penggunaan algoritma matematika untuk mengubah bentuk informasi menjadi tidak terbaca. 2. Integritas data (data integrity) Integritas data bertujuan untuk mencegah terjadinya pengubahan informasi oleh pihak-pihak yang tidak berhak atas informasi tersebut. Untuk menjamin integritas data ini kita harus mempunyai kemampuan untuk mendeteksi terjadinya manipulasi data oleh pihak-pihak yang tidak berkepentingan. Manipulasi data yang dimaksud di sini meliputi penyisipan, penghapusan, maupun penggantian data. 3. Otentikasi (authentication) Otentikasi merupakan identifikasi yang dilakukan oleh masing masing pihak yang saling berkomunikasi, maksudnya beberapa pihak yang berkomunikasi harus mengidentifikasi satu sama lainnya. Informasi yang didapat oleh suatu pihak dari pihak lain harus diidentifikasi untuk memastikan keaslian dari informasi yang diterima. Identifikasi terhadap suatu informasi dapat berupa tanggal pembuatan informasi, isi informasi, waktu kirim dan hal-hal lainnya yang berhubungan dengan informasi tersebut. 4. Non-repudiation Non-repudiation berfungsi untuk mencegah terjadinya penyangkalan terhadap suatu aksi yang telah dilakukan oleh pelaku aksi itu sendiri. Jika terjadi penyangkalan maka diperlukan suatu prosedur yang melibatkan pihak ketiga untuk menyelesaikan masalah tersebut.

9 2.2. Aplikasi Kriptografi Kriptografi telah banyak digunakan di dalam aplikasi-aplikasi khususnya aplikasi pengamanan data pada saat sekarang ini. Aplikasi khas dari kriptografi adalah sistem yang dikembangkan dengan teknik dasar. Sistem seperti ini, dapat memiliki tingkat kompleksitas yang beraneka ragam. Beberapa aplikasi yang lebih sederhana antara lain, komunikasi 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. Komunikasi Aman (Secure Communication) Komunikasi aman merupakan penggunaan kriptografi yang paling sederhana. Dua pihak dapat berkomunikasi secara aman dengan cara mengenkripsi pesan-pesan yang mereka kirimkan di antara mereka. Hal ini dapat dicapai sedemikian rupa sehingga pihak ketiga yang mendapat bocoran (menyadap) pembicaraan antar kedua pihak tadi mungkin tidak pernah mengembalikan pesan dalam bentuk acak ke dalam bentuk yang berarti. 2.2.2. Identifikasi dan Otentikasi (Identification and Authentication) Identifikasi dan otentikasi merupakan dua aplikasi kriptografi yang sangat banyak digunakan saat ini. Identifikasi adalah proses verifikasi identitas seseorang atau sesuatu. Sebagai contoh, ketika menarik uang dari bank dengan menggunakan kartu Automatic Teller Machine (ATM) dilengkapi dengan satu Personal Identification Number (PIN) yang rahasia yang memadukan pemilik kartu dengan kartu tersebut demikian juga dengan rekening yang bersangkutan. Ketika kartu dimasukkan ke dalam mesin ATM, mesin tersebut akan meminta pengguna kartu untuk memasukkan PIN. Jika PIN yang dimasukkan benar, mesin akan mengidentifikasikan orang tersebut benar sebagai pemilik kartu sehingga kepada orang tersebut akan diberikan akses.

10 Aplikasi penting lainnya dari kriptografi adalah otentikasi. Otentikasi mirip dengan indetifikasi, dimana keduanya memberikan kesempatan untuk akses ke dalam sumber daya tertentu misalnya Internet Account, tetapi otentikasi memiliki cakupan lebih luas karena tidak perlu mengidentifikasikan orang atau entity. 2.2.3. Secret Sharing Secret Sharing merupakan salah satu aplikasi dari kriptografi yang memungkinkan pendistribusian satu rahasia di antara sekumpulan orang yang saling percaya. Sebagai contoh, dalam (k; n)-threshold scheme, informasi tentang rahasia adalah didistribusikan sedemikian rupa sehingga sembarang k dari n orang (k n) memiliki informasi yang cukup untuk menentukan (mengetahui) rahasia tersebut, tetapi sembarang set k - 1 orang tidak dapat melakukannya. Dalam sembarang secret sharing scheme, terdapat kumpulan orang yang terpilih yang informasi kumulatif mereka cukup untuk memecahkan rahasia. Dalam beberapa implementasi secret sharing schemes, setiap partisipan menerima rahasia setelah rahasia dimaksud dihasilkan.. Dalam implementasi lain, rahasia sebenarnya tidak pernah dibuat kelihatan kepada partisipan, walaupun akses diberikan untuk mendapatkan rahasia tersebut diberikan (misalnya akses ke dalam ruangan atau izin untuk melakukan proses). 2.2.4. Sertifikasi (Certification) Sertifikasi merupakan salah satu aplikasi lainnya dari kriptografi. Sertifikasi adalah sebuah skema dimana pihak yang dipercayai seperti penguasa atau pihak yang berwenang mengeluarkan sertifikat untuk pihak lain. Pihak yang dipercayai mengeluarkan kupon (vouchers) yang disebut sertifikat yang memiliki sejumlah arti yang mendalam, misalnya nomor ijazah. Teknologi sertifikasi dikembangkan untuk identifikasi dan otentikasi dimungkinkan dalam skala besar.

11 2.2.5. Penemuan Kunci (Key Recovery) Penemuan kunci adalah suatu teknologi yang memungkinkan sebuah kunci ditemukan dalam kondisi tertentu tanpa pemilik memberitahukan. Ini perlu untuk dua alasan, pertama, jika pemilik kunci menghilangkan atau secara tidak sengaja menghapus kuncinya, penemuan kunci dapat menghindarkan malapetaka. Kedua, jika aparat penegakan hukum ingin mengetahui suatu tindak kriminal tanpa sepengetahuan tersangka, aparat tersebut harus mampu mendapatkan kunci yang diinginkan. Teknik penemuan kunci sudah banyak digunakan saat ini, akan tetapi, penggunaan teknik ini dalam hal penegakan hukum telah menimbulkan kontroversi. 2.3. Jenis Sistem Kriptografi Berdasarkan pemakaian kunci maka sistem kriptografi (cryptosystems) dapat digolongkan atas atas 2 jenis sistem yakni sistem kriptografi kunci publik (public key cryptography) dan sistem kriptografi kunci rahasia (secret key cryptography). Dalam sistem kriptografi kunci rahasia yang dikenal juga dengan symmetric cryptosystems, pihak pengirim dan penerima bersama-sama menyepakati sebuah kunci rahasia yang akan digunakan dalam proses enkripsi dan dekripsi tanpa diketahui oleh pihak lain. Sedangkan dalam sistem kriptografi kunci publik atau dikenal dengan assymmetric cryptosystem, pihak pengirim maupun pihak penerima mendapatkan sepasang kunci yakni 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.

12 2.4. Landasan Matematis Kriptografi 2.4.1. Aritmatika Modular Aritmatika modular merupakan operasi matematika yang banyak diimplementasikan pada metode kriptografi. Pada metoda IDEA, operasi aritmetika modular yang dipakai adalah operasi penjumlahan modulo 2 16 dan operasi perkalian modulo 2 16 + 1. Operasi modulo ini melibatkan bilangan 0 dan 1 saja sehingga identik dengan bit pada komputer. Contohnya, (65530 + 10) mod 2 16 = 65540 mod 65536 = 4 (32675 * 4) mod (2 16 + 1) = 131060 mod 65537 = 65523 2.4.2. Inverse Perkalian Inverse perkalian yang digunakan pada metode IDEA tidak seperti inverse pada operasi perkalian dalam matematika. Inverse perkalian ini tidak dapat dijelaskan secara matematis, tetapi dengan menggunakan algoritma berikut ini : Fungsi Inverse(A As Double) As Double n = 65537 G0 = n G1 = A V0 = 0 V1 = 1 While (G1 <> 0) Y = Int(G0 / G1) G2 = G0 - Y * G1 G0 = G1 G1 = G2 V2 = V0 - Y * V1 V0 = V1 V1 = V2 Wend If (V0 >= 0) Then Inverse = V0 Else

13 Inverse = V0 + n End If End Fungsi Contoh, Misalkan untuk A = 3265, maka proses kerjanya adalah sebagai berikut : n = 65537 G0 = 65537 G1 = 3265 V0 = 0 V1 = 1 While (3265 <> 0) Y = Int(65537 / 3265) = 20 G2 = 65537-20 * 3265 = 237 G0 = 3267 G1 = 237 V2 = 0-20 * 1 = -20 V0 = 1 V1 = -20 Wend If (1 >= 0) Then Inverse = 1 Else Inverse= 1 + 65537 End If End Fubgsi Jadi inverse perkalian dari 3265 adalah 1 2.4.3. Inverse Penjumlahan Inverse penjumlahan dalam metode IDEA menggunakan algoritma berikut ini : Inverse penjumlahan = 65536 - pnbil Contoh : Inverse penjumlahan dari 32654 adalah 65536 32654 = 32882

14 2.4.4. Operasi XOR XOR adalah operasi Exclusive-OR yang dilambangkan dengan tanda. Operasi XOR akan menghasilkan nilai bit 0 (nol) jika meng-xor-kan dua buah bit yang sama nilainya dan akan menghasilkan nilai bit 1 (satu) jika meng-xor-kan dua buah bit yang masing masing nilai bitnya berbeda. Aturan yang berlaku untuk operasi XOR dapat dilihat pada Tabel 2.1 berikut ini, Tabel 2.1 Aturan Operasi XOR A B A B 0 0 0 0 1 1 1 0 1 1 1 0 Nilai A jika di-xor-kan dengan nilai B sebanyak dua kali maka akan didapatkan nilai A kembali. Karena sifat istimewa yang dimiliki operasi XOR tersebut sehingga operasi XOR cenderung dipakai dalam proses enkripsi dan dekripsi yang memiliki algoritma yang sama. P K = C ; C K = P Keterangan, P = Plaintext K = Key C = Ciphertext Berikut ini adalah contoh operasi XOR : 1101 0110 0001 0100 1000 0001 1110 0000 0101 0111 1111 0100

15 2.4.5. Permutasi (Permutation) Permutasi merupakan suatu proses korespondensi dari satu ke banyak. Permutasi dalam kriptografi sering digunakan untuk memindahkan posisi sejumlah bit ke posisi yang telah ditentukan dalam tabel permutasi. Ada beberapa metode dalam kriptografi yang menggunakan permutasi pada awal maupun akhir dari proses enkripsi maupun dekripsi, dan ada juga metode yang menggunakan permutasi untuk menghasilkan beberapa subkunci yang diperlukan dalam proses enkripsi dan dekripsi. Berikut ini adalah contoh permutasi : Misalkan terdapat sebuah tabel permutasi 16 bit sebagai berikut : 12 4 13 5 14 6 15 7 0 8 1 9 11 2 3 10 Diberikan 1 baris bit sebagai berikut : 1110 0110 0000 1001 Terhadap barisan bit tersebut akan dilakukan permutasi menggunakan tabel permutasi sebagai berikut : Bit ke- 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Bit 1 1 1 0 0 1 1 0 0 0 0 0 1 0 0 1 Hasil permutasi : Bit ke- 12 4 13 5 14 6 15 7 0 8 1 9 11 2 3 10 Bit 1 0 0 1 0 1 1 0 1 0 1 0 0 1 0 0 2.4.6. Pergeseran Bit (Shift) Pergeseran bit (Shift) adalah operasi pergeseran terhadap suatu barisan bit sebanyak yang diinginkan. Bit kosong yang telah tergeser akan diberikan nilai bit 0 (nol). Operasi pergeseran terbagi menjadi dua macam yaitu,

16 1. Operasi Geser Kiri (Shift Left) yaitu operasi yang menggeser (shift) sejumlah bit ke kiri (left) dengan nilai bit 0 (nol). Operasi shift left dilambangkan dengan <<. Contoh operasi shift left : 11000110 << 1 : 10001100 11000110 << 2 : 00011000 11000110 << 3 : 00110000 2. Operasi Geser Kanan (Shift Right) yaitu operasi yang menggeser (shift) sejumlah bit ke kanan (right) dengan nilai bit 0 (nol). Operasi shift right dilambangkan dengan >>. Contoh operasi shift right : 11000110 >> 1 : 01100011 11000110 >> 2 : 00110001 11000110 >> 3 : 00011000 2.4.7. Rotasi Bit (Rotate) Rotasi bit (Rotate) adalah operasi perputaran terhadap suatu barisan bit sebanyak yang diinginkan. Bit yang tergeser akan dipindahkan ke sisi barisan bit yang berlawanan dengan arah putaran bit. Operasi rotasi terbagi atas dua macam yaitu, 1. Operasi Rotasi Kiri (Rotate Left) yaitu operasi memutar barisan bit ke kiri sebanyak nilai yang diberikan secara per bit, bit kosong yang telah tergeser di sebelah kanan akan digantikan dengan bit yang telah tergeser di sebelah kirinya. Operasi rotate left dilambangkan dengan <<<. Contoh operasi rotate left : 11000110 <<< 1 : 10001101 11000110 <<< 2 : 00011011 11000110 <<< 3 : 00110110 2. Operasi Rotasi Kanan (Rotate Right) yaitu operasi memutar barisan bit ke kanan sebanyak nilai yang diberikan secara per bit, bit kosong yang telah tergeser di sebelah kiri akan digantikan dengan bit yang telah tergeser di sebelah kanannya. Operasi rotate right dilambangkan dengan >>>.Contoh operasi rotate right : 11000110 >>> 1 : 01100011 11000110 >>> 2 : 10110001 11000110 >>> 3 : 11011000

17 2.4.8. Perkalian Modulo Perkalian dengan nol selalu menghasilkan nol dan tidak memiliki invers. Perkalian modulo n juga tidak memiliki invers jika angka yang dikalikan tidak relatif prima terhadap n. Sementara algoritma kriptografi memerlukan operasi yang memiliki inversi. Angka 65537 (2 16 + 1) adalah sebuah bilangan prima. Oleh karena itu, operasi perkalian modulo (2 16 + 1) pada algoritma IDEA memiliki inversi. Jika kita membentuk suatu tabel perkalian untuk bilangan-bilangan mulai dari 1 sampai 65536, maka setiap baris dan kolom hanya berisi setiap bilangan satu kali saja. Dalam IDEA, untuk operasi perkalian, bilangan 16 bit yang terdiri dari nol semua dianggap sebagai bilangan 65536, sedangkan bilangan lainnya tetap sesuai dengan bilangan tak bertanda yang diwakilinya. Contoh : (32542 * 10) mod 65537 = 325420 mod 65537 = 63272 (3154 * 25) mod 65537 = 78850 mod 65537 = 13313 2.5. Metoda IDEA 2.5.1. Sejarah Metoda IDEA diperkenalkan pertama kali oleh Xuejia Lai dan James Massey pada tahun 1990 dengan nama PES (Proposed Encryption Standard). Tahun berikutnya, setelah Biham dan Shamir mendemonstrasikan cryptanalysis yang berbeda, sang penemu memperkuat algoritma mereka dari serangan dan algoritma hasil pengubahan tersebut diberi nama IPES (Improved Proposed Encryption Algorithm). Kemudian pada tahun 1992, IPES diganti namanya menjadi IDEA (International Data Encryption Algorithm). IDEA dirancang untuk menggantikan DES (Data Encryption Standard).

18 2.5.2. Algoritma IDEA merupakan block cipher (cipher blok), yang beroperasi pada blok plaintext 64 bit. Panjang kuncinya 128 bit. Algoritma yang sama digunakan untuk proses enkripsi dan dekripsi. Sebagaimana algoritma enkripsi yang lain, IDEA menggunakan confusion dan diffusion, berbeda dengan DES yang menggunakan permutasi dan substitusi untuk confusion dan diffusion, IDEA menggunakan operasi aljabar yang tidak kompatibel sebagai berikut, a. XOR. b. Penambahan modulo 2 16. c. Perkalian modulo 2 16 + 1 (operasi ini menggantikan kotak-s atau S-Box). Algoritma IDEA menggunakan perkalian modulo 2 16 + 1 dengan pertimbangan berikut ini, Perkalian dengan nol selalu menghasilkan nol dan tidak memiliki inversi. Perkalian modulo n juga tidak memiliki inversi jika angka yang dikalikan tidak relatif prima terhadap n. Sementara algoritma kriptografi memerlukan operasi yang memiliki inversi. Angka 65537 (2 16 + 1) adalah sebuah bilangan prima. Oleh karena itu, operasi perkalian modulo (2 16 + 1) pada algoritma IDEA memiliki inversi. Jika kita membentuk suatu tabel perkalian untuk bilangan-bilangan mulai dari 1 sampai 65536, maka setiap baris dan kolom hanya berisi setiap bilangan satu kali saja. Dalam IDEA, untuk operasi perkalian, bilangan 16 bit yang terdiri dari nol semua dianggap sebagai bilangan 65536, sedangkan bilangan lainnya tetap sesuai dengan bilangan tak bertanda yang diwakilinya. Algoritma IDEA ini dapat dibagi menjadi tiga bagian besar, yaitu algoritma pembentukan kunci, enkripsi dan dekripsi. 2.5.3. Pembentukan Kunci Proses pembentukan ini dimulai dengan membagi 128 bit key menjadi 8 buah 16 bit subkey. Ini merupakan delapan subkey pertama untuk algoritma dengan perincian enam subkey pertama untuk putaran (round) 1 dan dua subkey terakhir untuk putaran 2. Key dirotasikan 25 bit ke kiri dan dibagi menjadi 8 subkey lagi. Ini merupakan

19 delapan subkey kedua untuk algoritma dengan perincian empat subkey pertama untuk putaran 2 dan empat subkey terakhir untuk putaran 3. Algoritma hanya menggunakan 52 buah subkey dengan perincian 6 buah subkey untuk 8 putaran ditambah 4 buah subkey untuk transformasi output. Proses pembentukan kunci dapat dilihat pada gambar 2.10 di bawah ini : Kunci masukan 128 bit k1 k128 Dikelompokkan ke dalam 8 buah subkey dengan panjang 16 bit. Diputar ke kiri 25 bit K1 K2 K3 K4 K5 K6 Round 1 K1 K2 K3 K4 K5 K6 K7 K8 Round 2 K1 K2 k1 k128 Dikelompokkan ke dalam 8 buah subkey dengan panjang 16 bit. o o o K1 K2 K3 K4 Round 2 K3 K4 K5 K6 K5 K6 K7 K8 Round 3 K1 K2 K3 K4 Diputar ke kiri 25 bit k1 k128 Dikelompokkan ke dalam 8 buah subkey dengan panjang 16 bit. 4 buah subkey terakhir tidak digunakan. K1 K2 K3 K4 Transformasi Output K1 K2 K3 K4 K5 K6 K7 K8 Gambar 2.10 Proses Pembentukan Kunci untuk IDEA 2.5.4. Enkripsi Proses enkripsi algoritma IDEA adalah sebagai berikut, Pertama tama, plaintext 64 bit dibagi menjadi 4 buah sub blok dengan panjang 16 bit, yaitu X1, X2, X3, X4. Empat sub blok ini menjadi masukan bagi iterasi tahap pertama algoritma. Total terdapat 8 iterasi. Pada setiap iterasi, 4 sub blok di-xor-kan,

20 ditambahkan, dikalikan dengan yang lain dan dengan 6 buah subkey 16 bit. Diantara iterasi sub blok kedua dan ketiga saling dipertukarkan. Akhirnya 4 buah sub blok dikombinasikan dengan 4 subkey dalam transformasi output. Pada setiap tahapan, urutan berikut ini dikerjakan, 1. Kalikan X1 dengan K1 mod (2 16 + 1). 2. Tambahkan X2 dengan K2 mod 2 16. 3. Tambahkan X3 dengan K3 mod 2 16. 4. Kalikan X4 dengan K4 mod (2 16 + 1). 5. XOR hasil dari step 1 dan 3. 6. XOR hasil dari step 2 dan 4. 7. Kalikan hasil dari step 5 dengan K5 mod (2 16 + 1). 8. Tambahkan hasil dari step 6 dan 7 mod 2 16. 9. Kalikan hasil dari step 8 dengan K6 mod (2 16 + 1). 10. Tambahkan hasil dari step 7 dan 9. 11. XOR hasil dari step 1 dan 9. 12. XOR hasil dari step 3 dan 9. 13. XOR hasil dari step 2 dan 10. 14. XOR hasil dari step 4 dan 10. Output dari setiap round adalah empat sub blok yang dihasilkan pada langkah 11, 12, 13 dan 14. Sub blok 12 dan 13 di-swap (kecuali untuk putaran terakhir) sehingga input dari putaran berikutnya adalah hasil kombinasi dari langkah 11 13 12 14. Setelah 8 putaran, akan dilakukan tranformasi output berikut, 1. Kalikan X1 dengan subkey K1 mod (2 16 + 1). 2. Tambahkan X2 dengan subkey K2 mod 2 16. 3. Tambahkan X3 dengan subkey K3 mod 2 16. 4. Kalikan X4 dengan subkey K4 mod (2 16 + 1). Proses enkripsi algoritma IDEA dapat dilihat pada gambar berikut ini,

21 X1 X2 X3 X4 K1(1) K2(1) K3(1) K4(1) Satu putaran / iterasi (round) K5(1) K6(1) Tujuh putaran / iterasi (round) lainnya o o o K1(9) K2(9) K3(9) K4(9) Transformasi Y1 Y2 Output Y3 Y4 Gambar 2.11 Proses Enkripsi Algoritma IDEA 2.5.5. Dekripsi 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 diinverse-kan dan digunakan sebagai subkey pada putaran 1 pada proses dekripsi. Subkey pada putaran 8 di-inverse-kan dan digunakan sebagai subkey pada putaran 1

22 dan 2 pada proses dekripsi. Demikian seterusnya. Agar lebih jelas, lihatlah tabel berikut ini. Tabel 2.2 Subkey enkripsi dan dekripsi algoritma IDEA Round Subkey Enkripsi Subkey Dekripsi 1 K1(1) K2(1) K3(1) K4(1) K5(1) K6(1) K1(9) -1 -K2(9) -K3(9) K4(9) -1 K5(8) K6(8) 2 K1(2) K2(2) K3(2) K4(2) K5(2) K6(2) K1(8) -1 -K3(8) -K2(8) K4(8) -1 K5(7) K6(7) 3 K1(3) K2(3) K3(3) K4(3) K5(3) K6(3) K1(7) -1 -K3(7) -K2(7) K4(7) -1 K5(6) K6(6) 4 K1(4) K2(4) K3(4) K4(4) K5(4) K6(4) K1(6) -1 -K3(6) -K2(6) K4(6) -1 K5(5) K6(5) 5 K1(5) K2(5) K3(5) K4(5) K5(5) K6(5) K1(5) -1 -K3(5) -K2(5) K4(5) -1 K5(4) K6(4) 6 K1(6) K2(6) K3(6) K4(6) K5(6) K6(6) K1(4) -1 -K3(4) -K2(4) K4(4) -1 K5(3) K6(3) 7 K1(7) K2(7) K3(7) K4(7) K5(7) K6(7) K1(3) -1 -K3(3) -K2(3) K4(3) -1 K5(2) K6(2) 8 K1(8) K2(8) K3(8) K4(8) K5(8) K6(8) K1(2) -1 -K3(2) -K2(2) K4(2) -1 K5(1) K6(1) Transformasi output K1(9) K2(9) K3(9) K4(9) K1(1) -1 -K2(1) -K3(1) K4(1) -1 2.6. Perangkat Lunak Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di bidang teknologi, tanpa disadari komputer telah ikut berperan dalam dunia pendidikan terutama penggunaannya sebagai alat bantu pengajaran. Percobaan penggunaan komputer untuk proses belajar dimulai di Amerika Serikat pada akhir tahun 1950-an dan awal tahun 1960-an. Kemudian penelitian selanjutnya dilakukan oleh Harvard University bekerja sama dengan IBM pada tahun 1965. Setelah munculnya komputer mikro, sistem pengajaran dengan komputer menjadi semakin meluas pada pengembangan aplikasi perangkat lunak ajar yang dikenal dengan istilah perangkat lunak pembelajaran. Perangkat lunak pembelajaran dengan komputer muncul dari sejumlah disiplin ilmu, terutama ilmu komputer dan psikologi. Dari ilmu komputer dan matematika muncul program program yang membuat semua perhitungan dan fungsi lebih mudah dan bermanfaat. Sedangkan dari ilmu psikologi muncul pengetahuan mengenai teori belajar, teknik belajar, serta motivasi yang baik.

23 2.6.1. Tujuan Perangkat Lunak Tujuan dari perangkat lunak, antara lain : 1. Peningkatan pengawasan 2. Penggunaan sumber daya 3. Individualisasi 4. Ketepatan waktu dan tingkat ketersediaan 5. Pengurangan waktu latihan 6. Perbaikan hasil kerja 7. Alat yang nyaman dipakai 8. Pengganti cara belajar 9. Peningkatan kepuasan belajar 10. Pengurangan waktu pengembangan 2.6.2. Langkah-Langkah Pengembangan Perangkat Lunak Ada 5 tahap siklus pengembangan perangkat lunak pembelajaran yaitu : 1. Pengembangan spesifikasi perancangan detail Tujuan dari pengembangan spesifikasi perancangan detail ini meliputi perluasan konsep perancangan untuk menciptakan suatu rencana yang efektif. 2. Pengembangan teknik Pengembangan ini biasanya dilakukan dengan persetujuan dari tim perancang. Tahap ini biasanya akan diulang-ulang dan sering terjadi perbaikan. 3. Evaluasi Untuk menghasilkan suatu perangkat lunak pembelajaran yang dapat memenuhi standar maka perlu dilakukan suatu pengujian. Pengujian biasanya dilakukan pada bagian pelajaran dan pelatihan. Hasil dari pengujian inilah yang dievaluasi oleh tim perancang. 4. Produksi dan pengembangan Produksi ini harus dilakukan secara teknis dan logis dalam pembuatan dokumentasi. Sedangkan pengembangan yang dilakukan mengacu pada proses pengembangannya.

24 5. Evaluasi akhir Langkah pengujian yang dapat dilakukan misalnya dengan melakukan suatu kuisioner maupun konsultasi dengan mereka yang ingin belajar. Hasilnya dapat menjadi pedoman apakah perangkat lunak pembelajaran tersebut perlu dilakukan perbaikan lagi atau tidak.