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

Ukuran: px
Mulai penontonan dengan halaman:

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

Transkripsi

1 METODE ENKRIPSI DAN DESKRIPSI DATA MENGGUNAKAN KRIPTOGRAFI IDEA SKRIPSI Diajukan Untuk Melengkapi Tugas-Tugas dan Memenuhi Syarat-Syarat Guna Memperoleh Gelar Sarjana Strata Satu (S-1) OLEH ABDUL HANAN NIM : PROGRAM STUDI S.1 TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK U BUDIYAH INDONESIA BANDA ACEH 2013

2 LEMBAR PENYATAAN Saya menyatakan bahwa skripsi yang saya susun, sebagai syarat memperoleh gelar sarjana merupakan karya tulis saya sendiri. Adapun bagian-bagian tertentu dalam penulisan skripsi ini yang saya kutip dari hasil karya orang lain telah dituliskan sumbernya secara jelas sesuai dengan norma, kaidah, dan etika penulisan ilmiah. Saya bersedia menerima sanksi pencabutan gelar akademik yang saya peroleh dan sanksi-sanksi lainnya sesuai dengan peraturan yang berlaku, apabila dikemudian hari ditemukan adanya plagiat dalam skripsi ini. Banda Aceh, 19 Januari 2013 Yang membuat pernyataan, ABDUL HANAN Nim: iii

3 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 2 16, dan perkalian modulo 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

4 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 n-bit 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 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

5 KATA PENGANTAR Assalammu alaikum Wr, Wb Puji dan syukur penulis ucapkan kepada Allah SWT, dimana tanpa rahmat dan hidayah Nya penulis bukanlah siapa-siapa dan tidak mampu menjalani kehidupan ini dengan baik. Dengan semua yang diberikan Allah SWT kepada manusia semoga penulis dapat mematuhi perintah dan menjauhi larangan Allah SWT. Setelah melalui beberapa tahap pembelajaran dan pengorbanan pikiran,waktu, tenaga dan materi akhirnya penulis mendapat peluang untuk menulis proposal judul tugas akhir untuk menyelesaikan program studi Strata Satu (S1) jurusan Teknik Informatika di STMIK U budiyah Indonesia. Dalam proposal ini penulis menggambarkan pentingnya Sistem Enkripsi dan Deskripsi Data dengan Menggunakan Teori IDEA di dalam pelaksanaan kegiatan baik perusahaan maupun instansi pemerintah. Pada kesempatan ini, tidak lupa penulis mengucapkan terimakasih yang sebesarbesarnya kepada : 1. Bapak DR. M. Amin Haris selaku Ketua STMIK U budiyah Indonesia, yang telah memberikan penulis kesempatan untuk menuntut ilmu di lembaga yang dipimpinnya. 2. Bapak Muslim, S. Si., M. Info Tech selaku Ketua Prodi Teknik Informatika, yang telah membantu dalam proses pembelajaran sampai selesainya pendidikan yang penulis tempuh. 3. Bapak Hendra Fajri, S. Kom sebagai Dosen Pembimbing pembimbing yang telah membimbing dari awal hingga selesainya penulisan tugas akhir ini. 4. Staff Dosen, yang telah memberikan ilmu pengetahuan, sehingga penulis mampu menyelesaikan pendidikan di STMIK U budiyah Indonesia 5. Bapak dan Ibu tercinta yang telah mendidik dan membesarkan saya dengan penuh pengorbanan dan kasih sayang. 6. Istri dan Anak saya tercinta, yang telah memberikan motivasi serta telah meluangkan waktu, tenaga, dan pikiran kepada saya sehingga selesainya pendidikan sarjana Strata 1 (S1) saya. 7. Ibu Ina dan staff BAAK yang telah banyak membantu dalam menuntut ilmu di STMIK U budiyah Indonesia. 8. Bapak Drs. M. Yusra, SP, selaku atasan yang telah banyak memberikan dorongan dan semangat, sehingga terlaksananya pendidikan. iv

6 Muharram, ST, selaku teman dan rekan kerja yang telah membantu dalam proses penulisan tugas akhir ini. 9. Teman-teman serta rekan kerja yang telah mendukung dalam penyelesaian tugas akhir. Mudah-mudahan visi dan misi STMIK U budiyah Indonesia akan terwujud sebagai kesuksesan dalam membina mahasiswanya untuk mengikuti kemajuan teknologi yang padasaat ini semakin berkembang. Penulis menyadari tugas akhir ini masih banyak kekurangan sehingga saran dan kritik pembaca merupakan masukan yang sangat berguna, Semoga laporan tugas akhir ini dapat berguna bagi penulis sendiri juga bagi yang yang membutuhkan. v

7 DAFTAR ISI JUDUL TUGAS AKHIR HALAMAN PENGESAHAN... i LEMBAR PERSETUJUAN... ii LEMBAR PERNYATAAN... iii KATA PENGANTAR... iv ABSTRAK... vi DAFTAR ISI... vii DAFTAR GAMBAR... xi DAFTAR TABEL... xii BAB I PENDAHULUAN Latar Belakang Masalah Rumusan Masalah Batasan Masalah Maksud dan Tujuan Penelitian Manfaat Penelitian... 2 BAB II TINJAUAN PUSTAKA Sejarah Kriptografi Kriptografi Terminologi Tujuan Kriptografi Aplikasi Kriptografi Komunikasi Aman (Secure Communication) Identifikasi dan Otentikasi Secret Sharing Sertifikasi (Certification) Penemuan Kunci (Key Recovery) vii

8 2.4 Jenis-Jenis Kriptografi Kriptografi Kunci Simetris Block Cipher Stream Cipher Desain Cipher Kriptografi Kunci Asimetris Landasan Matematika Kriptografi Aritmatika Modulo Invers Perkalian Invers Penjumlahan Operasi XOR Permutasi (Permutation) Pergeseran Bit (Shift) Rotasi Bit (Rotate) Perkalian Modulo Algoritma IDEA Sejarah Algoritma IDEA Arsitektur Umum Prosesor Kriptografi IDEA Kekuatan Algoritma IDEA Kelebihan Algoritma IDEA Algoritma IDEA BAB III METODELOGI PENELITIAN Data Penelitian Alat-Alat Yang Digunakan Perangkat Lunak Perangkat Keras Proses Enkripsi Algoritma IDEA Proses Dekripsi Algoritma IDEA Flowchart Sistem Dengan Menggunakan Algoritma IDEA viii

9 3.6 Proses Perancangan dan Analisa BAB IV ANALISA DAN PEMBAHASAN Analisa Algoritma IDEA Analisa Permasalahan Algoritma IDEA Analisa Kebutuhan Algoritma IDEA Pemodelan Fungsional Perancangan Sistem Perancangan Data Perancangan Struktur Program Perancangan Prosedure Proses Enkripsi Dengan Algoritma IDEA Proses Dekripsi Dengan Algoritma IDEA Diagram Sistem DFD (Data Flow Diagram) Diagram Konteks DFD Level DFD Level 2 Proses P.2 (Proses Enkripsi) DFD Level 2 Proses P.3 (Proses Dekripsi) Implementasi Implementasi Sistem Proses Enkripsi Proses Dekripsi User Interface Halaman Utama Form Encrip Data Form Descrip Data BAB V KESIMPULAN DAN SARAN Kesimpulan Saran ix

10 DAFTAR PUSTAKA LAMPIRAN BIO DATA PENULIS x

11 DAFTAR GAMBAR Gambar 2.1 Scytale... 4 Gambar 2.2 Proses Enkripsi/Dekripsi Public Key Cryptography Gambar 2.3 Arsitektur Prosesor Kriptografi IDEA Gambar 3.1 Flowchart Sistem Proses Enkripsi Algoritma IDEA Gambar 3.2 Flowchart Sistem Proses Dekripsi Algoritma IDEA Gambar 4.1 Bagan Struktur Program Gambar 4.2 Diagram Rancangan Proses Enkripsi dan Dekripsi Data Gambar 4.3 Diagram konteks Sistem Algoritma IDEA Gambar 4.4 DFD Level Gambar 4.5 DFD Level 2 Proses P.2 (Proses Enkripsi) Gambar 4.6 DFD Level 2 Proses P.3 (Ptoses Dekripsi) Gambar 4.7 Halaman Utama Gambar 4.8 Form Rancangan Proses Enkripsi Gambar 4.9 Form Rancangan Proses Dekripsi xi

12 DAFTAR TABLE Table 2.1 Aturan Operasi XOR Table 2.2 Permutasi 16 bit Table 2.3 Contoh Menggunakan Permutasi Table 2.4 Hasil Permutasi Table 3.1 Proses Dekripsi Table 4.1 Nilai ASCII dari Planteks dan Kunci Enkripsi Table 4.2 Langkah Proses Enkripsi Table 4.3 Proses Transformasi Enkripsi Table 4.4 Nilai ASCII dari Chiperteks Table 4.5 Langkah Proses Dekripsi Table 4.6 Proses Transformasi Dekripsi xii

13 BAB I PENDAHULUAN 1.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 1

14 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 ( Multiplication module ) dan operasi penambahan Mod 2 16 (Addition Modulo 2 16 ). 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. 1.2 RUMUSAN MASALAH Dari latar belakang diatas, penulis membuat suatu perumusan masalah yaitu bagaimana merancang perangkat lunak kriptografi dengan algoritma IDEA (International Data Encryption Algorithm). 1.3 BATASAN MASALAH Adapun batasan masalah dalam merancang perangkat lunak ini adalah : 1. Data yang akan di enkripsi berbentuk teks. 2. Perangkat lunak tidak menampilkan tahap-tahap konversi bilangan ke dalam bilangan biner 3. Menggunakan Bahasa pemrograman Visual Basic 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). 1.5 MANFAAT PENELITIAN Dari hasil perancangan perangkat lunak ini, diharapkan perangkat lunak kriptografi ini dapat mengamankan sebuah data/tulisan yang bersifat penting dan rahasia supaya tidak di ketahui oleh orang lain. 1

15 BAB II TINJAUAN PUSTAKA 2.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. 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. 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. 3

16 4 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. Gambar 2.1 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

17 5 yang paling terkenal dalam sejarah dan tetap menjadi standar pengamanan data elektronik komersial pada kebanyakan institusi keuangan di seluruh dunia. 2.2 KRIPTOGRAFI Kriptografi berasal dari bahasa Yunani yakni kriptos yang artinya tersembunyi dan graphia yang artinya 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 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.

18 6 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 ). Sedangkan proses mengembalikan cipherteks menjadi plainteks semula disebut dekripsi (decryption) atau deciphering (standard nama menurut ISO ). 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

19 7 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 sebanyak-banyaknya 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 Tujuan Kriptografi 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 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.

20 8 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 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 (ecommerce), sertifikasi, electronic mail yang aman, penemuan kunci dan akses komputer yang aman. Secara umum, makin sederhana aplikasi makin cepat menjadi realita 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

21 9 (menyadap) pembicaraan antar kedua pihak tadi mungkin tidak pernah mengembalikan pesan dalam bentuk acak ke dalam bentuk yang berarti Identifikasi dan Otentikasi 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. 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 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

22 10 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) 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 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 penegak 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.4 JENIS-JENIS KRIPTOGRAFI Berdasarkan kunci yang dipakai untuk enkripsi dan dekripsi, kriptografi dapat dibedakan atas dua golongan, yaitu :

23 11 1. Kriptografi Kunci Simetris (symmantric key cryptography ) 2. Kriptografi Kunci Asimetris (Asymmetric key cryptography) 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 berorientasi 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 Block Cipher 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

24 12 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 sifat-sifat 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 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 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

25 13 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 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 Kriptografi kunci publik memiliki dua penggunaan utama, yakni enkripsi dan tanda tangan digital (encryption and digital 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

26 14 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. Kunci Umum Kunci Pribadi Plaintext Enkripsi Chipertext Dekripsi Plaintext Gambar 2.2 Proses Enkripsi/Dekripsi Public Key Cryptography 2.5 LANDASAN MATEMATIKA KRIPTOGRAFI Aritmatika Modulo 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

27 15 operasi perkalian modulo Operasi modulo ini melibatkan bilangan 0 dan 1 saja sehingga identik dengan bit pada komputer. Contohnya: ( ) mod 2 16 = mod = 4 (32675 * 4) mod ( ) = mod = Invers 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 = 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 Inverse = V0 + n End If End Fungsi Contoh: Misalkan untuk A = 3265, maka proses kerjanya adalah sebagai berikut : n = GO = 65537

28 16 G1 = 3265 VO = 0 V1 = 1 While 3265 <> 0 --> BENAR Y = Int(65537/3265) = 20 G2 = * 3265 = 237 G0 = 3265 G1 = 237 V2 = 0-20*1 = -20 V0 = 1 V1 = -20 While 237 <> 0 --> BENAR Y = Int(3265/237) = 13 G2 = * 237 = 184 G0 = 237 G1 = 184 V2 = 1-13*-20 = 261 V0 = -20 V1 = 261 While 184 <> 0 --> BENAR Y = Int(237/184) = 1 G2 = * 184 = 53 G0 = 184 G1 = 53 V2 = -20-1*261 = -281 V0 = 261 V1 = -281 While 53 <> 0 --> BENAR Y = Int(184/53) = 3 G2 = * 53 = 25 G0 = 53 G1 = 25 V2 = 261-3*-281 = 1104 V0 = -281 V1 = 1104 While 25 <> 0 --> BENAR Y = Int(53/25) = 2 G2 = 53-2 * 25 = 3

29 17 G0 = 25 G1 = 3 V2 = *1104 = V0 = 1104 V1 = While 3 <> 0 --> BENAR Y = Int(25/3) = 8 G2 = 25-8 * 3 = 1 G0 = 3 G1 = 1 V2 = *-2489 = V0 = V1 = While 1 <> 0 --> BENAR Y = Int(3/1) = 3 G2 = 3-3 * 1 = 0 G0 = 1 G1 = 0 V2 = *21016 = V0 = V1 = While 0 <> 0 --> SALAH, MAKA KELUAR DARI LOOPING. If (21016 >= 0) --> BENAR Invers = Jadi inverse perkalian dari 3265 adalah Invers Penjumlahan Inverse penjumlahan dalam metode IDEA menggunakan algoritma berikut ini: Contoh : Inverse penjumlahan = pnbil Inverse penjumlahan dari adalah = 32882

30 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 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. Berikut ini adalah contoh operasi XOR : 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 :

31 19 Table 2.2 Tabel Permutasi 16 Bit Diberikan 1 baris bit sebagai berikut : Terhadap barisan bit tersebut akan dilakukan permutasi menggunakan tabel permutasi sebagai berikut : Table 2.3 Contoh Menggunakan Permutasi Bit ke Bit Tabel 2.4 Hasil permutasi Bit ke Bit 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, 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 : << 1 : << 2 :

32 20 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 : >> 1 : >> 2 : 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 : <<< 1 : <<< 2 : <<< 3 : 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 : >>> 1 : >>> 2 : >>> 3 :

33 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 ( ) adalah sebuah bilangan prima. Oleh karena itu, operasi perkalian modulo ( ) 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 = mod = (3154 * 25) mod = mod = ALGORITMA IDEA Sejarah Algoritma IDEA 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) Arsitektur Umum Prosesor Kriptografi IDEA Pada gambar berikut diperlihatkan arsitektur atau penggambaran umum sebuah processor yang mengolah sistem keamanan data dengan menggunakan

34 22 algoritma IDEA. Makalah Perbandingan Algoritma IDEA dengan DES (Stevens Jethefer) : Gambar 2.3 Arsitektur Prosesor Kriptografi IDEA Keterangan : 1. Blok Penyandi IDEA Blok ini berfungsi untuk melakukan proses penyandian data. Jika subkunci 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.

35 23 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 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 Kekuatan Algoritma IDEA Makalah Perbandingan Algoritma IDEA dengan DES (Stevens Jethefer) IDEA menunjukkan dirinya sendiri bahwa algoritma yang kebal menghadapi berbagai serangan dari para kriptanalisis dengan asumsi tertentu. Pembuat dari algoritma ini mengetahui kelemahan dari DES dan mencoba memperbaikinya dan membuat suatu algoritma yang lebih kebal/tangguh terhadap berbagai jenis serangan. Pada tahun 1992, Joan Daemen menemukan sebuah kelas yang merupakan titik lemah dari kunci. Contoh kunci berikut ini, k = 0000,0000,0x00,0000,0000,000x,xxxx,x000 dalam bentuk hexadecimal akan menjadi lemah/rentan terhadap serangan, artinya adalah seorang kriptanalisis dapat mengidentifikasi kunci ini dengan satu serangan pada plaintext yang sudah terpilih. Posisi x dapat memiliki nilai apapun dalam hexadecimal. Kemungkinan dari tipe kunci yang seperti ini dapat digunakan adalah hanya 1 sampai 296, dan itu semua mungkin terjadi. Namun hal ini juga bisa

36 24 dihindari dengan melakukan proses desain yang baik. Sampai tahun 2004, serangan terbaik yang dapat dilakukan pada semua kunci yang dapat memecahkan IDEA dilakukan di bawah putaran ke-5 (algoritma IDEA yang penuh menggunakan 8.5 putaran). Pada tahun 1996, Bruce Schneier sangat memandang tinggi IDEA, beliau menulis, "Menurut saya, IDEA merupakan algoritma blok-chiper yang terbaik dan paling aman yang tersedia pada masyarakat luas pada saat ini." (Applied Cryptography, 2nd ed.) Akan tetapi, pada tahun 1999 dia tidak lagi merekomendasikan algoritma IDEA dikarenakan ketersediaan dari algoritma lain yang lebih cepat, beberapa perkembangan para kriptanalisis, dan munculnya hak paten pada IDEA. Sampai saat ini, serangan apapun pada sistem yang menggunakan algoritma kriptografi IDEA baik secara aljabar maupun linear masih belum diketahui oleh para kriptanalisis. Pada tahun 1997, Joan Daemen and Vincent Rijmen akan menciptakan RIJNDAEL, sebuah standar NIST yang baru pada akhir tahun 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.

37 Algoritma IDEA 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 c. Perkalian modulo (operasi ini menggantikan kotak-s atau S-Box). Algoritma IDEA (International Data Encryption Algorithm) menggunakan perkalian modulo 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 ( ) adalah sebuah bilangan prima. Oleh karena itu, operasi perkalian modulo ( ) 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 Algoritma 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 dua bagian besar, yaitu enkripsi dan dekripsi.

38 BAB III METODELOGI PENELITIAN 3.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. 3.2 ALAT-ALAT YANG DIGUNAKAN Adapun alat-alat yang digunakan dalam melakukan penelitian ini adalah: Perangkat Lunak Adapun perangkat lunak yang akan digunakan dalam penelitian ini adalah: 1. Microsoft Windows 7 2. Microsoft Word Microsoft Visio Visual Basic Perangkat Keras Adapun perangkat keras yang digunakan dalam penelitian ini adalah: 1. Processor Intel Core i5 Turbo Baster 2. RAM 2 GB 3. HDD 500 GB 4. Mouse

39 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. Kalikan X1 dengan K1 mod ( ). 2. Tambahkan X2 dengan K2 mod Tambahkan X3 dengan K3 mod Kalikan X4 dengan K4 mod ( ). 5. XOR hasil dari step 1 dan XOR hasil dari step 2 dan Kalikan hasil dari step 5 dengan K5 mod ( ). 8. Tambahkan hasil dari step 6 dan 7 mod Kalikan hasil dari step 8 dengan K6 mod ( ). 10. Tambahkan hasil dari step 7 dan 9 mod XOR hasil dari step 1 dan XOR hasil dari step 3 dan XOR hasil dari step 2 dan 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 Setelah 8 putaran, akan dilakukan tranformasi output berikut, 1. Kalikan X1 dengan subkey K1 mod ( ). 2. Tambahkan X2 dengan subkey K2 mod Tambahkan X3 dengan subkey K3 mod Kalikan X4 dengan subkey K4 mod ( ).

40 PROSES DEKRIPSI ALGORITMA IDEA 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-inverse-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. Table 3.1 Proses Dekripsi 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) Transfor masi output K1(9) K2(9) K3(9) K4(9) K1(1) -1 -K2(1) -K3(1) K4(1) 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 dekripsi.

41 29 START INPUT PLAIN TEXT DAN KUNCI MENGAMBIL VARIABEL PLAIN TEXT DAN KUNCI JIKA VARIBLE MEMENUHI SYARAT Xn & Kn TIDAK YA TIDAK BLOCK KUNCI =1 YA PROSES VARIABLE DENGAN FORMULA ENKRIPSI CHIPER TEKS & INFORMASI PROSES ENKRIPSI SELESAI Gambar 3.1 Flowchart Sistem Proses Enkripsi Algoritma IDEA

42 30 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 TIDAK BLOCK KUNCI =1 YA PROSES VARIABLE DENGAN FORMULA DENKRIPSI PLAIN TEKS & INFORMASI PROSES DEKRIPSI SELESAI Gambar 3.2 Flowchart Sistem Proses Dekripsi Algoritma IDEA

43 Proses Perancangan dan Analisa Pada penelitian ini pendekatan yang digunakan dalam pembangunan sistem ini adalah terstruktur. Perancangan dari bentuk kerja sistem di lakukan dengan menggunakan DFD. Pengambaran DFD secara lengkap akan di perlihatkan di dalam bab IV.

44 BAB IV ANALISA DAN PEMBAHASAN 4.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 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 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

45 33 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 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.2 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 e k (M) = C... ( 1) 2. Proses Deskripsi d k (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

46 34 Pada proses enkripsi, terdapat tiga operasi yang berbeda untuk pasangan sub-blok 16-bit yang digunakan, sebagai berikut : - XOR dua sub-blok 16-bit bir per bit - Penjumlahan integer modul ( ) dua sub-blok 16-bit, dimana kedua sub-blok itu dianggap sebagai representasi biner dari integer biasa, - Perkalian modulo ( ) 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 2 16 Blok pesan terbuka dengan lebar 64-bit, X, dibagi menjadi 4 sub-blok 16- bit, X 1, X 2, X 3, X 4, sehingga X = (X 1, X 2, X 3, X 4 ). Keempat sub-blok 16-bit itu ditransformasikan menjadi sub-blok 16-bit, Y1, Y 2, Y 3, Y 4, sebagai pesan rahasia 64-bit Y = (Y 1, Y 2, Y 3, Y 4 ) yang berada dibawah kendali 52 sub_blok kunci 16-bit yang dibentuk dari dari blok kunci 128 bit. Keempat sub-blok 16-bit, X 1, X 2, X 3, X 4, 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 16-bit. Berikut contoh perhitungan enkripsi dan deskripsi secara manual dengan variable Plain Text bernilai abcdefgh dan kunci bernilai Nilai konversi karakter ke binary Table 4.1 Nilai ASCII dari Plainteks dan Kunci Enkripsi Char Desimal Binary a b c d e f g h

47 Kemudian Kunci digabung menjadi seperti ini Kunci dipecah menjadi 8 kelompok KE1 (Putaran 1) = KE2 (Putaran 1) = KE3 (Putaran 1) = KE4 (Putaran 1) = KE5 (Putaran 1) = KE6 (Putaran 1) = KE1 (Putaran 2) = KE2 (Putaran 2) = Selanjutnya dilakukan rotasi ke kiri sebanyak 25 karakter ( ,25) = Kemudian menghasilkan kunci baru sebagai berikut: KE3 (Putaran 2) = KE4 (Putaran 2) = KE5 (Putaran 2) = KE6 (Putaran 2) = KE1 (Putaran 3) = KE2 (Putaran 3) = KE3 (Putaran 3) = KE4 (Putaran 3) = Begitu seterusnya sampai 6 kali putaran, sampai pada putaran ke 7 hanya 4 pecahan kunci terakhir yang digunakan sehingga menjadi: KE1 (Transformasi Output) = = X1 KE2 (Transformasi Output) = = X2 KE3 (Transformasi Output) = = X3 KE4 (Transformasi Output) = = X4

48 36 Ini adalah sebuah kunci yang nantinya akan digunakan untuk perhitungan enkripsi dan deskripsi. A. Proses Enkripsi Pada proses enkripsi ini dilakukan perhitungan 8 kali putaran dengan setiap putarannya dilakukan sebagai berikut: Table 4.2 Langkah Proses Enkripsi L Rumus Nilai Proses Hasil Proses 1 (X1 * K1) mod (2^16 + 1) * mod (2^16 + 1) 2 (X2 + K2) mod 2^ mod 2^16 3 (X3 + K3) mod 2^ mod 2^16 4 (X4 * K4) mod (2^16 + 1) * mod (2^16 + 1) 5 L#1 XOR L# XOR L#2 XOR L# XOR (L#5 * K5) mod (2^16 + 1) * mod (2^16 + 1) 8 (L#6 + L#7)) mod 2^ mod 2^16 9 (L#8 * K6) mod (2^16 + 1) * mod (2^16 + 1) 10 (L#7 + L#9)) mod 2^ mod 2^16 11 L#1 XOR L# XOR L#3 XOR L# XOR L#2 XOR L# XOR L#4 XOR L# XOR Kemudian 4 langkah terakhir 11,12,13,14 menjadi nilai X1,X2,X3,X4 untuk proses selanjutnya. Begitu seterusnya sampai 8 putaran. Sehingga diperoleh nilai transformasi dari perhitungan ini: X1 = L#11 = X2 = L#13 = X3 = L#12 = X4 = L#14 = Nilai-nilai ini kemudian ditransformasikan dengan rumus seperti ini:

49 37 Table 4.3 Proses Transformasi Enkripsi Y Rumus Nilai Proses Hasil Proses 1 (X1 * K1) mod (2^16 + 1) * mod (2^16 + 1) 2 (X2 + K2) mod 2^ mod 2^16 3 (X3 + K3) mod 2^ mod 2^16 4 (X4 * K4) mod (2^16 + 1) * mod (2^16 + 1) Hasil Proses (Binary) kemudian diterjemahkah kedalam bentuk karakter ascii sehingga menjadi: Y1 = = a Y2 = = l Y3 = = P} Y4 = = D Ini hasil akhir dari proses perhitungan enkripsi sehingga menghasilkan sebuah Cipher text dengan nilai a lp}d B. Proses Deskripsi Pada dasarnya proses yang dilakukan untuk deskripsi ini hampir sama dengan proses enkripsi, terdapat sedikit perbedaan pada 52 buah sub-blok kunci yang digunakan masing-masing merupakan hasil turunan 52 buah sub-blok kunci enkripsi. Berikut bentuk perhitungan manual untuk desckripsi dengan nilai chipper text a lp}d dan kunci Nilai konversi chipper text Table 4.4 Nilai ASCII dari Chiperteks Char Desimal Binary A L } D

50 38 2. Proses Perhitungan berikutnya sama dengan proses enkripsi yaitu menggunakan rumus-rumus sebanyak 8 kali putaran sebagai berikut: Table 4.5 Langkah Proses Dekripsi L Rumus Nilai Proses Hasil Proses 1 (X1 * K1) mod (2^16 + 1) * mod (2^16 + 1) 2 (X2 + K2) mod 2^ mod 2^16 3 (X3 + K3) mod 2^ mod 2^16 4 (X4 * K4) mod (2^16 + 1) * mod (2^16 + 1) 5 L#1 XOR L# XOR L#2 XOR L# XOR (L#5 * K5) mod (2^16 + 1) * mod (2^16 + 1) 8 (L#6 + L#7)) mod 2^ mod 2^16 9 (L#8 * K6) mod (2^16 + 1) * mod (2^16 + 1) 10 (L#7 + L#9)) mod 2^ mod 2^16 11 L#1 XOR L# XOR L#3 XOR L# XOR L#2 XOR L# XOR L#4 XOR L# XOR Kemudian 4 langkah terakhir 11,12,13,14 menjadi nilai X1,X2,X3,X4 untuk proses selanjutnya. Begitu seterusnya sampai 8 putaran. Sehingga diperoleh nilai transformasi dari perhitungan ini: X1 = L#11 = X2 = L#13 = X3 = L#12 = X4 = L#14 = Nilai-nilai ini kemudian ditransformasikan dengan rumus seperti ini:

51 39 Table 4.6 Proses Transformasi Dekripsi Y Rumus Nilai Proses Hasil Proses 1 (X1 * K1) mod (2^16 + 1) * mod (2^16 + 1) 2 (X2 + K2) mod 2^ mod 2^16 3 (X3 + K3) mod 2^ mod 2^16 4 (X4 * K4) mod (2^16 + 1) * mod (2^16 + 1) Hasil Proses (Binary) kemudian diterjemahkah kedalam bentuk karakter ASCII sehingga menjadi: Y1 = = ab Y2 = = cd Y3 = = ef Y4 = = gh Ini hasil akhir dari proses perhitungan deskripsi sehingga menghasilkan sebuah Plain Text dengan nilai abcdefgh. Dengan demikian inilah yang menjadi dasar dari perancangan data dan variable yang akan diterapkan dalam system aplikasi IDEA nantinya 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. 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.

52 40 JUDUL PROGRAM BLOCK PROGRAM BAGIAN DEKLARASI FUNGSI-FUNGSI DAN VARIBEL EKSEKUSI PROSEDUR- PROSEDUR BAGIAN PERNYATAAN DAN PENERAPAN FUNGSI IF THEN END IF Gambar 4.1 Bagan Struktur Program Pada bagian deklasi fungis-fungsi dan variabel terdapat beberapa fungsi yang digunakan dalam program sebagai berikut: 1. FBiner2Dec (Fungsi untuk merubah nilai-nilai binary ke dalam bentuk decimal) 2. FDec2Biner (Fungsi untuk merubah nilai-nilai decimal ke dalam bentuk binary) 3. FMod (Fungsi untuk mengitung XOR sebuah nilai 4. GetIDEAKey (Fungsi untuk menghitung dan menghasilkan kunci IDEA) 5. FRotateLeftShift (Fungsi untuk merotasi nilai binary) 6. SpyRound (Fungsi untuk membulatkan perhitungan decimal) 7. Inverse (Fungsi untuk proses membalikkan nilai binary) 8. FMinus (Fungsi untuk menghitung pengurangan nilai binary) 9. Proses_Enkrip (Fungsi untuk menghitung enkripsi data) 10. Proses_Deskrip (Fungsi untuk menghitung deskripsi data) 11. Dll Inilah sebagian fungsi-fungsi yang akan diterapkan dalam program kriptografi IDEA ini.

53 Perancangan Prosedural Perancangan prosedural terjadi setelah perancangan data, perancangan struktur program diselesaikan. Dalam dunia nyata, spesifikasi prosedural diperlukan untuk menetapkan detail algoritma yang akan digunakan dalam suatu bahasa, seperti bahasa Indonesia. Sayangnya, ada satu masalah kecil, yakni perancangan prosedural harus menentukan detail desain, procedural tanpa ada ambiguitas. Oleh karena itu, untuk menghindari adanya ambiguitas pada perancangan prosedural, perancangan prosedural perangkat lunak Kript IDEA (International Data Encryption Algorithm) menggunakan algoritma dan flowchart. Pada perangkat lunak Kript IDEA, terdapat dua prosedur utama, yaitu prosedur Enkripsi dan prosedur Dekripsi. Dalam procedure enkripsi ini terdapat 2 (dua) varibel yang akan diproses untuk menghasilkan sebuah chiper text (Pecahan Symbol) yaitu variabel Plain Text dan Variabel Kunci (Key) Pada tahap awal, setelah Plain Teks dan Kunci dimasukkan maka program akan menghitung berapa banyak karakter yang dimasukkan dalam plainteks dan kunci untuk selanjutnya diciptakan sebuah blok proses perhitungan. Dengan ketentuan bahwa setiap 1 blok terdapat 8 karakter plaintext dan 16 karakter kunci. Proses perhitungan blok ini terdapat dalam proses_kunci. Kemudian system akan menerjemahkan karekter yang diinput tadi kedalam bentuk binary untuk masing-masing variable. Dalam hal ini untuk plain teks terdapat proses yang disebut dengan prosespbin. Dan untuk variable kunci dengan nama proseskbin. Setelah semua kriteria untuk enkripsi ini memenuhi maka system akan melakukan sebuah prosedur yang disebut dengan Proses_Encryp. Dimana didalamnya terdapat rumus-rumus dan urutan baku dalam proses enkripsi data. Hasil akhir dari enkripsi ini membentuk sebuah variable baru dengan nama chipper text. Selanjutnya untuk proses deskripsi langkah-langkahnya kurang lebih sama dengan proses enkripsi, hanya membedakan pada variable inputan awal, pada deskripsi plain text sudah berubah menjadi chipper text. Symbol-simbol pada chipper text ini kemudian dirubah kedalam bentuk binary, untuk selanjutnya

54 42 dihitung (dideskrip) dengan menggunakan rumus-rumus yang telah di tanam dalam procedure proses_descript Proses Enkripsi Algoritma IDEA Enkripsi adalah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Berikut ini adalah listing program untuk proses Enkripsi dengan menggunakan Algoritma IDEA: Sub Proses_Encryp() On Error Resume Next Dim i, crow As Integer Dim jlhbaris As Integer Dim btmp As Double Dim tmphasil As String Dim jlhx As Integer Dim X1, X2, X3, X4 As String Dim proses As Integer jlhx = (msfp.rows - 1) * 2 proses = (jlhx / 8) * 14 L1 = "" L2 = "" L3 = "" L4 = "" L5 = "" L6 = "" L7 = "" L8 = "" L9 = "" L10 = "" L11 = "" L12 = "" L13 = "" L14 = "" btmp = 0 tmphasil = "" frmmaster.xf.caption = "Informasi Enkripsi Data:" 'frmmaster.txtinfo.text = "" i = 0 For i = 1 To val(txtjlh.text) frmmaster.txtinfo.text = frmmaster.txtinfo.text & Chr(13) & " PUTARAN " & i & " " & Chr(13) With frminfopkunci.msf jlhbaris =.Rows - 1 Screen.MousePointer = vbhourglass For crow = 1 To proses Select Case crow

55 43 Case 1.TextMatrix(cRow, 1) = "(X1 * K1) mod (2^16 + 1) =(" & msfp.textmatrix(crow, 1) & " * " & msfk.textmatrix(crow, 1) & ") mod (2^16 + 1)" btmp = FBiner2Dec(msfp.TextMatrix(cRow, 1)) * FBiner2Dec(msfk.TextMatrix(cRow, 1)) tmphasil = FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L1 = tmphasil.textmatrix(crow, 2) = tmphasil Case 2.TextMatrix(cRow, 1) = "(X2 + K2) mod 2^16 =" & msfp.textmatrix(crow, 1) & " + " & msfk.textmatrix(crow, 1) & ") mod (2^16)" btmp = FBiner2Dec(msfp.TextMatrix(cRow, 1)) + FBiner2Dec(msfk.TextMatrix(cRow, 1)) tmphasil = FDec2Biner(FMod(bTmp, 2 ^ 16), 16) L2 = tmphasil.textmatrix(crow, 2) = tmphasil Case 3.TextMatrix(cRow, 1) = "(X3 + K3) mod 2^16 =" & msfp.textmatrix(crow, 1) & " + " & msfk.textmatrix(crow, 1) & ") mod (2^16)" btmp = FBiner2Dec(msfp.TextMatrix(cRow, 1)) + FBiner2Dec(msfk.TextMatrix(cRow, 1)) tmphasil = FDec2Biner(FMod(bTmp, 2 ^ 16), 16) L3 = tmphasil.textmatrix(crow, 2) = tmphasil Case 4.TextMatrix(cRow, 1) = "(X4 * K4) mod (2^16 + 1) =(" & msfp.textmatrix(crow, 1) & " * " & msfk.textmatrix(crow, 1) & ") mod (2^16 + 1)" btmp = FBiner2Dec(msfp.TextMatrix(cRow, 1)) * FBiner2Dec(msfk.TextMatrix(cRow, 1)) tmphasil = FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L4 = tmphasil.textmatrix(crow, 2) = tmphasil Case 5.TextMatrix(cRow, 1) = "L#1 XOR L#3 =" & Trim(L1) & " XOR " & Trim(L3) tmphasil = FXORBiner(Trim(L1), Trim(L3), 16) L5 = tmphasil.textmatrix(crow, 2) = tmphasil Case 6.TextMatrix(cRow, 1) = "L#2 XOR L#4 =" & Trim(L2) & " XOR " & Trim(L4) tmphasil = FXORBiner(Trim(L2), Trim(L4), 16) L6 = tmphasil.textmatrix(crow, 2) = tmphasil

56 44 Case 7.TextMatrix(cRow, 1) = "(L#5 * K5) mod (2^16 + 1) =" & L5 & " * " & msfk.textmatrix(crow - 2, 1) & " mod (2^16 + 1)" btmp = FBiner2Dec(Trim(L5)) * FBiner2Dec(msfk.TextMatrix(cRow - 2, 1)) tmphasil = FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L7 = tmphasil.textmatrix(crow, 2) = tmphasil Case 8.TextMatrix(cRow, 1) = "(L#6 + L#7)) mod 2^16 =" & L6 & " + " & L7 & "mod 2^16" btmp = FBiner2Dec(Trim(L6)) + FBiner2Dec(Trim(L7)) tmphasil = FDec2Biner(FMod(bTmp, 2 ^ 16), 16) L8 = tmphasil.textmatrix(crow, 2) = tmphasil Case 9.TextMatrix(cRow, 1) = "(L#8 * K6) mod (2^16 + 1) =" & L8 & " * " & msfk.textmatrix(crow - 3, 1) btmp = FBiner2Dec(Trim(L8)) * FBiner2Dec(msfk.TextMatrix(cRow - 3, 1)) tmphasil = FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L9 = tmphasil.textmatrix(crow, 2) = tmphasil Case 10.TextMatrix(cRow, 1) = "(L#7 + L#9)) mod 2^16 =" & L7 & " + " & L9 & "mod 2^16" btmp = FBiner2Dec(Trim(L7)) + FBiner2Dec(Trim(L9)) tmphasil = FDec2Biner(FMod(bTmp, 2 ^ 16), 16) L10 = tmphasil.textmatrix(crow, 2) = tmphasil Case 11.TextMatrix(cRow, 1) = "L#1 XOR L#9 =" & L1 & " XOR " & L9 tmphasil = FXORBiner(Trim(L1), Trim(L9), 16) L11 = tmphasil.textmatrix(crow, 2) = tmphasil Case 12.TextMatrix(cRow, 1) = "L#3 XOR L#9 =" & L3 & " XOR " & L9 tmphasil = FXORBiner(Trim(L3), Trim(L9), 16) L12 = tmphasil.textmatrix(crow, 2) = tmphasil Case 13.TextMatrix(cRow, 1) = "L#2 XOR L#10 =" & L2 & " XOR " & L10 tmphasil = FXORBiner(Trim(L2), Trim(L10), 16) L13 = tmphasil.textmatrix(crow, 2) = tmphasil

57 45 End Sub Case 14.TextMatrix(cRow, 1) = "L#4 XOR L#10 =" & L4 & " XOR " & L10 tmphasil = FXORBiner(Trim(L4), Trim(L10), 16) L14 = tmphasil.textmatrix(crow, 2) = tmphasil End Select Next crow d_grid End With Next i Screen.MousePointer = vbdefault Call transform Berikut ini adalah proses yang terjadi pada proses Enkripsi dengan Algoritma IDEA adalah : 1. Menginput plaintekt dan kunci 2. Ubah biner 3. Lakukan proses berikut untuk sampai 8 putaran 1. Set nilai i = 1 2. Lakukan proses untuk nilai i = 4 Proses yang akan dilakukan Cek apakah nilai i = 2 atau i = 3 Jika ya L#i = Xi+Ki mod Jika tidak L#i = Xi*Ki mod Lakukan proses XOR L#5 = L#1 XOR L#3. L#6 = L#2 XOR L#4. 4. Selanjutnya lakukan proses L#7 = (L#5*K5) mod L#8 = (L#6+L#7) mod 2 16 L#9 = (L#8*K6) mod L#10 = (L#7+L#9) mod Set untuk nilai i=1. 6. Lakukan proses XOR sampai nilai i = 4. Proses yang akan dilakukan

58 46 IF i = 1, maka Xi = L#1 XOR L#9 Jika tidak IF i = 2, maka Xi = L#3 XOR L#9 Jika tidak IF i = 3, maka Xi = L#2 XOR L#10 Jika tidak Xi = L#4 XOR L#10 4. Kemudian lakukan proses transformasi 1. Set nilai i = 1 2. Lakukan proses sampai nilai i = 4 Proses yang akan dilakukan Cek apakah i = 2 atau i = 3 Jika ya L#i = Xi+Ki Mod 2 16 Jika tidak L#i = Xi*Ki Mod Kemudian ubah hasil proses transformasi dari biner ke kode ASCII 1. Set 1 = 1 2. Lakukan perulangan sampai nilai i = 4 3. Yi = L#i 6. Kemudian di dapatkan hasil Chipertekt Y1+Y2+Y3+Y Proses Dekripsi Algoritma IDEA Dekripsi adalah proses mengembalikan suatu informasi dengan cara tertentu dan sesuai dengan algoritma enkripsi yang dipakai. Berikut ini adalah listing program untuk proses Dekripsi dengan menggunakan Algoritma IDEA: Sub Proses_Decryp() On Error Resume Next Dim i, crow As Integer Dim jlhbaris As Integer Dim btmp As Double Dim tmphasil As String Dim jlhx As Integer Dim X1, X2, X3, X4 As String Dim proses As Integer jlhx = (msfp.rows - 1) * 2 proses = (jlhx / 8) * 14

59 47 L1 = "" L2 = "" L3 = "" L4 = "" L5 = "" L6 = "" L7 = "" L8 = "" L9 = "" L10 = "" L11 = "" L12 = "" L13 = "" L14 = "" btmp = 0 tmphasil = "" frmmaster.xf.caption = "Informasi Deskripsi Data:" 'frmmaster.txtinfo.text = "" i = 0 For i = 1 To val(txtjlh.text) frmmaster.txtinfo.text = frmmaster.txtinfo.text & Chr(13) & "PUTARAN " & i & " " & Chr(13) With frminfopkunci.msf jlhbaris =.Rows - 1 Screen.MousePointer = vbhourglass For crow = 1 To proses Select Case crow Case 1.TextMatrix(cRow, 1) = "(X1 * K1) mod (2^16 + 1) =(" & msfp.textmatrix(crow, 1) & " * " & msfk.textmatrix(crow, 1) & ") mod (2^16 + 1)" btmp = FBiner2Dec(msfp.TextMatrix(cRow, 1)) * FBiner2Dec(msfk.TextMatrix(cRow, 1)) tmphasil = FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L1 = tmphasil.textmatrix(crow, 2) = tmphasil Case 2.TextMatrix(cRow, 1) = "(X2 + K2) mod 2^16 =" & msfp.textmatrix(crow, 1) & " + " & msfk.textmatrix(crow, 1) & ") mod (2^16)" btmp = FBiner2Dec(msfp.TextMatrix(cRow, 1)) + FBiner2Dec(msfk.TextMatrix(cRow, 1)) tmphasil = FDec2Biner(FMod(bTmp, 2 ^ 16), 16) L2 = tmphasil.textmatrix(crow, 2) = tmphasil Case 3.TextMatrix(cRow, 1) = "(X3 + K3) mod 2^16 =" & msfp.textmatrix(crow, 1) & " + " & msfk.textmatrix(crow, 1) & ") mod (2^16)" btmp = FBiner2Dec(msfp.TextMatrix(cRow, 1)) + FBiner2Dec(msfk.TextMatrix(cRow, 1)) tmphasil = FDec2Biner(FMod(bTmp, 2 ^ 16), 16) L3 = tmphasil.textmatrix(crow, 2) = tmphasil

60 48 Case 4.TextMatrix(cRow, 1) = "(X4 * K4) mod (2^16 + 1) =(" & msfp.textmatrix(crow, 1) & " * " & msfk.textmatrix(crow, 1) & ") mod (2^16 + 1)" btmp = FBiner2Dec(msfp.TextMatrix(cRow, 1)) * FBiner2Dec(msfk.TextMatrix(cRow, 1)) tmphasil = FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L4 = tmphasil.textmatrix(crow, 2) = tmphasil Case 5.TextMatrix(cRow, 1) = "L#1 XOR L#3 =" & Trim(L1) & " XOR " & Trim(L3) tmphasil = FXORBiner(Trim(L1), Trim(L3), 16) L5 = tmphasil.textmatrix(crow, 2) = tmphasil Case 6.TextMatrix(cRow, 1) = "L#2 XOR L#4 =" & Trim(L2) & " XOR " & Trim(L4) tmphasil = FXORBiner(Trim(L2), Trim(L4), 16) L6 = tmphasil.textmatrix(crow, 2) = tmphasil Case 7.TextMatrix(cRow, 1) = "(L#5 * K5) mod (2^16 + 1) =" & L5 & " * " & msfk.textmatrix(crow - 2, 1) & " mod (2^16 + 1)" btmp = FBiner2Dec(Trim(L5)) * FBiner2Dec(msfk.TextMatrix(cRow - 2, 1)) tmphasil = FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L7 = tmphasil.textmatrix(crow, 2) = tmphasil Case 8.TextMatrix(cRow, 1) = "(L#6 + L#7)) mod 2^16 =" & L6 & " + " & L7 & "mod 2^16" btmp = FBiner2Dec(Trim(L6)) + FBiner2Dec(Trim(L7)) tmphasil = FDec2Biner(FMod(bTmp, 2 ^ 16), 16) L8 = tmphasil.textmatrix(crow, 2) = tmphasil Case 9.TextMatrix(cRow, 1) = "(L#8 * K6) mod (2^16 + 1) =" & L8 & " * " & msfk.textmatrix(crow - 3, 1) btmp = FBiner2Dec(Trim(L8)) * FBiner2Dec(msfk.TextMatrix(cRow - 3, 1)) tmphasil = FDec2Biner(FMod(bTmp, (2 ^ 16) + 1), 16) L9 = tmphasil.textmatrix(crow, 2) = tmphasil Case 10.TextMatrix(cRow, 1) = "(L#7 + L#9)) mod 2^16 =" & L7 & " + " & L9 & "mod 2^16" btmp = FBiner2Dec(Trim(L7)) + FBiner2Dec(Trim(L9)) tmphasil = FDec2Biner(FMod(bTmp, 2 ^ 16), 16)

61 49 End Sub L10 = tmphasil.textmatrix(crow, 2) = tmphasil Case 11.TextMatrix(cRow, 1) = "L#1 XOR L#9 =" & L1 & " XOR " & L9 tmphasil = FXORBiner(Trim(L1), Trim(L9), 16) L11 = tmphasil.textmatrix(crow, 2) = tmphasil Case 12.TextMatrix(cRow, 1) = "L#3 XOR L#9 =" & L3 & " XOR " & L9 tmphasil = FXORBiner(Trim(L3), Trim(L9), 16) L12 = tmphasil.textmatrix(crow, 2) = tmphasil Case 13.TextMatrix(cRow, 1) = "L#2 XOR L#10 =" & L2 & " XOR " & L10 tmphasil = FXORBiner(Trim(L2), Trim(L10), 16) L13 = tmphasil.textmatrix(crow, 2) = tmphasil Case 14.TextMatrix(cRow, 1) = "L#4 XOR L#10 =" & L4 & " XOR " & L10 tmphasil = FXORBiner(Trim(L4), Trim(L10), 16) L14 = tmphasil.textmatrix(crow, 2) = tmphasil End Select Next crow d_grid End With Next i Screen.MousePointer = vbdefault Call transform Dimana proses yang terjadi pada proses dekripsi tidak jauh berbeda dengan proses enkripsi, berikut ini proses yang terjadi pada proses dekripsi adalah: 1. Pertama menginput chipertekt dan kunci. Dimana kunci yang di input pada proses dekripsi harus sama dengan kunci yang digunakan pada proses enkripsi. 2. Ubah biner 3. Lakukan proses berikut untuk sampai 8 putaran 1. Set nilai i = 1

62 50 2. Lakukan proses untuk nilai i = 4 Proses yang akan dilakukan cek apakah nilai i = 2 atau i = 3 Jika ya L#i = Xi+Ki -1 mod Jika tidak L#i = Xi*Ki -1 mod Lakukan proses XOR L#5 = L#1 XOR L#3. L#6 = L#2 XOR L#4. 4. Selanjutnya lakukan proses L#7 = (L#5*K5-1 ) mod L#8 = (L#6+L#7) mod 2 16 L#9 = (L#8*K6-1 ) mod L#10 = (L#7+L#9) mod Set untuk nilai i = Lakukan proses XOR sampai nilai i = 4. Proses yang akan dilakukan IF i = 1, maka Xi = L#1 XOR L#9 Jika tidak IF i = 2, maka Xi = L#3 XOR L#9 Jika tidak IF i = 3, maka Xi = L#2 XOR L#10 Jika tidak Xi = L#4 XOR L#10 4. Kemudian lakukan proses transformasi 1. Set nilai i = 1 2. Lakukan proses sampai nilai i = 4 Proses yang akan dilakukan Cek apakah i = 2 atau i = 3 Jika ya L#i = Xi+Ki -1 Mod 2 16 Jika tidak L#i = Xi*Ki -1 Mod

63 51 5. Kemudian ubah hasil proses transformasi dari biner ke kode ASCII 1. Set 1 = 1 2. Lakukan perulangan sampai nilai i = 4 3. Xi = L#i 6. Kemudian di dapatkan hasil plaintext X1+X2+X3+X4. 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 Y Menguji variabel inputan Y Pembentukan Block Proses T Proses Ke n Proses_Encryp selesai Proses Ke n Proses_Deskirp Pembentukan Block Proses Proses Ke n proses_kunci prosespbin proseskbin proses_kunci prosespbin proseskbin Proses Ke n selesai Kunci Gambar 4.2 Diagram Rancangan Proses Enkripsi Dan Deskripsi Data

64 DIAGRAM SISTEM DFD (Data Flow Diagram) Pemodelan fungsional digambarkan dengan diagram aliran data (DFD). DFD merupakan cara yang intuitif untuk menunjukkan bagaimana data diproses oleh sistem atau bagaimana data mengalir dalam serangkaian pemrosesan. Data ditransformasikan pada setiap langkah sebelum berlanjut ke tahapan selanjutnya. Langkah-langkah pemrosesan atau transformasi ini merupakan fungsi program ketika, diagram aliran data digunakan untuk mendokumentasikan desain perangkat lunak. DFD merupakan model dari sistem untuk menggambarkan pembagian sistem ke modul yang lebih kecil. Keuntungan penggunanan Data Flow Diagram adalah memudahkan pemakai yang kurang menguasai bidang komputer untuk mengerti sistem yang akan dikerjakan atau dikembangkan. Simbol DFD yang akan digunakan dalam pembahasan ini adalah simbol yang sering digunakan oleh Yourdan, De Marco dan lainnya. Data Flow Diagram dari perangkat lunak IDEA Kripto sistem yang penulis rancang dapat dilihat pada gambar-gambar berikut ini Diagram Konteks DFD level 0 di bawah menggambarkan sistem secara garis besar yang memperlihatkan masukan, proses, dan keluaran dari sistem yang akan dirancang. IDEA Kripto sistem akan menghasilkan keluaran berupa pesan rahasia dan pesan asli. Plainteks dan kunci User 0 Sistem Kriptografi Algoritma IDEA Pesan_rahasia, Pesan_asli Gambar 4.3 Diagram Konteks Sistem Algoritma IDEA

65 53 Keterangan : 1. Proses 0 adalah sistem kriptografi algoritma IDEA Dimana user menginput plainteks dan kunci untuk mengamankan data dengan menggunakan algoritma kriptografi simetris IDEA yang menghasilkan output berupa pesan rahasia, pesan asli DFD Level 1 DFD level 1 pada gambar 4.2 menggambarkan sistem secara garis besar yang memperlihatkan proses-proses yang dilakukan dalam sistem kriptografi dengan algoritma IDEA, proses ini dimulai dari proses Pembentukan Kunci, yakni proses yang dilakukan untuk mendapatkan seluruh subkunci enkripsi dan subkunci dekripsi (yang totalnya masing-masing 52 subkunci) yang diperoleh dari 8 subkunci yang dimasukkan user. Pesan Asli Sub_kunci_Enkripsi P.2 Proses Enkripsi Output Chipertext Order Enkripsi Plainteks User Order Perintah P.1 Pemilihan Proses Order Dekripsi Chiperteks Sub_kunci_Dekripsi P.3 Proses Dekripsi Output Plaintext Pesan Rahasia Gambar 4.4 DFD Level 1 Keterangan: 1. Proses 1 adalah pemilihan proses Dimana di dalam proses ini, user akan memilih proses yang akan di lakukan, apakah ingin melakukan proses enkripsi atau dekripsi.

66 54 2. Proses 2 adalah proses enkripsi Dimana di dalam proses ini, user menginput plaintext (pesan asli) dengan sub kunci enkripsi yang akan menghasilkan ciphertext. 3. Proses 3 adalah proses dekripsi Dimana di dalam proses ini, user menginputkan sebuah ciphertext dari hasil proses enkripsi dengan sub kunci dekripsi yang akan menghasilkan plaintext (pesan asli) DFD Level 2 Proses P.2 (Proses Enkripsi) Proses enkripsi akan dilakukan pada setiap karakter yang telah dikonversi ke kode ASCII lalu dikonversi ke bilangan biner, karena pada algoritma IDEA digunakan bilangan biner dalam bentuk subblok, baik plainteks, kunci, maupun cipherteks. Karakter-karakter tersebut dienkripsi menggunakan 52 subblok kunci enkripsi. Untuk lebih jelasnya, proses enkripsi dapat dilihat pada gambar 4.3. User Plainteks Blok_cipher P.2.7 Proses pengabungan Cipherteks Cipher 2 P.2.6 Proses Enkripsi II (transformasi) Cipher 1 P.2.5 Proses Enkripsi I (rounde 1-8) P.2.1 Input file Blok_plain Blok chiper P.2.2 Konversi ke ASCII Karkter_Plain P.2.3 Konversi ASCII ke biner (16 bit perkarakter) Biner_plain P.2.4 Proses partisi 64 bit jadi 4 subblok 16 bit Gambar 4.5 DFD Level 2 Proses P.2 Keterangan: 1. Proses 2.1 adalah proses input file Dimana didalam proses ini, user menginput file yang akan di enkripsi.

67 55 2. Proses 2.2 adalah konversi ke ASCII Dimana didalam proses ini, karakter plaintext akan di konversi ke dalam kode ASCII. 3. Proses 2.3 adalah konversi ASCII ke biner (16 bit perkarakter) Didalam proses ini, dimana kode ASCII plain akan di konversi ke dalam biner dalam hexadesimal. 4. Proses 2.4 adalah proses 64 bit menjadi 4 subblock 16 bit Di dalam prosses ini, dimana biner plain akan mempartisi keseluruhan bit plainteks menjadi blok-blok 64 bit. 5. Proses 2.5 adalah proses enkripsi I (pertama) rounde 1-8Di dalam proses ini, dimana blok plain dan sub kunci enkripsi akan mempartisi setiap blokblok plainteks 64 bit menjadi 4 subblok16 bit. 6. Proses 2.6 adalah proses enkripsi II (dua) transformasi Di dalam proses ini, dimana cipher1 dan sub kunci enkripsi akan melakukan proses enkripsi tahap I (di lakukan dalam 8 round). 7. Proses 2.7 adalah proses penggabungan ciphertexs Di dalam proses ini, dimana cipher2 akan melakukan proses enkripsi II (di lakukan dalam round ke 9) DFD Level 2 Proses P.3 (Proses Dekripsi) Untuk mengembalikan cipherteks sehingga dapat dipahami, maka file yang telah dienkripsi harus didekripsi. Untuk melakukan proses dekripsi digunakan kunci yang sama, sehingga algoritma ini tergolong pada algoritma kriptografi simetris. Untuk lebih jelasnya, proses dekripsi dapat dilihat pada gambar 4.4.

68 56 User Plainteks P.3.10 Krkter_plain P.3.9 ASCII_plain P.3.8 Biner_plain Proses gabung Konversi ke Konversi biner plainteks ASCII ke ASCII P.3.7 Proses gabung keseluruhan blok bit Cipherteks Cipher 2 P.3.1 Input file P.3.6 Proses dekripsi II (transformasi) Blok_cipher Cipher 1 P.3.2 konversi ke ASCII ASCII_cipher P.3.3 Konversi ASCII ke biner (16 bit perkarakter) Biner_cipher P.3.4 Proses partisi 64 bit jadi 4 subblok 16 bit Blok_cipher P.3.5 Proses dekripsi I (rounde 1-8) Gambar 4.6 DFD Level 2 proses P.3 Keterangan: 1. Proses 3.1 adalah proses input file Dimana dalam proses ini, user menginput file yang akan di lakukan dekripsi. 2. Proses 3.2 adalah proses konversi ke ASCII Di dalam proses ini, dimana karakter cipher akan mengkonversikan karakter plaintext ke dalam kode ASCII. 3. Proses 3.3 adalah proses konversi ASCII ke biner (64 bit perkarakter) Dalam proses ini, dimana ASCII cipher akan mengkonversi kode ASCII plaintext ke dalam biner hexadesimal. 4. Proses 3.4 adalah proses partisi 64 bit jadi 4 subblok 16 bit Dalam proses ini, dimana biner cipher akan mempartisi keseluruhan bit plaintext menjadi blok-blok 64 bit. 5. Proses 3.5 adalah proses dekripsi I (round 1-8) Dalam proses ini, dimana block cipher dan sub kunci dekripsi akan melakukan proses dekripsi tahap I.

69 57 6. Proses 3.6 adalah proses adalah proses dekripsi tahap II (transformasi) Dalam proses ini, dimana cipher1 dan sub kunci dekripsi akan melakukan proses dekripsi tahap II. 7. Proses 3.7 adalah proses gabung keseluruhan blok bit Dalam proses ini, dimana cipher2 akan menggabungkan setiap 16 bit subblok plaintext menjadi blok 64 bit. 8. Proses 3.8 adalah proses konversi biner ke ASCII Dalam proses ini, dimana biner plain akan mengkonversi setiap bit hexaplaintext menjadi kode ASCII nya. 9. Proses 3.9 adalah proses konversi ke ASCII Dalam proses ini, dimana ASCII plain akan di konversi setiap kode ASCII menjadi karakter-karakternya. 10. Proses 3.10 adalah proses gabung plaintext Dalam proses ini, user akan menggabungkan seluruh karakter-karakter plain menjadi karakter plaintext. 4.4 IMPLEMENTASI Tahap implementasi dilakukan setelah perancangan sistem kriptografi IDEA selesai dilakukan. Dalam implementasi akan ditampilkan bentuk dari program yang dirancang. Ada pun program yang dimaksud terdiri atas beberapa tampilan halaman, yaitu: halaman utama, form enkripsi, dan form dekripsi Implementasi Sistem Proses penyelesaian kriptografi Algoritma IDEA ini dapat di bagi menjadi dua tahapan proses yaitu proses enkripsi dan proses dekripsi Proses Enkripsi Dimana dalam proses algoritma IDEA ini memiliki 8 iterasi (putaran) di tambah satu putaran transformasi output. Untuk lebih jelasnya tentang bagaimana proses kerja enkripsi algoritma IDEA ini dapat di lihat pada contoh berikut:

70 58 Misalkan kita akan mengenkripsi pesan, dimana pesan plaintext dan kunci. Kunci : KRIPTOGRAFI IDEA Plaintext : ABDHANAN Berikut ini adalah proses enkripsi dari algoritma IDEA. PROSES UNTUK BLOCK 1 PUTARAN 1 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#2 (X2 + K2) mod 2^16 = ) mod (2^16) = L#3 (X3 + K3) mod 2^16 = ) mod (2^16) = L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR = L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * = L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR = L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10 = XOR =

71 59 L#14 L#4 XOR L#10 = XOR = PUTARAN 2 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#2 (X2 + K2) mod 2^16 = ) mod (2^16) = L#3 (X3 + K3) mod 2^16 = ) mod (2^16) = L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR = L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * = L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR = L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10 = XOR = L#14 L#4 XOR L#10 = XOR =

72 60 PUTARAN 3 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#2 (X2 + K2) mod 2^16 = ) mod (2^16) = L#3 (X3 + K3) mod 2^16 = ) mod (2^16) = L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR = L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * = L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR = L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10 = XOR = L#14 L#4 XOR L#10 = XOR = PUTARAN 4 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) =

73 61 L#2 (X2 + K2) mod 2^16 = ) mod (2^16) = L#3 (X3 + K3) mod 2^16 = ) mod (2^16) = L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR = L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * = L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR = L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10 = XOR = L#14 L#4 XOR L#10 = XOR = PUTARAN 5 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#2 (X2 + K2) mod 2^16 = ) mod (2^16) =

74 62 L#3 (X3 + K3) mod 2^16 = ) mod (2^16) = L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR = L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * = L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR = L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10 = XOR = L#14 L#4 XOR L#10 = XOR = PUTARAN 6 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#2 (X2 + K2) mod 2^16 = ) mod (2^16) = L#3 (X3 + K3) mod 2^16 = ) mod (2^16) =

75 63 L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR = L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * = L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR = L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10 = XOR = L#14 L#4 XOR L#10 = XOR = PUTARAN 7 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#2 (X2 + K2) mod 2^16 = ) mod (2^16) = L#3 (X3 + K3) mod 2^16 = ) mod (2^16) = L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) =

76 64 L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR = L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * = L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR = L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10 = XOR = L#14 L#4 XOR L#10 = XOR = PUTARAN 8 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#2 (X2 + K2) mod 2^16 = ) mod (2^16) = L#3 (X3 + K3) mod 2^16 = ) mod (2^16) = L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR =

77 65 L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * = L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR = L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10 = XOR = L#14 L#4 XOR L#10 = XOR = TRANSFORMASI OUTPUT 1 L#1 (X1 * K1) mod (2^16 + 1) = * mod (2^16 + 1) = = / L#2 (X2 + K2) mod 2^16 = Mod 2 ^ 16 = = _ L#3 (X3 + K3) mod 2^16 = mod 2^16 = = L#4 (X4 * K4) mod (2^16 + 1) = * mod (2^16 + 1) = = Î Setelah 8 putaran dan di tambah satu putaran transfortasi proses enkripsi selesai, maka di dapatkan Chiper Text / hšm?çǻi

78 Flow Chat Enkripsi Data Berikut ditampilan flowchat proses Enkripsi data dimana pesan plaintext dan kunci. Kunci : KRIPTOGRAFI IDEA Plaintext : ABDHANAN User Plain Teks : ABDHANAN Dan Kunci : KRIPTOGRAFI IDEA Menguji variabel Inputan (Var. Lengkap) Y proses_ kunci prosespbin proseskbin Pembentukan Block Proses (Jlh. Block=1) Proses Ke n T Proses Ke n Proses_ Encryp selesai Menghasilkan chipertext = / hšm?çǻi

79 67 Beberapa Contoh Enkripsi Data Berikut diperlihatkan beberapa contoh Enkripsi yang dihasilkan menggunakan program aplikasi ini dalam Teori Enkripsi IDEA. No. Plain Text Kata Kunci Ciphertext 1 ubudiyah mahasiswadsabang äï 2 kuliahit programmerdrsabang 4 ýè@æ 3 kuncikey passworddankunci Ó_ÒÓàc-C 4 plaintex crystaletekeydat úýö$r ¾ 5 proteksi dataterkuncibaru µu ð?«ï Proses Deskripsi Proses dekripsi merupakan proses kebalikan dari proses enkripsi. Proses dekripsi menggunakan kunci yang sama dengan proses enkripsi. Sebagai contoh, jika ingin di dekripsikan kembali dari hasil enkripsi di atas dengan menggunakan kunci yang sama, maka hasilnya sebagai berikut. PROSES UNTUK BLOCK 1 PUTARAN 1 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#2 (X2 + K2) mod 2^16 = ) mod (2^16) = L#3 (X3 + K3) mod 2^16 = ) mod (2^16) = L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR = L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16

80 68 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * = L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR = L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10 = XOR = L#14 L#4 XOR L#10 = XOR = PUTARAN 2 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#2 (X2 + K2) mod 2^16 = ) mod (2^16) = L#3 (X3 + K3) mod 2^16 = ) mod (2^16) = L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR = L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * =

81 69 L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR = L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10 = XOR = L#14 L#4 XOR L#10 = XOR = PUTARAN 3 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#2 (X2 + K2) mod 2^16 = ) mod (2^16) = L#3 (X3 + K3) mod 2^16 = ) mod (2^16) = L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR = L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * = L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR =

82 70 L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10 = XOR = L#14 L#4 XOR L#10 = XOR = PUTARAN 4 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#2 (X2 + K2) mod 2^16 = ) mod (2^16) = L#3 (X3 + K3) mod 2^16 = ) mod (2^16) = L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR = L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * = L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR = L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10

83 71 = XOR = L#14 L#4 XOR L#10 = XOR = PUTARAN 5 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#2 (X2 + K2) mod 2^16 = ) mod (2^16) = L#3 (X3 + K3) mod 2^16 = ) mod (2^16) = L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR = L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * = L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR = L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10 = XOR = L#14 L#4 XOR L#10 = XOR =

84 72 PUTARAN 6 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#2 (X2 + K2) mod 2^16 = ) mod (2^16) = L#3 (X3 + K3) mod 2^16 = ) mod (2^16) = L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR = L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * = L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR = L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10 = XOR = L#14 L#4 XOR L#10 = XOR = PUTARAN 7 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) =

85 73 L#2 (X2 + K2) mod 2^16 = ) mod (2^16) = L#3 (X3 + K3) mod 2^16 = ) mod (2^16) = L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR = L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * = L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR = L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10 = XOR = L#14 L#4 XOR L#10 = XOR = PUTARAN 8 L#1 (X1 * K1) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#2 (X2 + K2) mod 2^16 = ) mod (2^16) = L#3 (X3 + K3) mod 2^16 = ) mod (2^16)

86 74 = L#4 (X4 * K4) mod (2^16 + 1) = ( * ) mod (2^16 + 1) = L#5 L#1 XOR L#3 = XOR = L#6 L#2 XOR L#4 = XOR = L#7 (L#5 * K5) mod (2^16 + 1) = * mod (2^16 + 1) = L#8 (L#6 + L#7) mod 2^16 = mod 2^16 = L#9 (L#8 * K6) mod (2^16 + 1) = * = L#10 (L#7 + L#9) mod 2^16 = mod 2^16 = L#11 L#1 XOR L#9 = XOR = L#12 L#3 XOR L#9 = XOR = L#13 L#2 XOR L#10 = XOR = L#14 L#4 XOR L#10 = XOR = TRANSFORMASI OUTPUT L#1 (X1 * K1) mod (2^16 + 1) = * mod (2^16 + 1) = = AB L#2 (X2 + K2) mod 2^16 = Mod 2 ^ 16 = = DH L#3 (X3 + K3) mod 2^16 = mod 2^16 = = AN L#4 (X4 * K4) mod (2^16 + 1) = * mod (2^16 + 1) = = AN

87 75 Hasil proses dekripsi di atas adalah: = = AB = = DH = = AN = = AN Setelah proses dekripsi di atas selesai maka di peroleh plaintext awal adalah ABDHANAN User Interface Adapun user interface dari perangkat lunak kriptografi Algoritma IDEA ini meliputi, halaman utama, Kunci enkripsi, Kunci dekripsi. Untuk lebih jelasnya dapat di lihat di bawah ini Halaman Utama Halaman utama merupakan menu utama yang ada dalam sistem kriptografi IDEA, untuk memudahkan user dalam mengoperasikan sistem kriptografi IDEA ini. Halaman utama sistem ini dapat dilihat pada gambar 4.5 berikut: Gambar 4.7 Halaman Utama

88 Form Encrip Data Form enkripsi digunakan untuk merubah plainteks menjadi cipherteks. Tampilan layar enkripsi pada sistem kriptografi IDEA ini dapat dilihat pada gambar 4.6 berikut. Gambar 4.8 Form Rancangan Proses Enkripsi 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 4.7 berikut:

89 Gambar 4.9 Form Rancangan Proses Dekripsi 77

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 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.

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Latar Belakang Kriptografi Menurut Pandiangan dalam jurnalnya yang berjudul Aplikasi Kriptografi untuk Sistem Keamanan Penyimpanan Data atau Informasi (Tahun 2005), menerangkan

Lebih terperinci

METODE ENKRIPSI DAN DESKRIPSI DATA MENGGUNAKAN KRIPTOGRAFI IDEA

METODE ENKRIPSI DAN DESKRIPSI DATA MENGGUNAKAN KRIPTOGRAFI IDEA METODE ENKRIPSI DAN DESKRIPSI DATA MENGGUNAKAN KRIPTOGRAFI Abdul Hanan1, Hendra Fajri2 Jurusan Teknik Informatika, STMIK U budiyah Indonesia, Banda Aceh Abstrak Dalam dunia kriptografi, block cipher adalah

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kriptografi 2.1.1 Pengertian Kriptografi Kriptografi (cryptography) berasal dari Bahasa Yunani criptos yang artinya adalah rahasia, sedangkan graphein artinya tulisan. Jadi kriptografi

Lebih terperinci

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

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014) KRIPTOGRAFI Reference William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014) Bruce Schneier Applied Cryptography 2 nd Edition (2006) Mengapa Belajar Kriptografi

Lebih terperinci

Bab 1 PENDAHULUAN Latar Belakang

Bab 1 PENDAHULUAN Latar Belakang Bab 1 PENDAHULUAN 1.1. Latar Belakang Sistem keamanan pengiriman data (komunikasi data yang aman) dipasang untuk mencegah pencurian, kerusakan, dan penyalahgunaan data yang terkirim melalui jaringan komputer.

Lebih terperinci

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Penelitian sebelumnya yang terkait dengan penelitian ini adalah penelitian yang dilakukan oleh Syaukani, (2003) yang berjudul Implementasi Sistem Kriptografi

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Keamanan Data Keamanan merupakan salah satu aspek yang sangat penting dari sebuah sistem informasi. Masalah keamanan sering kurang mendapat perhatian dari para perancang dan

Lebih terperinci

Pengenalan Kriptografi

Pengenalan Kriptografi Pengenalan Kriptografi (Week 1) Aisyatul Karima www.themegallery.com Standar kompetensi Pada akhir semester, mahasiswa menguasai pengetahuan, pengertian, & pemahaman tentang teknik-teknik kriptografi.

Lebih terperinci

Bab 2 Tinjauan Pustaka

Bab 2 Tinjauan Pustaka Bab 2 Tinjauan Pustaka 2.1 Penelitian Sebelumnya Pada penelitian sebelumnya, yang berjudul Pembelajaran Berbantu komputer Algoritma Word Auto Key Encryption (WAKE). Didalamnya memuat mengenai langkah-langkah

Lebih terperinci

BAB III PENGERTIAN DAN SEJARAH SINGKAT KRIPTOGRAFI

BAB III PENGERTIAN DAN SEJARAH SINGKAT KRIPTOGRAFI BAB III PENGERTIAN DAN SEJARAH SINGKAT KRIPTOGRAFI 3.1. Sejarah Kriptografi Kriptografi mempunyai sejarah yang panjang. Informasi yang lengkap mengenai sejarah kriptografi dapat ditemukan di dalam buku

Lebih terperinci

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE Muhammad Fikry Teknik Informatika, Universitas Malikussaleh e-mail: muh.fikry@unimal.ac.id Abstract Data merupakan aset yang paling berharga untuk

Lebih terperinci

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

PERANCANGAN APLIKASI ENKRIPSI MENGGUNAKAN ALGORITMA IDEA (INTERNATIONAL DATA ENCRYPTION ALGORITHM) PERANCANGAN APLIKASI ENKRIPSI MENGGUNAKAN ALGORITMA IDEA (INTERNATIONAL DATA ENCRYPTION ALGORITHM) Ihda Innar Ridho, S. Kom., M. Kom (ihdaridho@fti.uniska-bjm.ac.id ) Wagino, S. Kom., M. Kom (wagino@fti.uniska-bjm.ac.id)

Lebih terperinci

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA ABSTRAK ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA Makalah ini membahas tentang pengamanan pesan rahasia dengan menggunakan salah satu algoritma Kryptografi, yaitu algoritma ElGamal. Tingkat keamanan

Lebih terperinci

BAB I PENDAHULUAN. Universitas Sumatera Utara

BAB I PENDAHULUAN. Universitas Sumatera Utara BAB I PENDAHULUAN 1.1. Latar Belakang Masalah. Perkembangan teknologi saat ini telah mengubah cara masyarakat baik itu perusahaan militer dan swasta dalam berkomunikasi. Dengan adanya internet, pertukaran

Lebih terperinci

BAB 1 PENDAHULUAN 1.1. Latar belakang

BAB 1 PENDAHULUAN 1.1. Latar belakang BAB 1 PENDAHULUAN 1.1. Latar belakang Menurut kamus besar Bahasa Indonesia (1991), keamanan adalah bebas dari bahaya dengan demikian keamanan adalah suatu kondisi yang sangat sulit dicapai, dan dapat kita

Lebih terperinci

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB Mukhlisulfatih Latief Jurusan Teknik Informatika Fakultas Teknik Universitas Negeri Gorontalo Abstrak Metode enkripsi dapat digunakan untuk

Lebih terperinci

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB Mukhlisulfatih Latief Jurusan Teknik Informatika Fakultas Teknik Universitas Negeri Gorontalo ABSTRAK Metode enkripsi dapat digunakan untuk

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Kriptografi 2.1.1 Definisi Kriptografi Ditinjau dari terminologinya, kata kriptografi berasal dari bahasa Yunani yaitu cryptos yang berarti menyembunyikan, dan graphein yang artinya

Lebih terperinci

SISTEM PENGAMANAN PESAN SMS MENGGUNAKAN INTERNASIONAL DATA ENCRYPTION ALGORITHM

SISTEM PENGAMANAN PESAN SMS MENGGUNAKAN INTERNASIONAL DATA ENCRYPTION ALGORITHM SISTEM PENGAMANAN PESAN SMS MENGGUNAKAN INTERNASIONAL DATA ENCRYPTION ALGORITHM (0911073) Mahasiswa Program Studi Teknik Informatika, STMIK Budidarma Medan Jl. Sisingamangaraja No.338 Simpang Limun Medan

Lebih terperinci

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam BAB 1 PENDAHULUAN 1.1 Latar Belakang Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam bentuknya yang konvensional di atas kertas. Dokumen-dokumen kini sudah disimpan sebagai

Lebih terperinci

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

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi JURNAL DUNIA TEKNOLOGI INFORMASI Vol. 1, No. 1, (2012) 20-27 20 Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi 1 Program Studi

Lebih terperinci

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD Mohammad Riftadi NIM : 13505029 Program Studi Informatika, Institut Teknologi Bandung Jl. Ganesha No. 10, Bandung E-mail :

Lebih terperinci

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi BAB 2 LANDASAN TEORI 2. Kriptografi 2.. Definisi Kriptografi Kriptografi adalah ilmu mengenai teknik enkripsi di mana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh

Lebih terperinci

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

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman) Media Informatika Vol. 9 No. 2 (2010) PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman) Dahlia Br Ginting Sekolah Tinggi Manajemen Informatika dan Komputer

Lebih terperinci

Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password

Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password Inayatullah STMIK MDP Palembang inayatullah@stmik-mdp.net Abstrak: Data password yang dimiliki oleh pengguna harus dapat dijaga keamanannya. Salah

Lebih terperinci

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH Achmad Shoim 1), Ahmad Ali Irfan 2), Debby Virgiawan Eko Pranoto 3) FAKULTAS TEKNIK INFORMATIKA UNIVERSITAS PGRI RONGGOLAWE

Lebih terperinci

Aplikasi Perkalian dan Invers Matriks dalam Kriptografi Hill Cipher

Aplikasi Perkalian dan Invers Matriks dalam Kriptografi Hill Cipher Aplikasi Perkalian dan Invers Matriks dalam Kriptografi Hill Cipher Catherine Pricilla-13514004 Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah keamanan dan kerahasiaan data merupakan salah satu aspek penting dari suatu sistem informasi. Dalam hal ini, sangat terkait dengan betapa pentingnya informasi

Lebih terperinci

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

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi Gentisya Tri Mardiani, S.Kom KRIPTOGRAFI Kriptografi (cryptography) merupakan ilmu dan seni untuk menjaga pesan agar aman. Para pelaku atau

Lebih terperinci

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

TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali: TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali: arismsv@ymail.com Abstrak Makalah ini membahas tentang algoritma kriptografi sederhana

Lebih terperinci

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES INFOKAM Nomor I / Th. VII/ Maret / 11 39.. ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES Muhamad Danuri Dosen Jurusan Manajemen Informatika, AMIK JTC Semarang ABSTRAKSI Makalah ini membahas tentang

Lebih terperinci

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM BAB III ANALISA DAN DESAIN SISTEM III.1 Analisa Masalah Dalam melakukan pengamanan data SMS kita harus mengerti tentang masalah keamanan dan kerahasiaan data merupakan hal yang sangat penting dalam suatu

Lebih terperinci

SKRIPSI ENKRIPSI TEKS MENGGUNAKAN ALGORITMA TWOFISH

SKRIPSI ENKRIPSI TEKS MENGGUNAKAN ALGORITMA TWOFISH SKRIPSI ENKRIPSI TEKS MENGGUNAKAN ALGORITMA TWOFISH JOVI TANATO NPM: 2012730011 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI DAN SAINS UNIVERSITAS KATOLIK PARAHYANGAN 2017 UNDERGRADUATE

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA II.1 Pengenalan Kriptografi II.1.1 Sejarah Kriptografi Kriptografi mempunyai sejarah yang panjang. Informasi yang lengkap mengenai sejarah kriptografi dapat di temukan di dalam

Lebih terperinci

(S.2) KRIPTOGRAFI METODA MODULAR MULTIPLICATON-BASED BLOCK CIPHER PADA FILE TEXT

(S.2) KRIPTOGRAFI METODA MODULAR MULTIPLICATON-BASED BLOCK CIPHER PADA FILE TEXT (S.2) KRIPTOGRAFI METODA MODULAR MULTIPLICATON-BASED BLOCK CIPHER PADA FILE TEXT Taufiqulhadi Jurusan Matematika FMIPA Universitas Padjadjaran taufiq_nad@yahoo.co.id Erick Paulus, S.Si., M.Kom. Jurusan

Lebih terperinci

IMPLEMENTASI METODE KRIPTOGRAFI IDEA DENGAN FUNGSI HASH DALAM PENGAMANAN INFORMASI

IMPLEMENTASI METODE KRIPTOGRAFI IDEA DENGAN FUNGSI HASH DALAM PENGAMANAN INFORMASI IMPLEMENTASI METODE KRIPTOGRAFI IDEA DENGAN FUNGSI HASH DALAM PENGAMANAN INFORMASI Ramen Antonov Purba Manajemen Informatika Politeknik Unggul LP3M Medan Jl Iskandar Muda No.3 CDEF, Medan Baru, 20153 Email

Lebih terperinci

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER Arga Dhahana Pramudianto 1, Rino 2 1,2 Sekolah Tinggi Sandi Negara arga.daywalker@gmail.com,

Lebih terperinci

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN Mohamad Ray Rizaldy - 13505073 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung, Jawa Barat e-mail: if15073@students.if.itb.ac.id

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Pengenalan Kriptografi 2.1.1 Sejarah Kriptografi Kriptografi adalah ilmu yang mempelajari bagaimana suatu pesan atau dokumen kita aman, tidak bisa dibaca oleh pihak yang tidak

Lebih terperinci

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

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi Gentisya Tri Mardiani, S.Kom.,M.Kom KRIPTOGRAFI Kriptografi (cryptography) merupakan ilmu dan seni untuk menjaga pesan agar aman. Para pelaku

Lebih terperinci

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

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di BAB I PENDAHULUAN 1.1 Latar Belakang Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di bidang teknologi, tanpa disadari komputer telah ikut berperan dalam dunia pendidikan terutama penggunaannya

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 7 BAB 2 LANDASAN TEORI 2.1 Kriptografi 2.1.1 Pengertian kriptografi Kriptografi (Cryptography) berasal dari Bahasa Yunani. Menurut bahasanya, istilah tersebut terdiri dari kata kripto dan graphia. Kripto

Lebih terperinci

+ Basic Cryptography

+ Basic Cryptography + Basic Cryptography + Terminologi n Kriptografi (cryptography) merupakan ilmu dan seni untuk menjaga pesan agar aman. Crypto berarti secret (rahasia) dan graphy berarti writing (tulisan). n Para pelaku

Lebih terperinci

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

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi. BAB I PENDAHULUAN 1.1 Latar Belakang Pada proses pengiriman data (pesan) terdapat beberapa hal yang harus diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi. Oleh karenanya

Lebih terperinci

PERANCANGAN PERANGKAT LUNAK PENGAMANAN FILE MENGGUNAKAN ALGORITMA ELECTRONIC CODE BOOK (ECB)

PERANCANGAN PERANGKAT LUNAK PENGAMANAN FILE MENGGUNAKAN ALGORITMA ELECTRONIC CODE BOOK (ECB) PERANCANGAN PERANGKAT LUNAK PENGAMANAN FILE MENGGUNAKAN ALGORITMA ELECTRONIC CODE BOOK (ECB) Rikardo Tora Hutabalian (0811385) Mahasiswa Program Studi Teknik Informatika STMIK Budi Darma Medan Jl. Sisingamangaraja

Lebih terperinci

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

STUDI MENGENAI JARINGAN FEISTEL TAK SEIMBANG DAN CONTOH IMPLEMENTASINYA PADA SKIPJACK CIPHER STUDI MENGENAI JARINGAN FEISTEL TAK SEIMBANG DAN CONTOH IMPLEMENTASINYA PADA SKIPJACK CIPHER Stevie Giovanni NIM : 13506054 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10,

Lebih terperinci

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN Anggi Purwanto Program Studi Teknik Telekomunikasi, Fakultas Teknik Elektro dan Komunikasi Institut Teknologi Telkom Jl.

Lebih terperinci

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

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message). BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message). Kata cryptography berasal dari kata Yunani yaitu kryptos yang artinya tersembunyi

Lebih terperinci

BAB I PENDAHULUAN. melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal

BAB I PENDAHULUAN. melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal BAB I PENDAHULUAN Bab Pendahuluan akan menjabarkan mengenai garis besar skripsi melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal yang akan dijabarkan adalah latar belakang,

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 2 BAB 2 LANDASAN TEORI 2.1. Kriptografi 2.1.1. Definisi Kriptografi Kriptografi berasal dari bahasa Yunani yang terdiri dari dua kata yaitu cryto dan graphia. Crypto berarti rahasia dan graphia berarti

Lebih terperinci

International Data Encryption Algorithm

International Data Encryption Algorithm International Data Encryption Algorithm Brian Al Bahr 13506093 Jurusan Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung, email : if16093@if.itb.ac.id Abstract Makalah

Lebih terperinci

BAB Kriptografi

BAB Kriptografi BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani, yakni kata kriptos dan graphia. Kriptos berarti secret (rahasia) dan graphia berarti writing (tulisan). Kriptografi merupakan

Lebih terperinci

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

PERANCANGAN PERANGKAT LUNAK KRIPTOGRAFI METODA IDEA (INTERNATIONAL DATA ENCRYPTION ALGORITHM) SKRIPSI WAY YANTONO SAING PERANCANGAN PERANGKAT LUNAK KRIPTOGRAFI METODA IDEA (INTERNATIONAL DATA ENCRYPTION ALGORITHM) SKRIPSI WAY YANTONO SAING 1008305 DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS

Lebih terperinci

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

Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu : KRIPTOGRAFI 1. 1 Latar belakang Berkat perkembangan teknologi yang begitu pesat memungkinkan manusia dapat berkomunikasi dan saling bertukar informasi/data secara jarak jauh. Antar kota antar wilayah antar

Lebih terperinci

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati Kriptografi, Enkripsi dan Dekripsi Ana Kurniawati Kemal Ade Sekarwati Terminologi Kriptografi (cryptography) merupakan ilmu dan seni untuk menjaga pesan agar aman. Crypto berarti secret (rahasia) dan graphy

Lebih terperinci

Kriptografi Kunci Rahasia & Kunci Publik

Kriptografi Kunci Rahasia & Kunci Publik Kriptografi Kunci Rahasia & Kunci Publik Transposition Cipher Substitution Cipher For internal use 1 Universitas Diponegoro Presentation/Author/Date Overview Kriptografi : Seni menulis pesan rahasia Teks

Lebih terperinci

KRIPTOGRAFI MATERI KE-2

KRIPTOGRAFI MATERI KE-2 KRIPTOGRAFI MATERI KE-2 TERMINOLOGI Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan oleh cryptographer. Cryptanalysis adalah suatu ilmu dan seni membuka (breaking) ciphertext

Lebih terperinci

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan Andreas Dwi Nugroho (13511051) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

Aplikasi Teori Bilangan dalam Algoritma Kriptografi Aplikasi Teori Bilangan dalam Algoritma Kriptografi Veren Iliana Kurniadi 13515078 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

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

RANCANGAN,IMPLEMENTASI DAN PENGUJIAN ZENARC SUPER CIPHER SEBAGAI IMPLEMENTASI ALGORITMA KUNCI SIMETRI RANCANGAN,IMPLEMENTASI DAN PENGUJIAN ZENARC SUPER CIPHER SEBAGAI IMPLEMENTASI ALGORITMA KUNCI SIMETRI Ozzi Oriza Sardjito NIM 13503050 Program Studi Teknik Informatika, STEI Institut Teknologi Bandung

Lebih terperinci

PERBANDINGAN ALGORITMA CAESAR CIPHER TERHADAP BLOWFISH 128 BIT UNTUK ENKRIPSI SMS BERBASIS JAVA

PERBANDINGAN ALGORITMA CAESAR CIPHER TERHADAP BLOWFISH 128 BIT UNTUK ENKRIPSI SMS BERBASIS JAVA PERBANDINGAN ALGORITMA CAESAR CIPHER TERHADAP BLOWFISH 128 BIT UNTUK ENKRIPSI SMS BERBASIS JAVA YOYON TARYONO 41515110188 PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA

Lebih terperinci

Bab 2: Kriptografi. Landasan Matematika. Fungsi

Bab 2: Kriptografi. Landasan Matematika. Fungsi Bab 2: Kriptografi Landasan Matematika Fungsi Misalkan A dan B adalah himpunan. Relasi f dari A ke B adalah sebuah fungsi apabila tiap elemen di A dihubungkan dengan tepat satu elemen di B. Fungsi juga

Lebih terperinci

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

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi. BAB 2 LANDASAN TEORI 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi. 2.1.1 Pengertian Kriptografi Kriptografi (cryptography) berasal dari bahasa yunani yaitu

Lebih terperinci

PERANCANGAN APLIKASI KEAMANAN DATA MENGGUNAKAN ALGORITMA ENKRIPSI RC6 BERBASIS ANDROID

PERANCANGAN APLIKASI KEAMANAN DATA  MENGGUNAKAN ALGORITMA ENKRIPSI RC6 BERBASIS ANDROID PERANCANGAN APLIKASI KEAMANAN DATA EMAIL MENGGUNAKAN ALGORITMA ENKRIPSI RC6 BERBASIS ANDROID Muhammad Zulham 1, Helmi Kurniawan 2, Iwan Fitrianto Rahmad 3 Jurusan Teknik Informatika, STMIK Potensi Utama

Lebih terperinci

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

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop Ratno Prasetyo Magister Ilmu Komputer Universitas Budi Luhur, Jakarta, 12260 Telp : (021) 5853753

Lebih terperinci

Modul Praktikum Keamanan Sistem

Modul Praktikum Keamanan Sistem 2017 Modul Praktikum Keamanan Sistem LABORATORIUM SECURITY SYSTEM Hanya dipergunakan di lingkungan Fakultas Teknik Elektro KK KEAMANAN SISTEM FAKULTAS TEKNIK ELEKTRO UNIVERSITAS TELKOM DAFTAR PENYUSUN

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi telah menjadi bagian penting dalam dunia teknologi informasi saat ini terutama dalam bidang komputer. Hampir semua penerapan teknologi informasi menggunakan

Lebih terperinci

TINJAUAN PUSTAKA. Kriptografi

TINJAUAN PUSTAKA. Kriptografi 2 2 Penelitian ini berfokus pada poin a, yaitu pengembangan sistem mobile serta melakukan perlindungan komunikasi data. 3 Spesifikasi sistem dibuat berdasarkan pada alur proses penilangan yang berlaku

Lebih terperinci

Penerapan Matriks dalam Kriptografi Hill Cipher

Penerapan Matriks dalam Kriptografi Hill Cipher Penerapan Matriks dalam Kriptografi Hill Cipher Micky Yudi Utama/514011 Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha Bandung 402, Indonesia micky.yu@students.itb.ac.id

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA II.1. Kriptografi Kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari bagaimana penyembunyian pesan. Namun pada pengertian modern kriptografi adalah ilmu yang berdasarkan

Lebih terperinci

KRIPTOGRAFI SISTEM KEAMANAN KOMPUTER

KRIPTOGRAFI SISTEM KEAMANAN KOMPUTER KRIPTOGRAFI SISTEM KEAMANAN KOMPUTER Definisi Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan oleh cryptographer. Cryptanalysis adalah suatu ilmu dan seni membuka (breaking)

Lebih terperinci

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

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya secret (rahasia), sedangkan gráphein artinya writing (tulisan), jadi kriptografi berarti secret

Lebih terperinci

Pengkajian Metode dan Implementasi AES

Pengkajian Metode dan Implementasi AES Pengkajian Metode dan Implementasi AES Hans Agastyra 13509062 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Teori Bilangan 2.1.1 Keterbagian Jika a dan b Z (Z = himpunan bilangan bulat) dimana b 0, maka dapat dikatakan b habis dibagi dengan a atau b mod a = 0 dan dinotasikan dengan

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi terminologinya, kata kriptografi berasal dari bahasa Yunani yaitu crypto yang berarti secret (rahasia) dan graphia yang berarti writing (tulisan).

Lebih terperinci

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

BAB 2 LANDASAN TEORI. Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi. BAB 2 LANDASAN TEORI 2.1. Kriptografi Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi. 2.1.1. Pengertian Kriptografi Kriptografi (cryptography) berasal dari bahasa Yunani yang terdiri

Lebih terperinci

IMPLEMENTASI ALGORITMA HILL CIPHER DALAM PENYANDIAN DATA

IMPLEMENTASI ALGORITMA HILL CIPHER DALAM PENYANDIAN DATA IMPLEMENTASI ALGORITMA HILL CIPHER DALAM PENYANDIAN DATA Abdul Halim Hasugian Dosen Tetap STMIK Budi Darma Medan Jl. Sisingamangaraja No. 338 Sp. Pos Medan http://www. stmik-budidarma.ac.id // Email :

Lebih terperinci

ENKRIPSI DATA KUNCI SIMETRIS DENGAN ALGORITMA KRIPTOGRAFI LOKI97

ENKRIPSI DATA KUNCI SIMETRIS DENGAN ALGORITMA KRIPTOGRAFI LOKI97 ENKRIPSI DATA KUNCI SIMETRIS DENGAN ALGORITMA KRIPTOGRAFI LOKI97 Irdham Mikhail Kenjibriel Program Studi Teknik Informatika Institut Teknolgi Bandung IrdhamKenjibriel@yahoo.com ABSTRAK Makalah ini membahas

Lebih terperinci

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

STUDI DAN MODIFIKASI ALGORITMA BLOCK CHIPER MODE ECB DALAM PENGAMANAN SISTEM BASIS DATA. Arief Latu Suseno NIM: STUDI DAN MODIFIKASI ALGORITMA BLOCK CHIPER MODE ECB DALAM PENGAMANAN SISTEM BASIS DATA Arief Latu Suseno NIM: 13505019 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

Perancangan Perangkat Lunak Bantu Bantu Pemahaman Kritografi Menggunakan Metode MMB (MODULAR MULTIPLICATION-BASED BLOCK CIPHER)

Perancangan Perangkat Lunak Bantu Bantu Pemahaman Kritografi Menggunakan Metode MMB (MODULAR MULTIPLICATION-BASED BLOCK CIPHER) JURNAL ILMIAH CORE IT ISSN 2339-1766 Perancangan Perangkat Lunak Bantu Bantu Pemahaman Kritografi Menggunakan Metode MMB (MODULAR MULTIPLICATION-BASED BLOCK CIPHER) Yudi 1), Albert 2) STMIK IBBI Jl. Sei

Lebih terperinci

RUANG LINGKUP KRIPTOGRAFI UNTUK MENGAMANKAN DATA Oleh: Budi Hartono

RUANG LINGKUP KRIPTOGRAFI UNTUK MENGAMANKAN DATA Oleh: Budi Hartono RUANG LINGKUP KRIPTOGRAFI UNTUK MENGAMANKAN DATA Oleh: Budi Hartono 1. PENDAHULUAN Data menjadi sesuatu yang amat berharga di dalam abad teknologi informasi dewasa ini. Bentuk data yang dapat dilibatkan

Lebih terperinci

IMPLEMENTASI ALGORITMA BLOWFISH UNTUK ENKRPSI DAN DEKRIPSI BERBASIS WEB

IMPLEMENTASI ALGORITMA BLOWFISH UNTUK ENKRPSI DAN DEKRIPSI BERBASIS WEB IMPLEMENTASI ALGORITMA BLOWFISH UNTUK ENKRPSI DAN DEKRIPSI BERBASIS WEB Shohfi Tamam 1412120032, Agung Setyabudi 1412120013 Fakultas Teknik Program Studi Teknik Informatika Universitas PGRI Ronggolawe

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN 3.1 Analis Sistem Analisis sistem merupakan uraian dari sebuah sistem kedalam bentuk yang lebih sederhana dengan maksud untuk mengidentifikas dan mengevaluasi permasalahan-permasalahan

Lebih terperinci

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Kemajuan dan perkembangan teknologi informasi dewasa ini telah berpengaruh pada hampir semua aspek kehidupan manusia, tak terkecuali dalam hal berkomunikasi. Dengan

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI Pada bab ini, akan dibahas landasan teori mengenai teori-teori yang digunakan dan konsep yang mendukung pembahasan, serta penjelasan mengenai metode yang digunakan. 2.1. Pengenalan

Lebih terperinci

Algoritma Kriptografi Modern (Bagian 2)

Algoritma Kriptografi Modern (Bagian 2) Algoritma Kriptografi Modern (Bagian 2) 1 Mode Operasi Cipher Blok Mode operasi: berkaitan dengan cara blok dioperasikan Ada 4 mode operasi cipher blok: 1. Electronic Code Book (ECB) 2. Cipher Block Chaining

Lebih terperinci

PENERAPAN ALGORITMA RSA DAN DES PADA PENGAMANAN FILE TEKS

PENERAPAN ALGORITMA RSA DAN DES PADA PENGAMANAN FILE TEKS PENERAPAN ALGORITMA RSA DAN DES PADA PENGAMANAN FILE TEKS Nada Safarina 1) Mahasiswa program studi Teknik Informatika STMIK Budidarma Medan Jl. Sisingamangaraja No. 338 Simpang limun Medan ABSTRAK Kriptografi

Lebih terperinci

Pengantar Kriptografi

Pengantar Kriptografi Bahan Kuliah ke-1 IF5054 Kriptografi Pengantar Kriptografi Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004 1. Pengantar Kriptografi 1.1 Terminologi (a)

Lebih terperinci

Perhitungan dan Implementasi Algoritma RSA pada PHP

Perhitungan dan Implementasi Algoritma RSA pada PHP Perhitungan dan Implementasi Algoritma RSA pada PHP Rini Amelia Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Islam Negeri Sunan Gunung Djati Bandung. Jalan A.H Nasution No.

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Pengenalan Kriptografi 2.1.1 Sejarah Kriptografi Kriptografi adalah ilmu yang mempelajari bagaimana suatu pesan atau dokumen kita aman, tidak bisa dibaca oleh pihak yang tidak

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Saat ini keamanan terhadap data yang tersimpan dalam komputer sudah menjadi persyaratan mutlak. Dalam hal ini, sangat terkait dengan betapa pentingnya data tersebut

Lebih terperinci

BAB 2 LANDASAN TEORI. 2.1 Pengertian Kriptografi

BAB 2 LANDASAN TEORI. 2.1 Pengertian Kriptografi BAB 2 LANDASAN TEORI 2.1 Pengertian Kriptografi Kriptografi (cryptography) berasal dari bahasa Yunani yang terdiri atas kata cryptos yang artinya rahasia, dan graphein yang artinya tulisan. Berdasarkan

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata kriptografi dibagi menjadi dua, yaitu kripto dan graphia. Kripto berarti secret (rahasia) dan

Lebih terperinci

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

(pencurian, penyadapan) data. Pengamanan data dapat dilakukan dengan dua cara, yaitu steganography dan cryptography. Dasar-dasar keamanan Sistem Informasi Pertemuan II Pengamanan Informasi David Khan dalam bukunya The Code-breakers membagi masalah pengamanan informasi menjadi dua kelompok; security dan intelligence.

Lebih terperinci

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Keamanan informasi merupakan hal yang sangat penting dalam menjaga kerahasiaan informasi terutama yang berisi informasi sensitif yang hanya boleh diketahui

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1 Sejarah Kriptografi Kriptografi (cryptography) berasal dari bahasa yunani: cryptos yang artinya secret (rahasia) dan graphein yang artinya writing (tulisan). Jadi kriptografi

Lebih terperinci

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi Wiwin Styorini 1), Dwi Harinitha 2) 1) Jurusan Teknik Elektro, Politeknik Caltex Riau, Pekanbaru 28265, email: wiwin@pcr.ac.id

Lebih terperinci

PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD

PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD Konferensi Nasional Ilmu Sosial & Teknologi (KNiST) Maret 2017, pp. 165~171 165 PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD Cahyani Budihartanti 1, Egi Bagus Wijoyo

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Secara Umum Menurut Richard Mollin (2003), Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto dan graphia. Kripto artinya

Lebih terperinci