1 BAB 1 PENDAHULUAN 1.1 Latar Belakang Seiring meningkatnya perkembangan dunia teknologi, sistem pengaman yang canggih terhadap suatu data semakin dibutuhkan. Masalah keamanan merupakan salah satu aspek penting dari sebuah sistem informasi. Oleh karena itu, pengguna teknologi semakin beramai-ramai mengembangkan suatu sistem pengamanan terhadap data yang biasa disebut kriptografi.kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga. Menurut Bruce Scheiner dalam bukunya "Applied Cryptography", kriptografi adalah ilmu pengetahuan dan seni menjaga message-message agar tetap aman (secure). Cara kriptografi telah dikembangkan untuk menangani masalah keamanan ini, salah satu teknik untuk pengamanan data dari suatu sistem informasi adalah dengan mengunakan algoritma penyandian. Dengan menggunakan cara ini data asli (plaintext) dapat diubah ke dalam bentuk sandi (ciphertext) dengan menggunakan kunci tertentu. Untuk itu, kerahasiaan kunci merupakan hal yang sangat diperlukan untuk keberhasilan proses penyandian data. Salah satu metode kriptografi yang dikenal adalah algoritma kriptografi klasik dimana metode ini sudah dikenal sejak lama. Algoritma kriptografi klasik merupakan metode kriptografi yang berbasis karekter, bukan bit seperti pada algoritma modern. Salah satu kriptografi klasik yang lazim dikenal adalah substitusi abjad majemuk ciphers (Polyalpabetic substitution ciphers). Ciphers jenis ini menggunakan kunci yang berbeda untuk mengenkripsi tiap huruf. Contoh ciphers jenis ini adalah nihilist
2 ciphersdan ADFGVX ciphers. Pada kriptografi secara umum dan termasuk dua algoritma kriptografi klasik nihilist dan ADFGVX, pesan yang akan dirahasiakan disebut plaintext. Pesan yang sudah diacak disebut ciphertext. Proses untuk mengkonversi plaintext menjadi ciphertext disebut enkripsi. Proses untuk mengembalikan plaintext dari ciphertext disebut dekripsi. Algoritma kriptografi (ciphers) adalah fungsi-fungsi matematika yang digunakan untuk melakukan enkripsi dan dekripsi. Dalam kriptografi diperlukan kunci yaitu kode untuk melakukan enkripsi dan dekripsi. Nihilist ciphers ditemukan sekitar abad ke-19 tepanya tahun 1880an dan digunakan di Rusia oleh Russian Nihilist untuk mengorganisir teroris-teroris dalam melawan rezim czarist. Beberapa tahun kemudian algoritma ini mengalami perkembangan dan digunakan sebagai alat komunikasi mata-mata Soviet. ADFGVX ciphers merupakansalah satu dari sejumlah algoritma yang paling terkenal dalam seluruh sejarah kriptografi. Algoritma ADFGVX ciphers yang digunakan oleh pihak tentara Jerman ketika Perang Dunia I berlangsung ini adalah algoritma yang diciptakan dengan mengambil sebuah ide yang muncul pada masa lampau yaitu menghubungkan huruf-huruf alphabet dengan posisi-posisi yang terdapat di dalam sebuah jaringan atau tabel. Dari beberapa penjabaran di atas, penulis telah mengumpulkan beberapa jurnal dari berbagai sumber yang berkaitan dengan permasalahan yang sedang penulis bahas yaitu ada beberapa cara dalam menangani masalah kemanan ini salah satunya mengunakan algoritma penyandian seperti Nihilist dan ADFGVX. Oleh sebab itu, penulis mengajukan skripsi untuk untuk memecahkan permasalahan yang telah disebutkan di atas. Judul skripsi tersebut adalah ANALISIS PERBANDINGAN ALGORITMA NIHILIST DENGAN ADFGVX PADA PENGAMANAN FILE TEXT.
3 1.2. Rumusan Masalah Berdasarkan latar belakang diatas, maka yang menjadi rumusan masalah pada penelitian ini adalah membandingkan algoritma nihilist dan ADFGVX dalam mengenkripsi dan mendekripsi file text. 1.3. Batasan Masalah Dalam penelitian ini penulis membuat batasan masalah yaitu: 1. Algoritma yang digunakan adalah Nihilist dan ADFGVX. 2. Filetext yang digunakan untuk enkripsi dan dekripsi adalah dalam bentuk *.doc dan *.txt. 3. Bahasa pemrograman menggunakanvisual C# pada Microsoft Visual Studio 2010. 4. String berupa 25 huruf pada Nihilist dan kombinasi 26 huruf dan 10 angka untuk ADFGVX. 5. Huruf yang diinput dinamis sesuai dengan kebutuhan pengguna. 1.4. Tujuan Penelitian Penelitian ini bertujuan untuk membandingkanalgoritma nihilist dan algoritma ADFGVX dalam mengenkripsi dan mendekripsi file doc dan txt. Merancang sebuah aplikasi yang dapat melakukan pengamanan data pada file txt dan doc dengan menggunakan algoritma Nihilist Cipher dan ADFGVX yang dapat mengamati runningtime dan panjang karakter yang dihasilkan.
4 1.5. Manfaat Penelitian Penelitian ini diharapkan dapat bermanfaat bagi pengelola sistem informasi serta pihak-pihak yang membutuhkan untuk keamanan data, dan juga bisa bermanfaat bagi orang-orang yang ingin mengembangkan penelitian di bidang kemananan data. 1.6. Metodologi Penelitian Penelitian ini akan dilaksanakan dengan mengikuti beberapa langkah yang akan digunakan penulis, yaitu: 1. Studi Literatur Pada tahap ini, dilakukan peninjauan terhadap buku-buku, artikel-artikel, maupun hasil penelitian yang membahas tentang kriptografi ADFGVX dan Nihilist. 2. Analisis dan Perancangan Sistem Dengan tahap ini digunakan untuk mengolah data dari hasil studi literatur dan kemudian melakukan analisis dan perancangan menggunakan algoritma ADFGVX dan Nihilist sehingga menjadi suatu aplikasiyang terstruktur dan jelas. 3. Implementasi Sistem Menerapkan Algoritma ADFGVX Cipher dan RSA ke dalam aplikasi komputer yang sedang dirancang. 4. Pengujian Sistem Hasil program yang telah diimplementasikan diuji berdasarkan hasil analisis dan perancangan. 5. Dokumentasi Metode ini berisi laporan dan kesimpulan akhir dari hasil analisa dan pengujian dalam bentuk skripsi.
5 1.7. Sistematika Penulisan Sistematika penulisan skripsi ini terdiri dari beberapa bagian, yaitu: BAB 1: PENDAHULUAN Bab ini berisi latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan skripsi. BAB 2: LANDASAN TEORI Bab ini berisi teori-teori yang berkaitan dengan kriptografi, algoritma NihilistCipher, dan algoritma ADFGVX Cipher. BAB 3 : ANALISIS DAN PERANCANGAN SISTEM Bab ini berisi proses pembuatan algoritma program, UML, flowchart sistem, rancangan aplikasi, dan pembuatan user interface aplikasi. BAB 4 : IMPLEMENTASI DAN PENGUJIAN Bab ini berisi ulasan dan pengujian terhadap program yang telah diimplementasikan dengan menggunakan bahasa pemrograman C#. BAB 5: KESIMPULAN DAN SARAN Bab ini berisi kesimpulan yang didapat dalam menjalani penelitian ini dan saran yang yang berguna dalam usaha untuk melakukan perbaikan dan pengembangan penelitian ini.