METODE ENKRIPSI DAN DESKRIPSI DATA MENGGUNAKAN KRIPTOGRAFI IDEA Abdul Hanan1, Hendra Fajri2 Jurusan Teknik Informatika, STMIK U’budiyah Indonesia, Banda Aceh Abstrak Dalam dunia kriptografi, block cipher adalah cipher dengan kunci simetrik yang terdiri dari kumpulan bit-bit dengan panjang tetap, yang disebut sebagai blok. Algoritma enkripsi dengan menggunakan block cipher menerima masukan n-bit block yang berisi plaintext dan memberikan keluaran n-bit block ciphertext. Metode IDEA terdiri dari 8 putaran (iterasi) ditambah 1 putaran transformasi output. IDEA menggunakan operasi aljabar yang berbeda-beda yaitu XOR, penambahan modulo 216, dan perkalian modulo 2¬¬16 + 1. Dalam satu putaran terdapat 14 langkah algoritma dan proses invers kunci untuk proses dekripsi juga cukup rumit, menyebabkan metode IDEA ini tergolong panjang dan rumit jika dikerjakan secara manual. Perangkat lunak kriptografi dengan Algoritma IDEA dengan menggunakan plaintext 64 bit dan kunci simetris 128 bit melalui proses enkripsi akan menghasilkan chipertext yang ketika di deskripsi kembali dengan menggunakan kunci simetris yang sama akan didapat plaintext awal. Kata Kunci : Algoritma IDEA, plaintext, chipertext, block cipher, kunci simetris Abstract In the world of cryptography, a block cipher is a symmetric key cipher consisting of a collection of bits of fixed length, called blocks. The encryption algorithm using a block cipher accepts input nbit block that contains the plaintext and provides output n-bit block of ciphertext. IDEA method consists of 8 rounds (iterations) plus 1 round of transformation output. IDEA using algebraic operations are different XOR, addition modulo 216, and multiplication modulo 2 ¬ 16 + 1. In one round there are 14 step algorithm and the inverse process is also key for the decryption process is quite complicated, causing IDEA method is quite lengthy and cumbersome if done manually. Cryptographic software with IDEA algorithm using 64 bit plaintext and 128 bit symmetric key encryption through the process will produce ciphertext that when the description again using the same symmetric key plaintext will get the start. Keywords: Algorithm IDEA, plaintext, ciphertext, block ciphers, symmetric key PENDAHULUAN 1. Latar Belakang Masalah Masalah keamanan dan kerahasiaan data merupakan hal yang sangat penting dalam suatu organisasi maupun pribadi. Apalagi kalau data tersebut berada dalam suatu jaringan komputer yang terhubung/terkoneksi dengan jaringan publik misalnya internet. Tentu saja data yang sangat penting tersebut dapat dilihat atau bahkan dibajak oleh orang tidak berwenang. Sebab kalau hal ini sampai terjadi kemungkinan data kita akan rusak bahkan bisa hilang yang bisa menimbulkan kerugian material yang besar. Oleh karena itu, kita membutuhkan sebuah sistem keamanan pengiriman dan penyimpanan pesan ataupun data yang dapat menjaga kerahasiaan suatu pesan/data dari akses orang-orang yang tidak berwenang.
Salah satu sistem yang banyak digunakan pada saat ini adalah kriptografi, yang mampu menjaga keamanan akses pengiriman dan penyimpanan data penting agar tidak mudah di rusak atau bahkan tidak diketahui oleh pihak yang tidak berwenang. Data (informasi) yang bersifat rahasia harus diamankan terlebih dahulu dengan menggunakan metode kriptografi sebelum dikirim untuk mencegah agar data (informasi) tidak diketahui oleh orang lain yang tidak berkepentingan. Metode yang digunakan untuk mengamankan data ada bermacam-macam, masing-masing metode mempunyai kelebihan dan kekurangan. Salah satu metode kriptografi yang dianggap sebagai algoritma block cipher yang terbaik dan teraman yang tersedia untuk publik sampai saat ini adalah metode Kriptografi
IDEA (International Data Encryption Algorithm ). Metode IDEA diperkenalkan pertama kali oleh Xuejia Lai dan James Massey pada tahun 1990 dengan nama PES (Proposed Encryption Standart). 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 (Improyed Proposed Encryption Algorithm). Kemudian pada tahun 1992, IPES mengganti namanya menjadi IDEA (International Data Encryption Algorithm). Metoda ini menggunakan beberapa operasi dasar, seperti operasi logika XOR (Exclusive-OR), operasi perkalian Mod 216+1 ( Multiplication module 216+1 ) dan operasi penambahan Mod 216 (Addition Modulo 216). Metode ini terdiri dari 8 putaran (Round) dan menggunakan 64 bit plaintext dengan panjang kunci sebesar 128 bit. Berdasarkan latar belakang diatas, penulis mengangkat tema penelitian dengan judul “Metode Enkripsi dan Deskripsi Menggunakan Kriptografi IDEA”. 2. Maksud dan Tujuan Penelitian Adapun tujuan dari penelitian ini adalah untuk merancang sebuah perangkat lunak yang dapat digunakan untuk kriptografi dengan algoritma IDEA (International Data Encryption Algorithm). TINJAUAN PUSTAKA 1. Sejarah Kriptografi Adapun 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. Sejarah kriptografi sebagian besar merupakan sejarah kriptografi klasik, yaitu metode enkripsi yang menggunakan kertas dan pensil atau mungkin dengan bantuan alat mekanik sederhana. Secara umum algoritma kriptografi klasik dikelompokan menjadi dua kategori, yaitu algoritma transposisi (transposition cipher) dan algoritma subtitusi (substitusion chipper). Cipher transposisi mengubah susuna huruf-huruf di dalam pesan, sedangkan cipher subtitusi menganti setiap huruf atau kelompok huruf dengan sebuah huruf atau kelompok huruf lain. Sejarah kriptografi klasik mencatat penggunaan cipher trasposisi oleh tentara Sparta di Yunani pada permulaan tahun 400 SM. Mereka menggunakan alat yang namanya scytale.
Sedangkan algoritma substitusi paling awal dan paling sederhana adalah Caesar cipher, yang digunakan oleh raja Yunani kuno, Julius Caesar. Caranya adalah dengan mengganti setiap karakter di dalam alfabet dengan karakter yang terletak pada tiga posisi berikutnya di dalam susunan alfabet (Rinaldi Munir, 2006). 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. 2. Kriptografi Kriptografi berasal dari bahasa Yunani yakni kriptos yang artinya tersembunyi dan graphia yang artinya
Metode Enkripsi dan Deskripsi Menggunakan Kriptografi IDEA (Abdul Hanan1, Hendra Fajri2)
sesuatu yang tertulis, sehingga kriptografi dapat disebut sebagai sesuatu yang tertulis secara rahasia. Menurut (Rinaldi Munir, 2006), 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. 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. 2.1 Terminologi Beberapa terminologi atau istilah yang penting untuk diketahui didalam kriptografi menurut (Rinaldi Munir, 2006) dalam bukunya yang berjudul Kriptografi adalah sebagai beriku: A. Pesan, Plainteks, dan Cipherteks Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks (plaintext) atau teks-jelas (cleartext). Pesan tidak hanya berupa teks, tetapi juga dapat berbentuk gambar (image), suara (audio), vidio, atau berkas biner lainnya. Pesan perlu disandikan ke bentuk lain yang tidak dipahami agar tidak dapat dimengerti maknanya oleh pihak lain. Bentuk pesan yang tersandi disebut cipherteks (ciphertext) atau kriptogram (cryptogram). Cipherteks harus dapat ditransformasikan kembali menjadi plainteks semula agar pesan yang diterima bisa dibaca. B. Pengirim dan Penerima Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima (receiver) adalah entitas yang menerima pesan. Entitas di sini
dapat berupa orang, komputer, kartu kredit, dan sebagainya. C. Enkripsi dan Dekripsi Proses menyandikan plainteks menjadi cipherteks disebut enkripsi (encryption) atau enciphering (standar nama menurut ISO 7498-2). Sedangkan proses mengembalikan cipherteks menjadi plainteks semula disebut dekripsi (decryption) atau deciphering (standard nama menurut ISO 7498-2). Enkripsi adalah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Keuntungan dari enkripsi adalah kode asli kita tidak dapat dibaca oleh orang lain. Dekripsi adalah proses mengembalikan suatu informasi dengan cara tertentu dan sesuai dengan algoritma enkripsi yang dipakai. Dekripsi merupakan proses kebalikan dari proses enkripsi, mengubah ciphertext kembali ke dalam bentuk plaintext. Proses utama dalam suatu algoritma kriptografi adalah enkripsi dan deskripsi. D. Cipher dan kunci Cipher atau algoritma kriptografi adalah aturan untuk enchipering dan dechipering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher memerlukan algoritma yang berbeda untuk enchipering dan dechipering. Kunci (key) adalah parameter yang digunakan untuk tranformasi enchipering dan dechipering. Kunci biasanya berupa string atau deretan bilangan. E. Penyadap Penyadap (eavesdropper) adalah orang yang mencoba menangkap pesan selama ditransmisikan. Tujuan penyadap adalah untuk mendapatkan informasi sebanyakbanyaknya mengenai sistem kriptografi yang digunakan untuk berkomunikasi dengan maksud untuk memecahkan cipherteks. F. Kriptanalisis dan Kriptologi Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalis. Kriptologi (cryptology) adalah studi mengenai kriptografi dan kriptanalisis. 2.2 Tujuan Kriptografi
Metode Enkripsi dan Deskripsi Menggunakan Kriptografi IDEA (Abdul Hanan1, Hendra Fajri2)
Tujuan dari kriptografi yang juga merupakan aspek keamanan informasi adalah sebagai berikut (Rinaldi Munir, 2006) : 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 pihakpihak 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. 2.3 Secret Sharing Menurut (Akhmad Mukhlis, 2011), Secret Sharing merupakan salah satu aplikasi dari kriptografi yang memungkinkan pendistribusian satu rahasia di antara sekumpulan orang yang tidak saling mempercayai. Skema secret sharing merupakan sebuah protokol multi-party yang berhubungan dengan penyediaan kunci.
Adapun latar belakang dari dibuatnya secret sharing adalah: untuk menjamin kunci kriptografi agar tidak hilang, maka dibuatlah sebuah salinan sebagai back up-nya. Dimana semakin banyak salinan yang dibuat, maka semakin besar pula resikonya. Disisi lain, jika salinan yang dibuat sedikit maka resiko kunci hilang juga akan semakin besar. Dari masalah ini, maka skema secret sharing dibuat untuk mempertinggi reliabilitas tanpa menambah resiko. skema secret sharing bisa jadi merupakan sebuah skema sharing control jika input yang di-share dari dua atau lebih entitas dibutuhkan utuk memungkinkan dilakukan critical action (mungkin proses recovery kunci menjadi pemicu dari action ini, atau mungkin juga proses recovery itu sendiri yang menjadi critical action). 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). 3. JENIS-JENIS KRIPTOGRAFI 3.1 Kriptografi Kunci Simeteris Algoritma kriptografi kunci simeteris atau disebut juga algoritma kriptografi konvensioanal adalah algoritma yang menggunakan kunci untuk proses enkripsi sama dengan kunci yang digunakan untuk melakukan proses dekripsi (Iswanti Suprapti, 2003). Algoritma kriptografi simeteris dibagi menajdi 2 kategori yaitu algoritma aliran (Stream Ciphers) dan algoritma blok (Block Ciphers). Pada algoritma aliran, proses penyandiannya berorientasi pada satu bit atau satu byte data. Sedang pada algoritma blok, proses penyandiannya 3berorientasi pada sekumpulan bit atau byte data (per blok). Contoh algoritma kunci simetris yang terkenal adalah DES (Data Encryption Standard), IDEA (International Data Encryption Algorithm). Metode yang paling umum untuk kriptografi kunci rahasia adalah block ciphers, stream ciphers, Desain Cipher. . 3.2 Block Cipher
Metode Enkripsi dan Deskripsi Menggunakan Kriptografi IDEA (Abdul Hanan1, Hendra Fajri2)
Block cipher adalah bentuk algoritma enkripsi kunci simetri yang mentransformasikan satu blok data tertentu dari plaintext ke dalam satu blok data ciphertext dengan panjang blok yang sama. Transformasi ini berlangsung melalui penggunaan kunci rahasia yang disediakan oleh pemakai (user). Dekripsi dilakukan dengan menggunakan transformasi kebalikan terhadap blok ciphertext menjadi satu blok plaintext dengan kunci dan panjang blok yang sama. Panjang blok tertentu disebut ukuran blok (block size) dimana ukuran blok tersebut bervariasi misalnya 16 bit, 32 bit, 64 bit, 128 bit atau 256 bit tergantung dari teknik yang digunakan dan perkembangan kemampuan mikroprosesor selanjutnya. Karena blok plaintext yang berbeda dipetakan ke blok ciphertext yang berbeda (untuk memungkinkan dekripsi yang unik), suatu block cipher secara efektif menyediakan satu permutasi (korespondensi satu ke banyak) dari set pesan yang mungkin. Permutasi berpengaruh pada saat enkripsi tertentu yang sudah pasti rahasia, karena permutasi tersebut adalah fungsi dari kunci rahasia. Jika kita menggunakan satu block cipher untuk mengenkrip satu pesan dengan panjang sembarang, kita menggunakan teknik yang dikenal sebagai modus operasi untuk block cipher tersebut. Agar dapat berguna, satu modus operasi setidak-tidaknya seefisien dan seaman cipher fundamental. Teknik enkripsi mungkin memiliki sifat-sifat tambahan terhadap sifatsifat dasar yang dimiliki teknik biasa. Teknik standard DES telah dipublikasi dalam berbagai publikasi. Versi standard yang lebih umum menggabungkan 4 modus operasi dari DES untuk dapat diaplikasikan terhadap block cipher dengan ukuran blok sembarang. 3.3 Stream Cipher Merupakan jenis algoritma enkripsi simetri yang 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 untuk blok data yang lebih kecil, biasanya ukuran bit. Proses enkripsi terhadap plaintext tertentu dengan algoritma block cipher akan menghasilkan ciphertext yang sama jika kunci yang sama digunakan. Dengan stream cipher, transformasi dari unit plaintext yang lebih
kecil ini berbeda antara satu dengan lainnya, tergantung pada kapan unit tersebut ditemukan selama proses enkripsi. Suatu stream cipher akan menghasilkan apa yang disebut suatu keystream yaitu suatu barisan bit yang digunakan sebagai kunci. Proses enkripsi dicapai dengan menggabungkan keystream dengan plaintext biasanya dengan operasi bitwise XOR. 3.4 Desain Cipher Terdapat dua prinsip dasar untuk menghasilkan cipher yang aman, yaitu confusion dan diffusion. Tanpa memperhatikan hal ini, cipher kita mungkin akan sangat mudah dipecahkan sandinya. Confusion berarti mengaburkan hubungan antara plaintext dan ciphertext. Ini akan membuat frustasi usaha untuk mencari keteraturan dan pola statistik antara plaintext dan ciphertext. Cara paling mudah untuk melakukan hal ini adalah dengan substitusi. Substitusi modern menggunakan cara yang sangat komplek. Namun cara ini belum cukup. Cipher Jerman, Enigma, yang menggunakan algoritma substitusi yang komplek dipecahkan oleh Sekutu dalam perang dunia kedua. Dimana diffusion berarti menghilangkan redundansi plaintext dengan menyebarkan masukan ke seluruh ciphertext. Diperlukan waktu yang lebih lama untuk memecahkan sandi rahasia ini, bila diffusion digunakan. Cara paling mudah untuk melakukan diffusion adalah transposisi atau permutasi. Dalam dunia kriptografi modern, confusion dan diffusion ini dilakukan secara sangat intensif dengan bantuan komputer. 3.5 Kriptografi Kunci Asimetri Algoritma kriptografi asimetri adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Algoritma ini disebut juga algoritma kunci umum (public key algorithm) karena kunci untuk enkripsi dibuat umum (public key) atau dapat diketahui oleh setiap orang, tapi kunci untuk dekripsi hanya diketahui oleh orang yang berwenang mengetahui data yang disandikan atau sering disebut kunci pribadi (private key), (Iswanti Suprapti, 2003). Kriptografi kunci publik diperkenalkan oleh Whitfield Diffie dan Martin Hellman pada tahun 1976. Kriptografi kunci publik memiliki dua penggunaan utama, yakni enkripsi dan tanda tangan digital (encryption and digital
Metode Enkripsi dan Deskripsi Menggunakan Kriptografi IDEA (Abdul Hanan1, Hendra Fajri2)
signatures). Dalam sistem kriptografi kunci publik, masing-masing pihak mendapat sepasang kunci, satu disebut kunci publik (public key) dan satu lagi disebut kunci rahasia (private key). Kunci publik dipublikasikan, sementara kunci rahasia tetap dirahasiakan. Keharusan penggunaan kunci secara bersama antara pengirim dan penerima pesan rahasia dihilangkan, semua komunikasi hanya melibatkan kunci publik, dan tidak ada kunci rahasia yang ditransmisikan atau digunakan bersama. Dalam sistem ini, tidak ada lagi kecurigaan terhadap keamanan dari sistem komunikasi. Satu-satunya kebutuhan bahwa kunci publik dikaitkan dengan penggunanya dalam lingkup yang saling mempercayai (contoh dalam suatu trusted directory). Seseorang dapat mengirimkan pesan rahasia dengan hanya menggunakan informasi yang umum (kunci publik), tetapi pesan tersebut hanya mungkin didekrip dengan menggunakan kunci rahasia, dimana satu-satunya yang memiliki kunci rahasia tersebut hanyalah orang yang diharapkan menerima pesan tersebut. Kriptografi kunci publik tidak hanya digunakan untuk merahasiakan pesan, tetapi juga untuk otentikasi (tanda tangan digital) dan teknik lainnya. Dalam kriptografi kunci publik, kunci rahasia selalu berhubungan secara matematis terhadap kunci publik. Oleh karena itu, selalu dimungkinkan untuk menembus (menyerang) sistem kunci publik dengan menurunkan kunci rahasia dari kunci publik. Biasanya, cara untuk menangkal kemungkinan tersebut adalah membuat sesulit mungkin untuk menghasilkan kunci privat dari kunci publik. Sebagai contoh, beberapa kriptosistem kunci publik dibuat sedemikian hingga penurunan kunci rahasia (privat) dari kunci publik mengharuskan penyerang melakukan faktorisasi terhadap bilangan yang sangat besar, dalam hal ini sangat sulit untuk melakukan penurunan. Inilah ide di belakang RSA public-key cryptosystem. Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA dan ECC.
Gambar Proses Enkripsi/Dekripsi Public Key Cryptography Kriptografi IDEA
Pada gambar berikut diperlihatkan arsitektur atau penggambaran umum sebuah processor yang mengolah sistem keamanan data dengan menggunakan algoritma IDEA. Makalah Perbandingan Algoritma IDEA dengan DES (Stevens Jethefer) :
Arsitektur Prosesor Kriptografi IDEA Keterangan : 1. Blok Penyandi IDEA Blok ini berfungsi untuk melakukan proses penyandian data. Jika sub-kunci yang diproses oleh blok ini berupa sub-kunci enkripsi maka pesan yang dihasilkan adalah pesan rahasia (Chipertext) dan jika yang diproses berupa sub-kunci deskripsi maka pesan yang dihasilkan adalah pesan sebenarnya (Plaintext). 2. Blok pembangkit sub-kunci Blok ini berfungsi untuk membentuk 52 buah sub-kunci enkripsi 16 bit dari kunci enkripsi 128 bit. Sehingga membentuk 52 buah sub-kunci dekripsi 16 bit dari kunci dekripsi 128 bit. 3. Blok port data-in Blok ini berfungsi untuk membaca 2 buah blok data masukan 32 bit dan penyimpanannya sebagai blok data masukan 64 bit yang akan dienkripsi atau didekripsi. 4. Blok port data-out Blok ini berfungsi untuk mengeluarkan blok data keluaran 64 bit yang merupakan hasil enkripsi atau dekripsi dengan cara membagi menjadi 2 buah blok data keluaran 32 bit. 5. Blok port kunci-n Blok ini berfungsi untuk membaca 4 buah blok kunci 32 bit dan menyimpannya sebagai blok kunci 128 bit. 6. Blok mode operasi
Metode Enkripsi dan Deskripsi Menggunakan Kriptografi IDEA (Abdul Hanan1, Hendra Fajri2)
Blok ini berfungsi untuk menentukan mode operasi yang digunakan pada proses enkripsi dan dekripsi. 7. Blok control Blok ini berfungsi untuk mengontrol operasi antara blok fungsional yang menyusun sebuah blok besar seperti sinkronisasi transfer data antara blok. 6.4 Kelebihan Algoritma IDEA Algoritma IDEA mempunyai kelebihan-kelebihan sebagai berikut : 1. Dalam segi keamanan penyandian data algoritma IDEA mempunyai standar yang lebih sederhana namun cukup ampuh untuk mencegah serangan cryptanalysis terhadap kunci enkripsi dan dekripsi. Pembangkit kunci yang diperoleh dengan menjalankan fungsi pembangkit bilangan acak terbukti dapat menyandikan data plaintext menjadi ciphertext yang sulit untuk diterjemahkan langsung namun mudah untuk didekripsi dengan menggunakan kunci dekripsi yang asli. 2. Dari segi efisiensi waktu algoritma IDEA mempunyai akselerasi yang cukup baik dalam mengenkripsi dan mendekripsi data, terutama karena struktur algoritmanya lebih singkat namun tidak mengurangi kemampuan dasar dalam mengamankan penyandian data. METODELOGI PENELITIAN 1. Data Penelitian IDEA merupakan block cipher (chipper blok) yang beroperasi pada blok plaintext 64 bit dan kunci 128 bit. Dalam proses metode IDEA memiliki input 128 bit kunci (key) yang identik dengan 32 digit heksadesimal ataupun 16 karakter yang diproses untuk menghasilkan 52 subkey dengan perincian masing-masing 6 buah subkey akan digunakan pada 8 putaran dan 4 buah subkey untuk transformasi output. Algoritma IDEA ini menggunakan kunci (key) simetris, dimana kunci yang digunakan enkripsi sama dengan dekripsi. 2. PROSES ENKRIPSI ALGORITMA IDEA 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, 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. 2. 3. 4. 5. 6. 7.
Kalikan X1 dengan K1 mod (216 + 1). Tambahkan X2 dengan K2 mod 216. Tambahkan X3 dengan K3 mod 216. Kalikan X4 dengan K4 mod (216 + 1). XOR hasil dari step 1 dan 3. XOR hasil dari step 2 dan 4. Kalikan hasil dari step 5 dengan K5 mod (216 + 1). 8. Tambahkan hasil dari step 6 dan 7 mod 216. 9. Kalikan hasil dari step 8 dengan K6 mod (216 + 1). 10. Tambahkan hasil dari step 7 dan 9 mod 216. 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 (216 + 1). 2. Tambahkan X2 dengan subkey K2 mod 216. 3. Tambahkan X3 dengan subkey K3 mod 216. 4. Kalikan X4 dengan subkey K4 mod (216 + 1). 3. PROSES DEKRIPSI ALGORITMA IDEA
Metode Enkripsi dan Deskripsi Menggunakan Kriptografi IDEA (Abdul Hanan1, Hendra Fajri2)
Proses dekripsi sama persis dengan proses enkripsi. Perbedaannya hanya terletak pada aturan dari subkey-nya. Urutan subkey terbalik dengan proses enkripsi dan subkeynya 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 dan 2 pada proses dekrips. Demikian seterusnya, agar lebih jelas lihatlah tabel berikut ini.
START
INPUT CHIPER TEXT DAN KUNCI
MENGAMBIL VARIABEL CHIPER TEXT DAN KUNCI
TIDAK
KUNCIN DESKRIPT = KUNCI ENKRIPT
YA
JIKA VARIBLE MEMENUHI SYARAT Xn & Kn
TIDAK
YA
4. FLOWCHART SISTEM DENGAN MENGGUNAKAN ALGORITMA IDEA Berikut ini adalah flowchart sistem kerja dari perangkat lunak kriptografi dengan Algoritma IDEA yang penulis rancang. Flowchart sistem ini terdiri dari dua flowchart sistem, yaitu flowchart sistem Enkripsi dan flowchart sistem deskripsi.
BLOCK KUNCI =1
YA PROSES VARIABLE DENGAN FORMULA DENKRIPSI
PLAIN TEKS & INFORMASI PROSES DEKRIPSI
SELESAI
Flowchart Sistem Proses Dekripsi Algoritma IDEA
START
ANALISA DAN PEMBAHASAN
INPUT PLAIN TEXT DAN KUNCI
MENGAMBIL VARIABEL PLAIN TEXT DAN KUNCI
JIKA VARIBLE MEMENUHI SYARAT Xn & Kn
TIDAK
YA
TIDAK
TIDAK
BLOCK KUNCI =1
YA PROSES VARIABLE DENGAN FORMULA ENKRIPSI
CHIPER TEKS & INFORMASI PROSES ENKRIPSI
SELESAI
Flowchart Sistem Proses Enkripsi Algoritma IDEA
1. Analisa Algoritma Idea Analisa Permasalahan Algoritma IDEA Tahapan analisis terhadap suatu sistem dilakukan sebelum tahapan perancangan dilakukan. Tujuan diterapkannya analisis terhadap suatu sistem adalah untuk mengetahui alasan mengapa sistem tersebut diperlukan, merumuskan kebutuhan-kebutuhan dari sistem tersebut untuk mereduksi sumber daya yang berlebih serta membantu merencanakan penjadwalan pembentukan sistem, meminimalisir penyimpangan yang mungkin terdapat di dalam sistem tersebut sehingga fungsi yang dalam sistem tersebut bekerja secara optimal. Salah satu unsur pokok yang harus dipertimbangkan dalam tahapan analisis sistem ini yaitu masalah perangkat lunak, karena perangkat lunak yang digunakan haruslah sesuai dengan masalah yang akan diselesaikan. 2. Analisa Kebutuhan Algoritma IDEA Faktor yang mendasari dibentuknya perangkat lunak dengan algoritma kriptografi IDEA adalah keamanan data. Keamanan telah menjadi aspek yang sangat penting dari suatu sistem informasi. Sebuah
Metode Enkripsi dan Deskripsi Menggunakan Kriptografi IDEA (Abdul Hanan1, Hendra Fajri2)
informasi umumnya hanya ditujukan bagi segolongan tertentu. Oleh karena itu sangat penting untuk mencegahnya jatuh kepada pihak-pihak lain yang tidak berkepentingan. Untuk keperluan tersebut, maka diperlukan teknik kriptografi dengan metode enkripsi dan dekripsi. Salah satu metode enkripsi dan dekripsi data yang digunakan adalah algoritma IDEA. Setiap sistem yang akan dibangun selalu memiliki kebutuhan. Analisis yang dilakukan terhadap kebutuhan suatu sistem dapat berfungsi untuk mereduksi sumber daya yang berlebih dari sistem tersebut serta membantu pembentukan penjadwalan pembentukan sistem. Berdasarkan analisis yang dilakukan terhadap keperluan perangkat lunak, maka dapat diambil keputusan bahwa nama dari perangkat lunak yang akan dibangun adalah KriptIDEA, dimana Kript menunjukkan fungsi dari perangkat lunak dan Idea merupakan nama algoritma yang di gunakan. Perangkat lunak yang dibangun nantinya akan menghasilkan file cipherteks dari proses enkripsi dan menghasilkan file plainteks dari proses dekripsi. Format file cipherteks nantinya akan tetap sama dengan file asli tetapi tidak dapat dipahami oleh pihak yang tidak berhak. 3. Pemodelan Fungsional Hasil yang diharapkan dari tahapan membangun suatu sistem adalah bagaimana caranya agar sistem yang dibangun memiliki fungsi yang berdaya guna maksimal. Oleh karena itu, maka fungsi-fungsi yang ada pada sistem tersebut perlu dianalisis. Pada sistem kriptografi IDEA, secara garis besar terdapat dua fungsi, yaitu: enkripsi pesan, dekripsi pesan. 4. Perancangan Sistem Pada perancangan perangkat lunak dengan algoritma IDEA (International Data Encryption Algorithm), tahap perancangan yang dilakukan mencakup perancangan data, perancangan struktur program, dan perancangan prosedural. Perancangan Data Secara umum Algoritma penyandian IDEA (International Data Encryption Algorithm) dihitung menggunakan rumus sebagai berikut: 1. Proses Enkripsi ek(M) = C .......................................................... ............................. ( 1) 2. Proses Deskripsi
dk(C)
= M ......................................................... .............................. ( 2) Keterangan: e = adalah fungsi enkripsi d = adalah fungsi dekripsi M = adalah pesan terbuka C = adalah pesan rahasia K = adalah kunci enkripsi atau dekripsi Pada proses enkripsi, terdapat tiga operasi yang berbeda untuk pasangan subblok 16-bit yang digunakan, sebagai berikut : - XOR dua sub-blok 16-bit bir per bit - Penjumlahan integer modul (216 + 1) dua sub-blok 16-bit , dimana kedua sub-blok itu dianggap sebagai representasi biner dari integer biasa, - Perkalian modulo (216 + 1) dua sub-blok 16-bit, dimana kedua sub-blok 16-bit itu dianggap sebagai representasi biner dari integer biasa kecuali sub-blok nol dianggap mewakili integer 216. Blok pesan terbuka dengan lebar 64-bit , X, dibagi menjadi 4 sub-blok 16-bit, X1, X2, X3, X4, sehingga X = (X1, X2, X3, X4). Keempat sub-blok 16-bit itu ditransformasikan menjadi sub-blok 16-bit, Y1, Y2, Y3, Y4, sebagai pesan rahasia 64bit Y = (Y1, Y2, Y3, Y4) yang berada dibawah kendali 52 sub_blok kunci 16-bit yang dibentuk dari dari blok kunci 128 bit. Keempat sub-blok 16-bit, X1, X2, X3, X4, digunakan sebagai masukan untuk putaran pertama dari algoritma IDEA. Dalam setiap putaran dilakukan operasi XOR, penjumlahan, perkalian antara dua sub-blok 16-bit dan diikuti pertukaran antara sub-blok 16-bit putaran kedua dan ketiga. Keluaran putaran sebelumnya menjadi masukan putaran berikutnya. Setelah putaran kedelapan dilakukan transformasi keluaran yang dikendalikan oleh 4 sub-blok kunci 16bit. Perancangan Struktur Program Struktur program disebut juga hirarki kontrol yang mempresentasikan organisasi komponen program (modul) serta mengimplikasikan suatu hirarki kontrol. Suatu hirarki kontrol tidak mengimplikasikan aspek prosedural dari perangkat lunak, seperti urutan proses, kejadian/urutan dari keputusan, atau pengulangan operasi. Banyak notasi yang berbeda yang digunakan untuk mempresentasikan hirarki kontrol, yang paling umum adalah diagram pohon.
Metode Enkripsi dan Deskripsi Menggunakan Kriptografi IDEA (Abdul Hanan1, Hendra Fajri2)
Seperti pada umumnya perancangan program terdiri dari judul program dan badan program. Dimana badan program ini dibagi lagi menjadi dua bagian yaitu bagian deklarasi dan bagian pernyataan (statement). Berikut bentuk bagan struktur program yang akan diterapkan pada program kriptografi IDEA.
Berikut bentuk diagram rancangan proses enkripsi dan deskripsi data menggunakan algoritma kriptografi IDEA Rancangan Proses Enkripsi
Rancangan Proses Deskripsi
User
T Chiper Text
Menguji variabel inputan
Plain Teks Dan Kunci
6. Form Encrip Data Form enkripsi digunakan untuk merubah plainteks menjadi cipherteks. Tampilan layar enkripsi pada sistem kriptografi IDEA ini dapat dilihat pada gambar.
Y
Menguji variabel inputan
T selesai Proses Ke n
Proses Ke n
Pembentukan Block Proses
Y Proses_Encryp
Proses_Deskirp
Pembentukan Block Proses
proses_kunci prosespbin proseskbin
Proses Ke n
proses_kunci prosespbin Proses Ke n proseskbin selesai
Kunci
7. Form Descript Data Form deskripsi digunakan untuk mengembalikan cipherteks ke bentuk pesan semula. Tampilan layar dekripsi pada sistem kriptografi IDEA ini dapat dilihat pada gambar.
User
Plain Teks : ABDHANAN
Dan Kunci : KRIPTOGRAFI IDEA
Menguji variabel Inputan (Var. Lengkap)
T
Menghasilkan chipertext = ™/hŠm?çǺI
Proses Ke n Y Proses_ Encryp Pembentukan Block Proses (Jlh. Block=1)
selesai
proses_kunci prosespbin Proses Ke n proseskbin
KESIMPULAN DAN SARAN 1. Kesimpulan 1. Pada proses kriptografi dengan algoritma IDEA memiliki 8 putaran dan di tambah satu lagi putaran transformasi output. 5. Halaman Utama Halaman utama merupakan menu utama yang ada dalam sistem kriptografi IDEA, untuk memudahkan user dalam mengoperasikan sistem kriptografi IDEA
2. Panjang plaintext pada kriptografi algoritma IDEA minimal 64 bit sedangkan panjang kunci 128 bit dan algoritma IDEA menggunakan operasi aljabar yang berbeda-beda yaitu XOR,
Metode Enkripsi dan Deskripsi Menggunakan Kriptografi IDEA (Abdul Hanan1, Hendra Fajri2)
penambahan 216+1.
modulo
216,
perkalian
enkripsi tertentu. Gunung Agung, 2009.
Bandung,
3. Pada proses kriptografi dengan menggunakan metode IDEA ini menggunakan kunci simetris pada proses enkripsi dan deskripsinya.
Mangkulo, hengky alexander., “Cara Mudah Menguasai Visual Basic 6.0”, Penerbit PT. Elek Media Komputindo, Jakarta. 2011.
4. Pada penelitian tugas akhir ini, kriptografi dengan menggunakan metode IDEA penulis menggunakan data berformat text. 5. Pada proses enkripsi dan dekripsi dengan menggunakan metode IDEA, file plaintext awal setelah di enkripsi dengan menggunakan kunci simetris akan menghasilkan file chipertext, lalu file chipertext di dekripsi kembali dengan kunci simetris akan menghasilkan file plaintext awal.
Wahana Komputer: The Best Encryption Tools. Penerbit PT Elex Media Komputindo, Jakarta, 2010. Wahana Komputer : Memahami Model Enkripsi & Security Data. Penerbit ANDI, Yogyakarta, 2003.
Hasil kriptografi dengan menggunakan metode kriptografi IDEA menghasilkan chippertext dengan karakteristik tertentu. Chipertext yang dihasilkan berbeda-beda untuk setiap plaintext dan kuncinya. Ini sangat efektif jika digunakan untuk pengamanan suatu data atau password. Karena untuk proses eskripsinya user memerlukan Plain Text dan Kunci. Jika salah satu variabelnya berbeda maka hasil chipper textnya sudah tentu berbeda.
DAFTAR PUSTAKA Ariyus, Dony., Pengantar Ilmu Kriptografi: Teori Analisis dan Implementasi, Edisi Pertama. Yogyakarta: Andi Offset, 2008. Andriyanto, Tri, dan D.L., Crispina Pardede, Studi Dan Perbandingan Algoritma Idea Dan Algoritma Blowfish,Universitas Gunadarma, ISSN : 1411-6286. Indriyawan. Eko Pemrogaman Visual Basic 6.0 Menggunakan Array dan Binary.Yogyakarta : Andi, 2001 Jethefer, Stevens, Studi Dan Perbandingan Algoritma IDEA (International Data Encryption Algorithm) Dengan DES (Data Encryption Standard), ITB, 17, 10-11. Luzaenah, Lusi, Sistem Pengamanan data Efektif menggunakan teori-teori Metode Enkripsi dan Deskripsi Menggunakan Kriptografi IDEA (Abdul Hanan1, Hendra Fajri2)