Makalah Enkripsi Dan Dekripsi [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

MAKALAH ENKRIPSI DAN DEKRIPSI MATA KULIAH KEAMANAN KOMPUTER



OLEH: KELOMPOK VI IRAWAN HASDI SASMITA MIRNAYANTI LEONARDUS HARI



1704411044 1704411073 1704411269 1704411739



PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK KOMPUTER UNIVERSITAS COKROAMNOTO PALOPO 2019



KATA PENGANTAR Alhamdulillah, puji syukur kehadirat Allah SWT atas rahmat dan karuniaNya yang telah diberikan kepada kita semua. Salam dan shalawat semoga tetap tercurahkan kepada junjungan Nabi Muhammad SAW, keluarga dan para sahabatnya dan termasuk kepada seluruh umat Islam. Atas rahmat, karunia, dan petunjuk-Nya, makalah mengenai “ENKRIPSI DAN DEKRIPSI” ini dapat kami selesaikan dengan tuntas. Besar harapan kami, makalah ini dapat digunakan oleh para pembaca dengan sebaik-baiknya khususnya Mahasiswa Cokroaminoto Palopo. Penyusun berharap makalah ini dapat bermanfaat bagi mahasiswa maupun dosen yang membaca makalah ini. Kami juga berharap dengan hadirnya makalah ini dapat membantu dan mempermudah para dosen dalam proses belajar mengajar di dalam maupun di luar kelas. Penyusun Sadar bahwa makalah ini jauh dari sempurna, maka untuk itu Saran, kritik dan masukan sangat diharapkan dari para pembaca, khususnya dari teman-teman mahasiswa. Sehingga dalam pembuatan makalah selanjutnya bisa menjadi lebih baik lagi. Tidak lupa saya mengucapkan terima kasih kepada teman-teman yang telah membantu dalam penyusunan makalah ini, dan juga terima kasih Kepada Bapak Abdul Zahir, S.Pd., M.Pd. selaku dosen pada mata kuliah Keamanan Komputer yang telah memberikan arahan sehingga kami dapat menyusun makalah ini dengan tuntas.



Palopo,



September 2019



Penulis



ii



DAFTAR ISI SAMPUL........................................................................................................ i KATA PENGANTAR.................................................................................... ii DAFTAR ISI.................................................................................................. iii DAFTAR GAMBAR..................................................................................... iv DAFTAR TABEL.......................................................................................... v BAB I PENDAHULUAN 1.1 Latar Belakang................................................................................ 1 1.2 Rumusan Masalah........................................................................... 4 1.3 Tujuan Penulisan............................................................................. 4 1.4 Manfaat Penulisan........................................................................... 4 BAB II PEMBAHASAN 2.1 Algoritma....................................................................................... 5 2.2 Pengertian Kriptografi................................................................... 9 2.3 Kriptografi Cipher Blok (Block Cipher)........................................ 20 2.4 Enkripsi.......................................................................................... 32 2.5 Super Enkripsi................................................................................ 34 2.6 Dekripsi.......................................................................................... 46 2.7 Algoritma SIMON dan SPECK..................................................... 50 2.8 Pengamanan Kunci yang Digunakan Untuk Proses Enkripsi dan Dekripsi.......................................................................................... 53 2.9 Proses Enkripsi dan Dekripsi pada Mobile Phone......................... 54 BAB III PENUTUP 3.1 Kesimpulan..................................................................................... 56 3.2 Saran............................................................................................... 57 DAFTAR PUSTAKA..................................................................................... 58



iii



DAFTAR GAMBAR 2.1 Area Bidang Kriptologi................................................................................. 11 2.2 Hieroglyphcs Untuk Menyandikan Huruf..................................................... 13 2.3 Media Kriptologi yang Digunakan Oleh Bangsa Yunani Kuno................... 13 2.4 Caesae Whell................................................................................................. 14 2.5 Skema Cryptosystem: Secret-Key, Public-Key, dan Hash Function............. 17 2.6 Mekanisme Sistem Kriptografi..................................................................... 18 2.7 Kriptologi Berbasis Kunci............................................................................. 19 2.8 Block Cipher.................................................................................................. 20 2.9 Skema Mode ECB......................................................................................... 23 2.10 Skema Mode Operasional ECB.................................................................. 26 2.11 Proses Enkripsi Dengan Mode CFB........................................................... 30 2.12 Proses Dekripsi Dengan Mode CFB........................................................... 31 2.13 Proses Enkripsi Dengan Mode OFB........................................................... 31 2.14 Proses Dekripsi Dengan Mode OFB........................................................... 32 2.15 Algoritma Enkripsi Dengan Metode Hill Cipher dan Playfair Cipher....... 35 2.16 Algoritma Dekripsi Dengan Metode Hill Cipher dan Playfair Cipher....... 36 2.17 Skema Dasar Proses Algoritma Enkripsi DES............................................ 39 2.18 Skema Diagram Enkripsi AES.................................................................... 44 2.19 Proses Siftrows............................................................................................ 45 2.20 Proses MixColumns..................................................................................... 46 2.21 Proses AddRoundKey.................................................................................. 46 2.22 Skema Dasar Proses Algoritma Dekripsi DES........................................... 47 2.23 Skema Diagram Dekripsi AES.................................................................... 49 2.24 Proses InvShiftRows.................................................................................... 50 2.25 Enkripsi Algoritma Speck tipe 64/128 bit................................................... 52 2.26 Dekripsi Pada Speck................................................................................... 52



iv



DAFTAR TABEL 2.1 Hubungan antara jumlah ronde dan panjang kunci AES............................ 8 2.2 Proses Enkripsi untuk setiap blok............................................................... 23 2.3 Hasil uji statistik dengan metode super enkripsi........................................ 37 2.4 Permutasi awal............................................................................................ 40 2.5 Expansion (E)............................................................................................. 40 2.6 Subtitution box-1 (S(1)).............................................................................. 41 2.7 Subtitution box-2 (S(2)).............................................................................. 41 2.8 Subtitution box-3 (S(3)).............................................................................. 41 2.9 Subtitution box-4 (S(4)).............................................................................. 41 2.10 Subtitution box-5 (S(5))............................................................................ 42 2.11 Subtitution box-6 (S(6))............................................................................ 42 2.12 Subtitution box-7 (S(7))............................................................................ 42 2.13 Subtitution box-8 (S(8))............................................................................ 42 2.14 Permutation (P)........................................................................................ 43 2.15 Final Permutation (IP**-1)...................................................................... 43 2.16 S-Box Rijndael.......................................................................................... 45 2.17 Proses InvSubBytes................................................................................... 50



v



BAB I PENDAHULUAN 1.1



Latar Belakang Di Era Globalisasi seperti sekarang ini, arus informasi merupakan suatu hal



yang memegang peranan penting. Bahkan ada yang mengatakan bahwasanya jika ada yang mampu menguasai jaringan informasi, maka dia akan mampu menguasai dunia. Sehubungan dengan hal tersebut, banyak juga pihak-pihak yang berusaha mencuri atau mengakses informasi yang pihak tersebut tidak memiliki hak untuk melakukan akses terhadap informasi itu. Berbagai organisasi, perusahaan atau pihak-pihak lain telah memanfaatkan teknologi basis data untuk menyimpan dan mengelola data organisasi atau perusahaannya. Saat ini, keamanan terhadap data yang tersimpan dalam basis data sudah menjadi persyaratan mutlak. Pengamanan jaringan komputer yag terhubung dengan basis data sudah tidak lagi menjamin keamanan data karena kebocoran data dapat disebabkan oleh “orang dalam” atau pihak-pihak yang langsung berhubungan dengan basis data seperti administrator basis data. (Primartha, 2011). Kemajuan teknologi internet sebagai media penghantar informasi telah diadopsi oleh hampir semua orang dewasa ini. Dimana informasi telah menjadi sesuatu yang sangat berharga. Bagi pelaku usaha, informasi bisa dianggap senjata untuk meningkatkan daya saing. Bagi militer informasi bisa menjadi penentu kemenagna dalam perang. Bagi para wartawan, informasi menjadi sesuatu yang memiliki daya jual yang sangat mahal. Bagi perorangan, informasi menjadi sesuatu yang sangat pribadi. Bahkan informasi pun dapat menjadi alat untuk mempengaruhi perpolitikan bagi suatu negara. Pertukaran informasi menjadi hal yang sangat penting di era kehidupan saat ini. Begitu pentingnya pertukaran informasi tentunya harus disertai dengan keamanan informasi (information security). Seiring dengan kemajuan teknologi informasi maka sangat diperlukan sebuah keamanan data terhadap kerahasiaan informasi yang saling dipertukarkan melalui jaringan internet, apalagi jika data tersebut dalam suatu jaringan komputer yang terhubung/terkoneksi dengan jaringan lain. Hal tersebut tentu saja menimbulkan resiko bila informasi yang sensitif dan berharga tersebut diakses oleh orang yang tidak bertanggung jawab. 1



Yang mana, jika hal tersebut sampai terjadi, kemungkinan besar akan merugikan bahkan membahayakan orang yang akan mengirim pesan, maupun organisasinya. Informasi yang terkandung didalamnya pun bisa saja berubah sehingga menyebabkan salah penafsiran oleh penerima pesan. Selain itu, data yang dibajak kemungkinan rusak atau hilang yang menimbulkan kerugian material yang besar. Sutisna (2016) memaparkan bahwa Keamanan dalam menggunakan teknologi informasi merupakan suatu hal yang sangat penting dan vital. Seiring kemajuan, banyak ditemui celah yang dapat merusak komunikasi. Saat komunikasi diserang, maka sejumlah data dapat rusak atau bahkan hilang begitu saja. Kasus penyadapan telah ada sekitar 100 tahun yang lalu. Salah satu contoh kasus penyadapan yang terkenal yaitu perkara yang dilaporkan pada tahun 1867 oleh sebuah makelar saham Wall Street bekerja sama dengan Western Union untuk melakukan penyadapan ke operator telegrap yang dikirim ke koran yang ada di Timur Tengah kemudian pesan telegrap tersebut diganti dengan yang palsu. Beberapa kasus menyangkut keamanan jaringan komputer saat ini menjadi suatu pekerjaan yang membutuhkan biaya penanganan dan pengaman yang sedemikian besar. Sistem-sistem vital seperti sistem pertahanan, sistem perbankan, sistem bandara udara, dan sistem-sistem lain yang setingkatnya membutuhkan tingkat keamanan yang sedemikian tinggi. Karena begitu berharganya suatu informasi, maka informasi telah menjadi target serangan oleh para cracker. Karenanya keamanan suatu informasi menjadi sesuatu yang harus dijaga dengan baik. Pengamanan informasi pada prinsipnya berfungsi untuk melindungi informasi agar siapapun yang tidak berhak tidak dapat membaca, mengubahnya, atau menghapus informasi tersebut. Begitu banyak kasus penyadapan terhadap suatu informasi telah membuat para peneliti berfikir keras untuk mengamankannya. Perkembangan komputer dan sistem komunikasi berdampak pada permintaan dari sektor-sektor privat sebagai sarana untuk melindungi informasi dalam bentuk digital dan untuk menyediakan layanan keamanan. Cryptography atau kriptografi lebih populer ketika pertama kali diperkenalkan sebagai keamanan dalam tanda tangan digital. Salah satu kontribusi penting dari kriptograpi kunci publik adalah tanda tangan digital. Ini bermula pada tahun 1991



2



Standar Internasional pertama untuktana tangan digital (ISO/IEC 9796) diadopsi. Standar ini berdasar pada rancangan kunci publik RSA. Padatahun 1994 pemerintah US mengadopsi Digital Signature Standard, sebuah mekanisme yang berdasar pada rancangan kunci publik EIGamal. Namun, seiring kemajuan teknologi kriptografi hampir dipastikan sebagai suatu andalan dalam penyimpanan dan rahasia data oleh user privat. Keamanan menggunakan kriptografi, sebab dalam menggunakan kriptografi dibutuhkan mekanisme yang merupakan bentuk enkripsi dan dekripsi dari suatu data, sehingga untuk memecahkan tanpa suatu ketentuan atau alat khusus akan dirasakan sangat sulit. Dalam suatu perusahaan, maka kriptografi akan digunakan dalam proses komunikasi data. Melihat dari lingkup besarnya suatu perusahaan bergerak, maka sumber dayanya baik sumber daya manusia maupun infrastruktur TI dan biaya, ada beberapa aplikasi kriptografi yang mungkin diterapkan dalam lingkungan perusahaan itu sendiri. Untuk setiap perusahaan yang telah memilki devisi TI sendiri, penerapan aplikasi kriptografi ini akan lebih murah dan mudah. Aplikasiaplikasi kriptografi yang dapat diterapkan antara lain enkripsi pada password, file, dan e-mail. Pengguna diberikan ID dan password untuk mengakses sistem yang ada. Password di enkripsi untuk mencegah terjadinya akses ilegal terhadap sistem misalnya pencurian data-data penting oleh mereka yang tidak berhak. Demikian juga enkripsi pada file-file penting dapat dilakukan (misalnya file yang berisi data keuangan). Enkripsi dilakukan pada saat pengiriman informasi dengan cara mengubah atau menyandikan informasi dengan suatu mekanisme tertentu sedangkan dekripsi dilakukan pada saat penerimaan informasi dengan cara mengubah informasi yang telah disandikan menjadi informasi asalnya. Proses Dekripsi hanya dapat dilakukan oleh penerima dengan menggunakan kunci rahasia yang sebelumnya telah disepakati bersama. Dengan kriptografi, informasi yang dianggap rahasia dapat disembunyikan dengan teknik penyandian, sehingga tidak dimengerti oleh orang lain, selain oleh pembuat atau penerimanya saja.



3



1.2



Rumusan Masalah Berdasarkan latar belakang diatas, maka rumusan masalah dari makalah ini



adalah: 1.



Apa yang dimaksud dengan algoritma?



2.



Apa yang dimaksud dengan kriptografi?



3.



Bagaimana mekanisme kriptografi?



4.



Apa yang dimaksud dengan enkripsi dan dekripsi?



1.3



Tujuan Penulisan Berdasarkan rumusan masalah diatas, maka tujuan penulisan dari makalah



ini adalah: 1.



Untuk mengetahui apa itu algoritma.



2.



Untuk mengetahui apa itu kriptografi.



3.



Untuk mengetahui seperti apa mekanisme dari kriptografi.



4.



Untuk mengetahui apa itu enkripsi dan dekripsi.



1.4



Manfaat Penulisan Adapun manfaat dari penulisan makalah ini adalah memberikan informasi



kepada pembaca mengenai algoritma, kriptografi, sejarah kriptogrfi, enkripsi dan dekripsi.



4



BAB II PEMBAHASAN 2.1



Pengertian Algoritma Ditinjau dari asal-usul kata, algoritma mempunyai sejarah yang menarik.



Kata ini muncul di dalam kamus Webster. Sampai akhir tahun 1957 hanya ditemukan kata algorism yang mempunyai arti proses perhitungan dengan bahasa Arab. Algoritma berasal dari nama penulis buku Arab yang terkenal, yaitu Abu Ja’far Muhammad ibnu Musa al-Khuwarizmi (al-Khuwarizmi dibaca oleh orang Barat menjadi algorism). Kata algorism lambat laun berubah menjadi algorithm. (Ariyus & Rum, 2008). Hakim, Khairil, Ferry Hari Utami (2014) mengemukakan bahwa Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematik dan logis. Kata logis merupakan kata kunci dalam algoritma. Langkahlangkah dalam algoritma harus logis dan harus dapat ditentukan bernilai benar atau salah. Algoritma adalah cara yang dapat ditempuh oleh komputer dalam mencapai suatu tujuan, terdiri atas langkah-langkah yang terdefinisikan dengan baik, menerima input, melakukan proses, dan menghasilkan output. Berikut ini adalah contoh menuliskan algoritma: TUKAR ISI BEJANA; Algoritma TUKAR_ISI_BEJANA Diberikan dua buah bejana, A dan B. Bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan merah. Deskripsi: 1) Tuangkan larutan dari bejana A ke bejana C 2) Tuangkan larutan dari bejana B ke bejana A 3) Tuangkan larutan dari bejana C ke bejana B



5



2.1.1 Algoritma DES Algoritma penyandian data yang telah dijadikan standard sejak tahun 1977 adalah Data Encryption Standard (DES) setelah disetujui oleh National Bureau of Standard (NBS) dan setelah dinilai kekuatannya oleh National Security Agency (NSA). Algoritma DES dikembangkan di IBM di bawah kepemimpinan W.L. Tuchman pada tahun 1972. Kekuatan DES saat itu terletak pada panjang kuncinya yaitu 56-bit. Akibat perkembangan teknologi yang begitu pesat, DES dalam beberapa hal, terbukti kurang dalam hal jaminan aspek keamanan. Perangkat keras khusus yang bertujuan untuk menentukan kunci 56-bit DES hanya dalam waktu beberapa



jam sudah dapat dibangun. Pada tahun 1998,



Electronic



Frontier Foundation menggunakan suatu komputer yang dikembangkan secara khusus yang bernama DES Cracker, dalam waktu kurang dari tiga hari telah mampu untuk memecahkan DES. DES menggunakan kunci sebesar 64 bit untuk mengenkripsi blok juga sebesar 64 bit. Akan tetapi karena 8 bit dari kunci digunakan sebagai parity, kunci efektif hanya 56 bit. Permutasi menggunakan initial permutation yang dilakukan terhadap input sebesar 64 bit. Hasil permutasi dibagi menjadi dua blok L0 dan R0, masing-masing sebesar 32 bit, dimana L0 merupakan 32 bit pertama dari hasil permutasi dan R0 merupakan 32 bit sisanya (bit 33 hasil permutasi menjadi bit 1 R0). Sebanyak 16 putaran enkripsi dilakukan menggunakan fungsi cipher f dan setiap putaran menggunakan kunci 48 bit yang berbeda dan dibuat berdasarkan kunci DES. Efeknya adalah setiap blok secara bergantian dienkripsi, masingmasing sebanyak 8 kali. Beberapa pertimbangan



tersebut telah manandakan bahwa diperlukan



sebuah standard algoritma baru dan kunci yang lebih panjang. Setelah itu, dibuatlah beberapa pengembangan dari DES dengan cara memperbesar ruang kunci. Varian pengembangan DES yang paling dikenal adalah DES Berganda, yakni pemanfaatan DES berkali-kali untuk proses enkripsi dan dekripsinya. Double DES mempunyai kelemahan yaitu ia dapat diserang dengan algoritma yang dikenal sebagai meet-in-the-middle-attack, yang pertama kali ditemukan oleh Diffie dan Hellman. Sebagai bentuk pencegahan terhadap serangan tersebut,



6



maka digunakanlah tiga kali langkah DES. Bentuk tersebut dinamakan sebagai Triple DES. 2.1.2 Algoritma AES Dalam kriptografi dikenal algoritma block chiper



yang di



dalamnya



terdapat AES (Anvanced Encyption Standard) merupakan bagian dari Modern Symmetric Key Cipher, algoritma ini menggunakan kunci yang sama pada saat proses enkripsi dan deskripsi sehingga data yang kita miliki akan sulit dimengerti maknanya. Teknik algoritma tersebut digunakan untuk mengkonversi data dalam bentuk kode-kode tertentu, untuk tujuan agar informasi yang tersimpan tidak bisa di baca siapa pun kecuali orang-orang yang berhak. Oleh karena itu, sistem keamanan data sangat di perlukan untuk menjaga kerahasian informasi agar tetap terjaga. AES (Advanced Encryption Standard) adalah teknik enkripsi yang dijadikan standard FIPS oleh NIST tahun 2001. AES dimaksudkan akan, secara bertahap, menggantikan DES sebagai standard enkripsi di Amerika Serikat untuk abad ke 21. (DES sebagai standard FIPS telah dicabut, Mei 2005.) AES menjadi standard melalui proses seleksi. Dari beberapa teknik enkripsi yang dicalonkan untuk menjadi AES, yang terpilih adalah enkripsi Rijndael. Teknik enkripsi ini termasuk jenis block cipher seperti halnya dengan DES. Perbedaan utama antara teknik enkripsi AES dan teknik enkripsi DES adalah AES juga menggunakan substitusi (menggunakan S-boxes) secara langsung terhadap naskah, sedangkan substitusi Sbox digunakan DES hanya dalam fungsi cipher f yang hasilnya kemudian dioperasikan terhadap naskah menggunakan XOR, jadi DES tidak menggunakan substitusi secara langsung terhadap naskah. AES juga menggunakan kunci enkripsi yang lebih besar yaitu 128 bit, 192 bit, atau 256 bit. AES merupakan sistem penyandian blok yang bersifat non-Feistel karena AES merupakan komponen yang selalu memiliki invers dengan panjang blok 128 bit. Kunci AES dapat memiliki panjang kunci bit 128, 192, dan 256 bit. Penyandian AES menggunakan proses yang berulang yang disebut dengan ronde. Jumlah ronde yang digunakan oleh AES tergantung dengan panjang kunci yan digunakan. Setiap ronde membutuhkan kunci ronde dan masukan dari ronde berikutnya. Kunci ronde dibangkitkan berdasarkan kunci yang diberikan. 7



Perbedaan panjang kunci akan mempengaruhi jumlah round (putaran) yang akan diimplementasikan pada algoritma AES ini. Ada 10, 12, atau 14 putaran dalam AES yang sesuai dengan ukuran kunci yang digunakan. Setiap putaran mengandung: 1) Penggantian Byte yang sama dengan DES. 2) Peralihan = pertukaran baris. 3) Campur Jalur = peralihan kiri dan XOR bit-bit. 4) Penambahan sub-kunci = XOR bagian kunci dengan keputusan kitaran. Relasi antara jumlah ronde dan panjang kunci diberikan oleh Tabel berikut. Tabel 2.1 Hubungan antara jumlah ronde dan panjang kunci AES Panjang Kunci AES (bit)



Jumlah Ronde (Nr)



128 192 256



10 12 14



2.1.3 Algoritma RC4 Setyaningsih (2015:132) mengemukakan bahwa RC4 (ARCFOUR) adalah cipher aliran yang digunakan secara luas pada sistem keamanan seperti protokol Source Socket Layer (SSL). Algoritma kriptografi ini sederhana dan mudah diimplementasikan. RC4 dibuat oleh Ron Rivest dari Laoratorium RSA (RC adalah singkatan dari Ron’s Code). RC4 membangkitkan keystream yang kemudian di-XOR-kan dengan plaintext pada waktu enkripsi (atau di-XOR-kan dengan bit-bit ciphertext pada waktu dekripsi). RC4 tidak seperti cipher aliran yang memproses data dalam bit. RC4 memproses data dalam ukuran byte. 2.1.4 Algoritma A5 Algoritma A5 merupakan jenis algoritma simetrik dimana kunci yang dipakai untuk proses enkripsi dan dekripsi yang sama. A5 digunakan untuk mengenkripsi transmisi sinyal percakapan dari standar telepon seluler GSM (Groupe Special Mobile). Algoritma A5 dibagi menjadi A5/1, A5/2, dan versi terbarunya, yaitu A5/3. Algoritma A5/1 yang merupakan dasar enkripsi pada jaringan GSM pertama kali dikriptanalisis oleh Golic. Golic berhasil mendekripsi 8



informasi tersebut karena adanya gambaran besar mengenai informasi A5/1 yang beredar. Algoritma A5/2 pertama kali dianalisis oleh Goldberg, Wagner, dan Green. Mereka berhasil melakukan kriptanalisis terhadap algoritma tersebut dalam waktu yang relatif cepat. Cara kriptanalisis yang digunakan oleh mereka adalah dengan mendapatkan 2 buah plaintext dan dengan menggunakan reverse engineering. Cara lain yang ditawarkan oleh Petrovi’c dan F’uster-Sabater untuk melakukan kriptanalisis terhadap algoritma A5/2 adalah dengan menggunakan sebuah rumus kuadratik yang variabelnya akan mendeskripsikan keadaan A5/2 tersebut. Apabila menggunakan cara ini, kita tidaka akan mendapatkan kunci untuk mendekrisi, tetapi hanya dapat mendekripsi sisa dari informasi yang ada pada suatu komunikasi yang telah tersandikan. (Dirwin: 2011, dalam Setyaningsih: 2015). Pada tahun 2002 sebuah algoritma keamanan baru yang dikenal sebagai A5/3 telah memberikan tingkat keamanan yang lebih tinggi terhadap eavesdropping. Algoritma ini juga memastikan bahwa, walaupun seseorang dapat mengambil sinyal percakapan GSM, ia tidak dapat memahami hasil yang ia curi tersebut, meskipun melalui proses komputasi yang tinggi. Sebetulnya algoritma A5/3 ini didasari oleh algoritma lain yang dikembangkan oleh Security Algorithms Group of Experts (SAGE), yang merupakan bagian dari European Telecommunications Standards Intitute (ETSI), yaitu KASUMI. SAGE diminta untuk mengembangkan sebuah algoritma untuk mobile telephone generasi ketiga berdasarkan spesifikasi yang diberikan oleh SA-WG2. Akibat tenggat jadwal waktu yang singkat, SAGE memutuskan bahwa mereka akan menggunakan algoritma yang telah ada sebelumnya sebagai dasar dari algoritma baru yang akan mereka kembangkan. Yaitu MISTY1. Alasan pemilihan algoritma ini karena MISTY1 memiliki tingkat keamanan yang tinggi. Algoritma ini juga merupakan satu-satunya algoritma yang dapat berjalan pada perangkat keras yang menggunakan tidak lebih dari sepuluh ribu gerbang logika. (Donnie: 2007, dalam Setyaningsih: 2015). 2.2



Pengertian Kriptografi Setyaningsih (2015:1) memaparkan bahwa pengaman terhadap data



(informasi) dapat dilakukan dengan beberapa cara, yaitu steganografi, 9



watermarking, dan kriptografi. Steganografi adalah ilmu menulis atau menyembunyikan pesan tersembunyi dengan suatu cara sehingga selain si pengirim dan si penerima, tidak ada seorangpun yang mengetahui atau menyadari keberadaan suatu pesan rahasia. Steganografi berbeda dengan watermarking dan kriptografi, yang menyamarkan arti pesan, namun tidak menyembunyikan keberadaan pesan. Steganografi dan kriptografi sering kali digunakan secara bersamaan untuk menjamin keamanan pesan rahasia. Secara etimologi (ilmu asal usul kata), kata kriptografi berasal dari gabungan dua kata dalam bahasa Yunani yaitu “kriptos” dan “graphia”. Kata kriptos digunakan untuk mendeskripsikan sesuatu yang disembunyikan, rahasia atau misterius. Sedangkan kata graphia berarti tulisan. Kriptografi didefinisikan sebagai ilmu dan pelajaran untuk tulisan rahasia dengan pertimbangan bahwa komunikasi dan data dapat dikodekan untuk mencegah dari mata-mata atau orang lain yang ingin mengetahui isinya, dengan menggunakan kode-kode dan aturanaturan tertentu dan metode lainnya sehingga hanya orang yang berhak yang dapat mengetahui isi pesan sebenarnya. (Munir : 2005, dalam Aulia: 2016) Kriptografi secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita. Selain pengertian tersebut terdapat pula pengertian ilmu yang mengajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data (A. Menezes, P. Van Oorschot and S. Vanstone-Handbook of Applied Cryptography). Kata kriptografi berasala dari bahasa yunani dan memiliki makna seni dalam menulis pesan rahasia (The art of secret writing), dimana kriptografi terdiri dari 2 kata yaitu cryptos yang artinya rahasia atau tersembunyi dan graphein yang berarti tulisan. (Kaufman et. al. :2002, dalam Hakim : 2014) Sadikin (2012:9) memaparkan kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari bagaimana menyembunyikan pesan. Namun pada pengertian modern kriptografi adalah ilmu yang bersandarkan pada teknik matematika untuk berurusan dengan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas. Jadi pengertian kriptografi modern adalah tidak saja berurusan hanya dengan penyembunyian pesan namun lebih pada sekumpulan teknik yang menyediakan keamanan informasi.



10



Kriptografi bertujuan untuk menjaga kerahasiaan informasi yang terkandung dalam data sehingga informasi tersebut tidak dapat diketahui oleh pihak yang tidak sah. Perancang algoritma kriptogafi disebut kriptografer.



Kriptologi



Kriptografi (Membuat sandi rahasia)



Kriptanalisis (Memecahkan sandi)



Desain yang menggunakan fungsi satu arah (Fungsi hash, sistem kunci rahasia)



Steganografi (Menyembunyikan pesan)



Kriptosistem yang menggunakan kunci publik



Gambar 2.1 Area Bidang Kriptologi Kriptanalisis (cryptanalysis) adalah suatu ilmu dan seni membuka (breaking) ciphertext menjadi plaintext tanpa mengetahui kunci yang digunakan. Pelaku kriptanalisis disebut kriptanalis (cryptanalyst). Kriptanalis merupakan “lawan” kriptografer. Persamaan kriptanalis dan kriptografer adalah bahwa keduanya sama-sama menerjemahkan ciphertext menjadi plaintext. Sementara perbedaannya adalah kriptanalis bekerja atas nama penyadap yang tidak berhak. Sedangkan kriptografer bekerja atas legitimasi pengirim atau penerima pesan. (Setyaningsih, 2015). Kriptogafi sesungguhnya merupakan studi terhadap teknik matematis yang terkait dengan aspek keamanan suatu sistem informasi seperti kerahasiaan, integritas data, autentikasi, dan ketiadaan penyangkalan. Keempat aspek tersebut merupakan tujuan fundamental dari suatu sistem kriptografi (Schneier: 1996, dalam Setyaningsih: 2015). a.



Kerahasiaan (Confidentiality): kerahasiaan adalah layanan yang digunakan untuk menjaga informasi dari setiap pihak yang tida berwenang untuk mengaksesnya. Informasi ini tentunya hanya dapat diakses oleh pihak-pihak



11



yang berhak. Contoh serangannya adalah sniffing. Proteksi dilakukan dengan metode enkripsi. b.



Integrtas Data (Data Integrity): integritas data adalah layanan yang bertujuan untuk mencegah terjadinya penubahan inforasi oleh pihak yang tidak berwenang. Integritas data harus dipastikan agar sistem informasi mampu mendeteksi terjadinya manipuasi data. Manipulasi data yang dimaksud disini meliputi, penyisipan, penghapusan, ataupun penggantian data. Contoh serangannya adalah spoffing, virus, trojan horse, atau man in the middle attack. Proteksi dilakukan dengan signature, certificate, dan hash.



c.



Autentikasi



(Authentication):



adalah



layanan



yang



terkait



dengan



identifikasi terhadap pihak-pihak yang ingin mengakses sistem informasi (authentication) ataupun keaslian data dari sistem informasi itu sendiri ( data origin authentication). Contoh serangannya adalah password palsu, terminal palsu, atau situs web palsu. Proteksi dilakukan dengan certificates. d.



Ketiadaan Penyangkalan (Non-Repudiation): adalah layanan yang berfungsi untuk mencegah terjadinya penyangkalan terhadap suatu aksi yang dilakukan oleh pelaku sistem informasi.



2.2.1 Sejarah Kriptografi Lima kelompok orang yang menggunakan dan berkontribusi pada kriptografi adalah: 1.



Milter (termasuk intelijen dan mata-mata).



2.



Korps diplomatik.



3.



Penulis buku harian (diarist).



4.



Pecinta (lovers), di India kriptografi digunakan oleh pecinta untuk berkomunikasi tanpa diketahui orang. Bukti ini ditemukan dalam buku Kama



Sutra



yang



merekomendasikan



bahwa



wanita



seharusnya



mempelajari seni memahami tulisan dengan cipher. 5.



Keagamaan, kriptografi digunakan untuk alasan keagamaan demi menjaga tulisan religius dari gangguan otoritas politik atau budaya yang dominan saat itu. Contohnya 666 atau the Number o the Beast di dalam Kitab Perjanjian Baru. 12



Kriptografi memiliki sejarah yang panjang dan mengagumkan. Sejarah lengkap kriptografi dapat ditemukan di dalam buku David Khan, The Codebreakers. Penulisan rahasia ini dapat dilacak kembali ke 3.000 tahun SM saat digunakan oleh bangsa Mesir. Menggunakan hieroglyphcs yang tidak standar untuk menyembunyikan tulisan supaya tidak dapat diketahui oleh mereka yang tidak diharapkan.



Gambar 2.2 Hieroglyphcs untuk menyandikan huruf Hieroglyphcs diturunkan dari bahasa Yunani hieroglyphica yang berarti “ukiran rahasia”. Hieroglyphcs berevolusi menjadi hieratic, yaitu aksara bergaya (stylezed script) yang lebih mudah digunakan.



Gambar 2.3 Media kriptografi yang digunakan oleh bangsa Yunani kuno Sekitar 400 SM, kriptografi militer digunakan oleh bangsa Sparta dalam bentuk sepotong papirus atau scytale, perkamen yan dibungkus dengan batang kayu silinder (gambar diatas). Pada media tersebut pesan ditulis secara horizontal (baris per baris). Bila pita dilepaskan, huruf-huruf didalam tersusun membentuk



13



pesan rahasia. Untuk membaca pesan, penerima melilitkan kembali silinder yang diameternya sama dengan diameter silinder pengirim. Sekitar 50 SM, Julius Caesar, Kaisar Roma, menggunakan cipher subtitusi untk mengirim pesan ke Marcus Tullius Cicero. Pada cipher ini huruf-huruf alfabet disubtitusi dengan huruf-huruf yang lain pada alfabet yang sama. Karena hanya satu alfabet yang digunakan, cipher ini merupakan subtitusi monoalfabetik. Cipher semacam ini mencakup penggeseran alfabet dengan 3 huruf dan mensubtitusikan huruf tersebut. Subtitusi ini kadang dikenal dengan C3 (untuk Caesar menggeser 3 tempat). Secara umum cipher sistem Caesar dapat ditulis dengan persamaan berikut: Zi = Cn (Pi)



(2.1)



Keterangan: Zi = karakter-karakter ciphertext Cn = transformasi subtitusi alfabetik n = jumlah huruf yang digeser Pi = karakter-karakter plaintext Disk cipher mempunyai peranan penting dalam kriptografi sekitar 500 tahun yang lalu. Sekitar tahun 1460 di Italia, Leon Battista Alberti mengembangkan disk cipher untuk enkripsi. Sistemnya terdiri atas dua disk konsentris. Setiap disk memiliki alfabet di sekelilingnya, dan dengan memutar salah satu disk dalam hubungannya dengan disk yang lain, huruf pada alfabet yang satu dapat ditransformasikan ke huruf alfabet yang lain.



Gambar 2.4 Caesar whell



14



Di inggris pada abad ke-17, sejarah telah mencatat adanya korban terkait dengan kriptografi. Ratu Maria dari Skotlandia dipancung setelah pesan rahasianya dari balik penjara (pesan terenkripsi berisi rencana untuk membunuh Ratu Elizabeth I) berhasil dipecahkan oleh Thomas Phelippes, seorang pemecah kode. Sejarah kriptografi paralel dengan sejarah kriptanalisis. Bangsa Arab menciptakan kriptanalisis karena kemahiran mereka dalam bidang matematika, statistik,



dan



linguistik.



Karena



setiap



muslim



perlu



menambahkan



pengetahuannya. Mereka mempelajari peradaban terdahulu dan menerjemahkan tulisan-tulisan dari era tersebut ke bahasa Arab. Pada tahun 815, Khalifah alMamun Mendirikan House of Wisdom di Bagdad yang menjadi titik pusat dari usaha-usaha penerjemahan. Kriptanalisis dikemukakan pertama kali oleh seorang filsuf Arab pada abad ke-9 bernama Abu Yususf Yaqub Ibnu Ishaq Ibnu As-Sabbah Ibnu ‘Omran Ibnu Ismail Al-Kindi, atau yang lebih dikenal sebagai Al-Kindi. Al-Kindi menuliskan buku tentang seni memecahkan kode yang berjudul Risalah fi Istikhraj alMu’amma (A Manuscript on Deciphering Cryptographic Messages). Al-Kindi menemukan frekuensi perulangan huruf di dalam Al-Qur’an. Teknik yang digunakan Al-Kindi kelak dinamakan analisis frekuensi, yaitu tekni untuk memecahkan ciphertext berdasarkan frekuensi kemunculan karakter di dalam pesan. Pada tahun 1790, Thomas Jefferson mengembangkan data enkripsi dengan menggunakan tumpukan 26 disk yang dapat diputar secara terpisah. Pesan dirakit dengan memutar setiap disk ke huruf yang tepat dibawah batang berjajar. Kemudian, batang berjajar diputar dengan sudut tertentu (A), dan huruf-huruf dibawah batang adalah pesan yang terenkripsi. Penerima akan menjajarkan karakter-karakter cipher di bawah batang berjajar, memutar batang kembali dengan sudut A dan membaca pesan plaintext. Sistem disk digunakan secara luas selama perang sipil Amerika Serikat. Seorang perwira-sinyal federal mendapatkan hak paten pada sistem disk yang mirip dengan yang ditemukan oleh Leon Battista Alberti di Italia, dan dia menggunakannya untuk mengodekan dan mendekodekan sinyal-sinyal bendera.



15



Sistem unix menggunakan cipher subitusi yang disebut ROT 13 yang menggeser alfabet sebanyak 13 tempat. Penggeseran 13 tempat lainnya membawa alfabet kembali ke posisi semula untuk mendekodekan pesan. Mesin kriptografi mekanik yang disebut Hogelin Machine dibuat pada tahun1920 oleh Boris Hagelin di Stockholm, swedia. Di Amerika, mesin Hegelin dikenal sebagai M-209. Pada tahun 1920-an, Herbert O. Yardley bertugas di organisasi rahasia Amerika MI-8 yang dikenal sebagai Black Chamber. MI-8 menjebol kode-kode sejumlah negara. Selama konferensi Angkatan Laut Washington tahun1921-1922, Amerika Serikat membatasi negosiasi dengan Jepang karena MI-8 telah memberikan rencana negosiasi Jepang yang telah disadap kepada Sekretaris Negara Amerika. Penutupan MI-8 pada tahun 1929 oleh Departemen Luar Negeri membuat Yadley merasa kecewa. Sebagai balasannya, Yadley menerbitkan buku The American Black Chamber, yang menggambarkan kepada dunia tentang rahasia MI-8. Karena kontribusinya dalam bidang kriptografi, Yadley dikenal sebagai “Bapak Kriptografi Amerika”. (Setyaningsih, 2015). 2.2.2 Mekanisme Kriptografi Situmorang



(2016)



menjelaskan



bahwa



Suatu



sistem



kriptografi



(kriptosistem) bekerja dengan cara menyandikan suatu pesan menjadi suatu kode rahasia yang dimengerti oleh pelaku sistem informasi saja. Pada dasarnya mekanisme kerja semacam ini telah dikenal sejak jaman dahulu. Bangsa Mesir kuno sekitar 4000 tahun yang lalu bahkan telah mempraktekannya dengan cara yang sangat primitif. Dalam era teknologi informasi sekarang ini, mekanisme yang sama masih digunakan tetapi tentunya implementasi sistemnya berbeda. Berikut ini adalah rangkuman beberapa mekanisme yang berkembang pada kriptografi modern: 1.



Fungsi Hash. Fungsi Hash adalah fungsi yang melakukan pemetaan pesan dengan panjang sembarang ke sebuah teks khusus yang disebut message digest dengan panjang tetap. Fungsi hash umumnya dipakai sebagai nilai uji (check value) pada mekanisme keutuhan data.



2.



Penyandian dengan kunci simetrik (Symmetric key encipherment). Penyandian dengan kunci simetrik adalah penyandian yang kunci enkripsi 16



dan dekripsi bernilai sama. Kunci pada penyandian simetrik diasumsikan bersifat rahasia hanya pihak yang melakukan enkripsi dan dekripsi yang mengetahui nilainya. Oleh karena itu, penyandian dengan kunci simetrik disebut juga penyandian dengan kunci rahasia (secret key encipherment). 3.



Penyandian dengan kunci asimetrik (Asymmetric key encipherent). Penyandian dengan kunci asimetrik atau sering juga disebut dengan penyandian kunci publik (public key) adalah penyandian dengan kunci enkripsi dan dekripsi berbeda nilai. Kunci enkripsi yang juga disebut dengan kunci publik (public key) bersifat terbuka. Sedangkan kunci dekripsi yang juga disebut dengan kunci pivat (pivate key) bersifat tertutup/rahasia.



Gambar 2.5 Skema cryptosystem: secret-key, public-key, dan hash function 2.2.3 Sistem Kriptografi Stinson (2002, dalam Sadikin: 2012) memaparkan bahwa sistem kriptografi terdiri dari 5 bagian, yaitu: 1.



Plaintext: pesan atau data dalam bentuk aslinya yang dapat terbaca. Plaintext adalah masukan bagi algoritma enkripsi. Untuk selanjutnya digunakan istilah teks asli sebagai padanan kata plaintext.



2.



Secret key: secret key yang juga merupakan masukan bagi algoritma enkripsi merupakan nilai yang bebas terhadap teks asli dan menentukan



17



hasil keluaran algoritma enkripsi. Untuk selanjutnya digunakan istilah kunci rahasia sebagai padanan kata secret key. 3.



Ciphertext: chiphertext adalah keluaran algoritma enkripsi. Ciphertext dapat dianggap sebagi pesan dalam bentuk tersembunyi. Algoritma enkripsi yang baik akan menghasilkan ciphetext yang telihat acak. Untuk selanjutnya digunakan istilah teks sandi sebagai padanan kata ciphertext.



4.



Algoritma Enkripsi: Algoritma enkripsi memiliki 2 masukan yaitu teks asli dan kunci rahasia. Algoritma enkripsi melakukan transformasi terhadap teks asli sehingga menghasilkan teks sandi.



5.



Algoritma Dekripsi: Algoritma deksripsi memiliki 2 masukan yaitu teks sandi dan kunci rahasia. Algoritma dekripsi memulihkan kembali teks sandi menjadi teks asli bila kunci rahasia yang dipakai algoritma dekripsi sama dengan kunci rahasia yang dipakai algoritma enkripsi. Plaintext



Ciphertext Enkripsi



Plaintext Dekripsi



Gambar 2.6 Mekanisme Kriptografi Prosesnya pada dasarnya sangat sederhana. Sebuah plaintext (m) akan dilewatkan pada proses enkripsi (E) sehingga menghasilkan suatu ciphertext (c). Kemudian untuk memperoleh kembali plaintext, maka ciphertext (c) melalui proses dekripsi (D) yang akan menghasilkan kembali plaintext (m). Secara matematis proses ini dapat dinyatakan sebagai: 1.



Proses Enkripsi C = E(M)



(2.2)



Keterangan: M = pesan asli E = Proses Enkripsi C = pesan dalam bahasa sandi (untuk ringkasnya, disebut sandi) 2.



Proses Dekripsi M = D(C)



(2.3)



Keterangan: D = proses dekripsi 18



Kriptografi sederhana seperti ini menggunakan algoritma penyandian yang disebut cipher. Keamanannya bergantung pada kerahasiaan algoritma penyandian tersebut. Oleh karena itu, algoritmanya harus di rahasiakan. Kriptografi yang digunakan pada kelompok yang besar dengan anggota yang senantiasa berubah akan menimbulkan masalah. Permasalahan timbul jika ada anggota yang meninggalkan kelompok. Jika itu yang terjadi, algoritma harus diganti karena anggota tersebut bisa saja membocorkan algoritma. Selain memanfaatkan algoritma, kriptografi modern juga menggunakan kunci (key) untuk memecahkan masalah keluarnya anggota kelompok. Proses enkripsi dan dekripsi dilakukan dengan kunci. Setiap anggota memiliki kuncinya masing-masing yang digunakan untuk proses enkripsi dan dekripsi yang akan dilakukannya.



Plaintext



Ciphertext Enkripsi



Plaintext Dekripsi



Gambar 2.7 Kriptografi berbasis kunci 1. Proses Enkripsi C = Ee (M)



(2.4)



Keterangan: M = pesan asli E = proses enkripsi C = pesan dalam bahasa sandi e = kunci enkripsi 2. Proses Dekripsi M = Dd (C)



(2.5)



D = proses dekripsi d = kunci dekripsi



19



2.3



Kriptografi Cipher Blok (Block Cipher) Cipher blok adalah algoritma kriptografi pembagi plaintext yang akan



dikirimkan menggunakan ukuran tertentu (disebut blok) dengan panjang t, dan setiap blok akan dienkripsi dengan kunci yang sama. Pada umumnya, cipher blok memproses plaintext dengan blok yang relatif panjang lebih dari 64 bit, untuk mempersulit pengguna pola-pola serangan untuk membongkar kunci. Misalnya panjang bloknya 64 bit, maka algoritma enkripsi memerlukan 8 karakter setiap kali enkripsi (1 karakter = 8 bit dalam pengodean ASCII). Algoritma enkripsi menghasilkan blok ciphertext yang pada kebanyakan sistem kriptografi simetrik berukuran sama dengan blok plaintext karena blok plaintext yang sama akan dienkripsi menjadi blok ciphertext yang sama bila digunakan kunci yang sama pula. Hal ini berbeda dengan cipher aliran dimana bit-bit plaintext yang sama akan dienkripsi menjadi bit ciphertext yang berbeda setiap kali dienkripsi. (Setyaningsih, 2015). Blok Ciphertext C C = (c1, c2,...,cm)



Blok Plaintext P P = (p1, p2,...,pm)



Kunci K



Kunci K E



D



Blok Plaintext P



Blok Ciphertext C C = (c1, c2,...,cm)



P = (p1, p2,...,pm)



Gambar 2.8 Blok Cipher Misalkan blok plaintext (P) yang berukuran m bit dinyatakan sebagai vektor P = (P1, P2, ......, Pm) yang dalam hal ini, Pi adalah 0 atau 1 untuk i = 1,2,..., m, dan blok ciphertext (C) adalah C = (C1, C2, ......, Cm) yang dalam hal ini,Ci adalah 0 atau 1 untuk i = 1, 2, ....., m. Jika plaintext dibagi menjadi n blok, barisan blokblok plaintext dinyatakan sebagai (P1, P2 ,......., Pn). Untuk setiap blok plaintext Pi, bit-bit penyusunnya dapat dinyatakan sebagai vektor. 20



Pi = (Pi1, Pi2, ....., Pim)



(2.6)



Enkripsi dan dekripsi dengan kunci K dinyatakan berturut-turut dengan persamaan 2.7 dan 2.8 EK(P) = C



(2.7)



DK(C) = P



(2.8)



Fungsi E haruslah fungsi yang berkorespondensi satu ke satu sehingga E1 = D. Algoritma cipher blok menggabungkan beberapa teknik kriptografi klasik berikut kedalam proses enkripsi sehingga dapat menjadi super enkripsi. 1.



Subtitusi: Menggantikan satu atau sekumpulan bit pada blok plaintext tanpa mengubah urutannya.



2.



Transposisi atau permutasi: Memindahkan atau menggeser posisi bit pada blok plaintext berdasarkan aturan tertentu.



3.



Ekspansi: Memperbanyak jumlah bit pada blok plaintext berdasarkan aturan tertentu, misalnya 32-bit menjadi 48-bit.



4.



Kompresi: Kebalikan dari ekspansi, jumlah bit pada blok plaintext dimampatkan berdasarkan aturan tertentu. Pada tahun 1949, claude Shannon mempublikasikan makalahnya yang



berjudul “Communication Theory of Secrecy Systems”. Di dalam makalah itu terdapat dua prinsip penyandian yang sering digunakan dalam perancangan cipher blok yang kuat, yaitu confusion dan diffusion. (Shannon: 1949, dalam Setyaningsih: 2015). 1.



Confusion Prinsip ini menyembunyikan semua hubungan antara plaintext, ciphertext, dan kunci. Prinsip confusion akan membuat kriptanalis frustasi dalam pencarian pola-pola statistik yang muncul pada cipher. Jika diterapkan secara benar, prinsip ini akan membuat hubungan statistik antara plaintext, ciphertext, dan kunci menjadi sangat rumit.



2.



Diffusion Prinsip diffusion menyebarkan pengaruh satu bit plaintext atau kunci ke sebanyak mungkin ciphertext. Sebagai contoh, pengubahan kecil pada plaintext sebanyak satu atau dua bit akan menghasilkan perubahan pada ciphertext



yang



tidak



dapat



diprediksi.



21



Prinsip



diffusion



juga



menyembunyikan hubungan statistik antara plaintext, ciphertext, dan kunci untuk membuat kriptanalis menjadi sulit. Untuk mendapatkan keamanan yang baik, prinsip confusion dan diffusion diulang berkali-kali pada sebuah blok tunggal dengan kombinasi yang berbeda. Sistem cipher blok juga mempunyai 4 mode operasi yang dpaat diterapkan untuk melakukan enkripsi terhadap keseluruhan blok plaintext yaitu electronic code book (ECB), cipher block chaining (CBC), cipher feedback (CFB), dan Output feedback (OFB). 2.3.1 Electronic code book (ECB) Proses enkripsi pada mode ECB dilakukan dengan cara setiap blok plaintext Pi dienkripsi secara individual dan independen menjadi blok ciphertext Ci. Secara matematis enkripsi dengan mode ECB dinyatakan sebagai berikut. Ci = EK(P)



(2.9)



Secara matematis, algoritma dekripsi mode ECB dinyatakan sebagai berikut. Pi = DK(C)



(2.10)



K adalah kunci Pi dan Ci masing-masing blok plaintext dan ciphertext ke-i. Pada mode operasi ECB sebuah blok-input plaintext dipetakan secara statis ke sebuah blok output ciphertext sehingga setiap plaintext yang sama akan menghasilkan ciphertext yang selalu sama pula. Sifat-sifat mode operasi ECB adalah sebagai berikut: 1.



Sederhana dan efisien.



2.



Memungkinkan implementasi paralel.



3.



Tidak menyembunyikan pola plaintext. Mode ECB memungkinkan terjadinya active attack. Skema mode operasi



ECB dapat dilihat pada gambar berikut.



22



Enkripsi



Dekripsi



Pi



E



Ci



Ci



D



Pi



Pi



E



Ci



Ci



D



Pi



Pi



E



Ci



Ci



D



Pi



Gambar 2.9 Skema Mode ECB Istilah code book di dalam ECB muncul dari fakta bahwa karena blok plaintext yang sama selalu dienkripsi menjadi blok ciphertext yang sama, secara teoritis dimungkinkan membuat code-book plaintext dari ciphertext yang berkorespondensi. Jika ukuran blok semakin besar, semakin besar pula ukuran code-book-nya. Jika blok berukuran 64 bit, misalnya code book terdiri dari 264 – 1 buah kode (entry), yang berarti terlalu besar untuk disimpan. Lagi pula setiap kunci mempunyai code book yang berbeda. Contoh: Plaintext dalam biner: 100011010100111010100 Bagi plaintext menjadi blok berukuran 4 bit: 1000 1101 0100 1110 1010 0000 Karena blok terakhir hanya 1 digit, dilakukan padding sehingga notasi HEX menjadi 8D4EA0. Kunci (K) yang digunakan (panjangnya juga 4 bit) adalah 1110, atau E dalam HEX. Contoh fungsi enkripsi E yang sederhana (tetapi lemah) adalah meng-XOR kan blok plaintext Pi dengan K, kemudian menggeser secara wraping bit-bit dari Pi



K satu posisi ke kiri. Proses enkripsi untuk setiap blok



ditampilkan pada tabel berikut. Tabel 2.2 Proses enkripsi untuk setiap blok Plaintext dalam biner Kunci (K) Hasil XOR Geser 1 bit ke kiri Dalam notasi HEX



1000 1101 0100 1110 1010 0000 1110 1110 1110 1110 1110 1110 0110 0011 1011 0000 0100 1110 1100 0110 0111 0000 1000 1101 C6708D



23



Jadi, hasil enkripsi plaintext: 100011010100111010100000 (8D4EA0 dalam notasi HEX) adalah 110001100111000010001101 (C6708D dalam notasi HEX). Keuntungan mode ECB adalah sebagai berikut (Akram: 2012, dalam Setyaningsih: 2015). a.



Apabila setiap blok plaintext dienkripsi secara independen, kita tidak perlu mengenkripsi file secara linier. Kita dapat mengenkripsi 5 blok pertama, lalu berlanjut ke blok-blok akhir, kembali ke blok-blok di tengah, dan seterusnya.



b.



Mode ECB cocok untuk mengenkripsi arsip (file) yang diakses secara acak, misalnya arsip-arsip basis data. Jika basis data dienkripsi dengan mode ECB, sembarang record dapat dienkripsi atau didekripsi secara independen dari record lainnya (dengan asumsi bahwa setiap record terdiri atas sejumlah blok diskret yang sama banyak).



c.



Jika mode ECB dikerjakan dengan prosesor paralel, setiap prosesor dapat melakukan enkripsi atau dekripsi blok plaintext yang berbeda-beda.



d.



Jika satu atau lebih bit pada blok ciphertext mengalami kesalahan, kesalahan itu hanya mempengaruhi ciphertext yang bersangkutan pada waktu dekripsi. Blok-blok ciphertext lainnya tidak terpengaruh oleh kesalahan bit ciphertext tersebut. Sementara kelemahan ECB adalah sebagai berikut (Rachman: 2010, dalam



Setyaningsih: 2015). a.



Karena bagian plaintext sering berulang, hasil enkripsinya menghasilkan blok ciphertext yang sama. E-mail pesan, misalnya sering mengandung bagian yang redundan seperti string 0 atau spasi panjang yang bila dienkripsi, akan menghasilkan pola-pola ciphertext yang mudah dipecahkan dengan serangan yang berbasis statistik. Selain itu, e-mail juga mempunyai struktur yang teratur yang menimbulkan poIa-pola yang khas dalam ciphertext-nya.



b.



Pihak lawan dapat memanipulasi ciphertext untuk membodohi atau mengelabui penerima pesan. Manipulasi, misalnya dilakukan dengan menghapus beberapa buah blok atau menyisipkan beberapa buah blok ciphertext baru.



24



Untuk mengatasi kelemahan ECB, kita bisa menggunakan cara-cara berikut. a.



Gunakan ukuran blok yang besar, misalnya 64 bit, sebab ukuran blok yang besar dapat menghilangkan kemungkinan menghasilkan blok-blok yang identik.



b.



Atur agar enkripsi setiap blok individual bergantung pada semua blok sebelumnya. Dengan cara ini blok plaintext yang identik akan menghasilkan blok ciphertext yang berbeda, dan manipulasi ciphertext mungkin menghasilkan pesan hasil dekripsi yang tidak bermakna.



2.3.2 Cipher block chaining (CBC) Pada mode cipher block chaining, hasil enkripsi dari blok sebelumnya memengaruhi hasil enkripsi selanjutnya, atau enkripsi sebelumnya menjadi feedback untuk enkripsi blok saat itu. Jadi, setiap blok ciphertext bergantung bukan hanya pada blok plaintext-nya, tetapi bergantung pula pada blok-blok plaintext sebelumnya sehingga plaintext yang sama belum tentu menghasilkan ciphertext yang sama pula. Dekripsi dilakukan dengan memasukkan blok ciphertext yang current ke fungsi dekripsi kemudian meng-XOR-kan hasilnya dengan blok ciphertext sebelumnya. Pada mode CBC, blok ciphertext sebelumnya berfungsi sebagai umpan-maju (feedforward) pada akhir proses dekripsi. Gambar berikut merupakan ilustrasi mode operasi CBC. Proses enkripsi diawali dengan mengXOR-kan plaintext menggunakan initialization vector (lV), baru kemudian dilakukan enkripsi. Setelah itu, ciphertext pertamanya akan dikirimkan kepada si penerima. Plaintext ke-2 pun demikian, harus di-XOR-kan terlebih dahulu dengan ciphertext sebelumnya, kemudian mengalami proses enkripsi baru, lalu dikirimkan kepada si penerima sebagai ciphertext 2.



25



Gambar 2.10 Skema mode operasional CBC Sifat-sifat mode operasi CBC adalah sebagai berikut: a.



Lebih aman dari active attacks dibandingkan dengan mode operasi ECB



b.



Kesalahan pada satu ciphertext dapat berakibat parah



c.



Menutup pola plaintext Secara matematis, enkripsi dan deskripsi dengan mode CBC dinyatakan



dengan persamaan berikut: C1= EK (Pi



Ci-1)



(2.11)



P1= Dk(C



Ci-1)



(2.12)



Pada enkripsi blok pertama C0 = initialization vector (IV). Diberikan oleh pengguna atau di bangkitkan secara acak oleh program. Jadi, untuk menghasilkan blok chiphertext pertama (Ci), IV digunakan untuk mengantikan blok chipertext sebelumnya (C0), sebalikanya pada dekripsi, blok plaintext pertama diperoleh dengan cara meng-XOR-kan IV dengan hasil dekripsi terhadap blok ciphertext pertama. Nilai IV tidak perlu dirahasiakan. Contoh: Plaintext :1000110100111010100 Bagi plaintext menja diblok-blok yang berukuran 4 bit: 100011010100111010100000 Atau 8D4E dalam notasi HEX. Misalkan kunci (yang digunakan seluruhnya bit 0 (jadi C0=0000). Misalkan fungsi enkripsi E yang sederhana adalah meng26



XOR-kan blok plaintext Pi dengan K, kemudian mengeser secara wrapping bit-bit dari PI



K satu posisi kekiri.



C1 diperoleh dari P1



C0 = 1000



0000 = 1000



Enkripsi 1000 dengan fungsi E: 1000



K = 1000



1110 = 0110



Geser 0110 satu bit kekiri = 1100 Jadi, C1 = 1100 (atau C dalam HEX) C2 diperoleh dari P2C2 = 1101



1100 = 0001



Enkripsi 0001 dengan fungsi E: 0001



K = 0001



1110 = 1111



Geser 1111 satu bit kekiri = 1111 Jadi, C2 = 1111 (atau F dalam HEX) C3diperoleh dari P3C3 = 0100



1111 = 0011



Enkripsi1011 dengan fungsi E: 0001



K = 1011



1110 = 1010



Geser 1011 satu bit kekiri = 1111 Jadi, C3 = 1010 (atau A dalam HEX) C4 diperoleh dari P4



C3 = 1110



1010 = 0100



Enkripsi 0100 dengan fungsi E: 0100



K = 0000



1110 = 1110



Geser 1110 satu bit ke kiri = 1101 Jadi, C4 1101 (atau D dalam HEX) C5 diperoleh dari P5



C4 = 1010



1101 = 0111



Enkripsi 0111 dengan fungsi E: 0111



K = 0111



1110 = 1001



Geser 1001 satu bit ke kiri = 0011 Jadi, C5 = 0011 (atau 3 dalam HEX)



27



C6 diperoleh dari P6



C5 = 0000



0011 = 0011



Enkripsi 0011 dengan fungsi E: 0011



K = 0011



1110 = 1101



Geser 1101 satu bit ke kiri = 1011 Jadi, C6 = 1011 (atau B dalam HEX) Dengan demikian, Plaintext : 8D4EA0 Ciphertext (mode ECB) : C6708D Ciphertext (mode CBC) : CFAD3B Keuntungan mode CBC adalah sebagai berikut: a.



Pesan menjadi jauh lebih aman untuk dideteksi kuncinya karena kunci setiap blok berbeda-beda tergantung pada plaintext sebelumnya.



b.



Karena blok-blok plaintext yang sama tidak menghasilkan blok-blok ciphertext yang sama, kriptanalisis menjadi sulit dilakukan. Sementara berikut adalah kelemahan mode CBC:



a.



Karena blok ciphertext yang dihasilkan selama proses enkripsi bergantung pada blok-blok ciphertext sebelumnya, kesalahan satu bit pada sebuah blok plaintext akan merambat pada blok ciphertext yang berkorespondensi dan semua blok ciphertext berikutnya.



b.



Kesalahan bit ciphertext biasanya terjadi karena adanya gangguan pada saluran komunikasi data selama transmisi atau malafungsi pada media penyimpanan.



c.



Proses mode CBC jauh lebih rumit dan membutuhkan penanganan matematik daripada mode ECB. Selain keuntungan dan kelemahan, kita juga perlu memperhatikan persoalan



keamanan yang muncul pada mode CBC. a.



Karena blok cipher mempengaruhi blok-blok berikutnya, pihak lawan dapat menambahkan blok ciphertext pada akhir pesan terenkripsi tanpa terdeteksi.



b.



Pihak lawan dapat mengubah ciphertext, misalnya mengubah sebuah bit pada suatu blok ciphertext.



28



2.3.3 Cipher feedback (CFB) Pada mode cipher feedback, data dienkripsikan dalam unit yang lebih kecil daripada ukuran blok. Unit yang dienkripsikan dapat berupa bit per bit, 2 bit, 3 bit, dan seterusnya. Bila unit yang dienkripsikan satu karakter tiap kalinya, mode CFB-nya disebut CFB 8-bit. Secara umum CFB p-bit mengenkripsi plaintext sebanyak p bit setiap kalinya, yang dalam hal ini, p < n (n = ukuran blok). Dengan kata lain, CFB mengenkripsi cipher blok seperti pada cipher aliran. Mode CFB membutuhkan sebuah antrean yang berukuran sama dengan ukuran blok masukan, contohnya CFB 8-bit yang bekerja pada blok berukuran 64 bit (habis dibagi 8 bit). Secara formal, mode CFB dapat dinyatakan dengan persamaan berikut: Proses enkripsi: Ci = Pi



MSBm(Ek (Xi))



Xi+1 = LSBm-n(Xi) | | Ci Proses dekripsi: Pi = Ci



MSBm(Ek (Xi))



Xi+1 = LSBm-n(Xi) | | Ci Keterangan: Xi :



isi antrean, dimana X1 adalah IV



E:



fungsi enkripsi dengan algoritma cipher blok



K:



kunci



m:



panjang blok enkripsi



n:



panjang unit enkripsi



||:



operator penyambungan (concatenation)



MSB : most significant byte LSB :



least significant byte Berikut diuraikan proses yang dilakukan pada enkripsi dengan CFB.



(Setyaningsih, 2015) : a.



Antrean diisi dengan IV seperti pada mode CBC.



b.



Enkripsikan antrean dengan kunci K.



c.



Nilai bit (8-bit) dari byte/karakter paling kiri dari hasil enkripsi berlaku sebagai keystream yang kemudian di-XOR-kan dengan nilai bit (8-bit) pertama dari ciphertext. Karakter ciphertext ini dikirim (pada aplikasi komunikasi data) atau disimpan (pada aplikasi penyimpanan data).



29



d.



Salinan karakter ciphertext kemudian dimasukkan kedalam antrean dari sebelah kanan sehingga seluruh karakter yang ada pada antrean tergeser ke kiri dan menggantikan karakter 8 bit pertama (paling kiri) yang telah digunakan.



e.



Proses berulang kembali untuk blok-blok selanjutnya.



C1



Gambar 2.11 Proses enkripsi dengan mode CFB Lebih lanjut, berikut penjelasan proses dekripsi dengan mode CFB a.



Antrean diisi dengan IV seperti pada mode CBC.



b.



Dekripsikan antrean dengan kunci K.



c.



Nilai bit (8 bit) dari byte/karakter paling kiri dari hasil enkripsi berlaku sebagai keystream yang kemudian di-XOR-kan dengan nilai bit (8 bit) karakter pertama dari ciphertext sehingga menjadi karakter (8 bit) pertama dari plaintext.



d.



Salinan blok ciphertext yang telah didekripsi kemudian dimasukkan ke dalam antrean dari sebelah kanan sehingga seluruh karakter pada antrean ikut tergeser kekiri dan menggantikan karakter 8 bit pertama (paling kiri) yang telah digunakan.



e.



Proses diulang untuk blok-blok selanjutnya.



30



Gambar 2.12 Proses dekripsi dengan mode CFB 2.3.4 Output feedback (OFB) Mode OFB mirip dengan mode CFB. Perbedaannya terletak pada penyalinan karakter p-bit paling kiri hasil enkripsi terhadap antrean menjadi elemen posisi paling kanan di antrean. OFB 8 bit bekerja pada blok brukuran 64 bit (setara dengan 8 byte).



E



Gambar 2.13 Proses enkripsi dengan mode OFB



31



Dekripsi dilakukan sebagai kebalikan proses enkripsi.



Gambar 2.14 Proses dekripsi dengan mode OFB 2.4



Enkripsi Enkripsi merupakan hal yang sangat penting dalam kriptografi yang



merupakana pengaman data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut dengan plaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan dengan chiper atau kode. Sama halnya dengan kita tidak mengerti akan sebuah kata makna kita akan melihatnya di dalam kamus atau daftar istilah. Beda halnya dengan enkripsi, untuk mengubah teks asli ke bentuk teks sandi, kita menggunakan algoritma yang dapat mengkodekan data yang kita ingini. 2.4.1 Parameter Kualitas Hasil Enkripsi Setyaningsih (2015) memaparkan bahwa Untuk mengetahui apakah algoritma enkripsi yang diusulkan cukup aman untuk diimplementasikan atau tidak, dilakukan analisis dan pengujian algoritma enkripsi menggunakan beberapa parameter seperti nilai korelasi, entropi, histogram warna, waktu proses, dan kualitas enkripsi. 1.



Korelasi Penghitungan korelasi dan entropi dilakukan untuk menilai kualitas data



hasil enkripsi. Semakin rendah korelasi antarpiksel semakin tinggi entropinya, semakin aman sistem enkripsinya. Untuk menghitung korelasi, digunakan rumus berikut (Younes dan Jantan: 2008, dalam Setyaningsih: 2015):



32



r=



(2.13)



Keterangan: r



= nilai korelasi



n



= jumlah data



Σxy



= jumlah perkalian x dan y



Σx



= jumlah data x



Σy



= jumlah data y



Σx2



= jumlah data x kuadrat



Σy2



= jumlah data y kuadrat



2.



Entropi Entropi adalah konsep acak dimana terdapat keadaan yang memungkinnya



tidak pasti. Definisi entropi yang berhubungan dengan teori informasi adalah ukuran yang menyatakan jumlah informasi didalam pesan. Biasanya entropi dinyatakan dalam satuan bit. Entropi berguna untuk memperkirakan jumlah bit rata-rata untukmengodekan elemen pesan (Munir: 2006, dalam Setyaningsih: 2015). Entropi pesan dapat dihitung dengan rumus berikut (Younes dan Jantan: 2008, dalam Setyaningsih: 2015): He =



(2.14)



Keterangan: He



= entropi



n



= jumlah simbol yang berbeda di dalam pesan, pada citra n adalah nilai



keabuandari citra P(k) probabilitas kejadian simbol k jika sebuah informasi di enkripsi dan dalam kondisi teracak, nilai entropi yang ideal adalah = 8. Artinya, setiap simbol dikodekan sebanyak ≈ 8 bit. Dengan demikian sistem enkripsi yang dirancang aman dari serangan entropi. Jika nilai entropi lebih kecil dari 8, dapat dikatakan bahwa sistem enkripsi masih dapat ditebak (Jolfaei dan Mirghadri: 2011, dalam Setyaningsih: 2015). 3.



Analisis Histogram Teknik analisis histogram digunakan untuk mengukur hasil enkripsi pada



data citra. Teknik ini digunakan untuk melihat kesesuaian distribusi warna antara 33



plain image dengan cipher image. Jika nilai histogram cipher image memiliki distribusi keragaman dan perbedaan yang signifikan dengan histogram plain image, dapat dikatakan bahwa cipher image tidak memberikan petunjuk apa-apa untuk melakukan statistical attack pada algoritma enkripsi yang digunakan. Histogram dapat digunakan untuk mencari citra yang memiliki kemiripan komposisi warna. 4.



Kualitas Enkripsi Pengukuran kualitas enkripsi dilakukan dengan membandingkan nilai data



sebelum dan sesudah dienkripsi. Semakin tingkat perubahan data, semakin efektif enkripsi data dan semakin aman datanya (Jolfaei dan Mirghadri: 2011, dalam Setyaningsih: 2015). Ukuran kualitas enkripsi dinyatakan sebagai deviasi antara plaintext dan plain image dengan ciphertext dan cipher image. Kualitas enkripsi mempresentasikan jumlah rata-rata perubahan setiap data, dan pada data yang berupa citra, kualitas enkripsi mempresentasikan jumlah rata-rata perubahan setiap derajat keabuan. Untuk mengukur kualitas enkripsi citra digunakan rumus berikut (Jolfaei dan Mirghadri: 2011, dalam Setyaningsih: 2015): EQ =



(2.15)



Keterangan: EQ



= kualitas enkripsi



P



= citra asli (plain image)



C



= citra hasil enkripsi (cipher image)



L



= derajat keabuan



HL (P)



= jumlah kejadian untuk setiap L pada plain image



HL (C)



= jumlah kejadian untuk setiap L pada cipher image



2.5



Super Enkripsi Super enkripsi merupakan salah satu kriptografi berbasis karakter yang



menggabungkan cipher subtitusi dan cipher transposisi untuk mendapatkan cipher yang lebih kuat (tidak mudah dipecahkan). Enkripsi dan dekripsi dapat dilakukan dengan urutan cipher subtitusi, kemudian cipher transposisi, atau sebaliknya.



34



2.5.1 Super Enkripsi dengan Metode Hill Cipher dan Playfair Cipher Dibagian ini,sebagai contoh penggunaan metode super enkripsi, kita gabungkan metode hill cipher dengan playfair cipher. Proses enkripsi dilakukan dengan cara menginputkan kunci yang akan digunakan untuk enkripsi dengan metode hill cipher dan playfair cipheri. Langkah kedua adalah proses enkripsi dengan hill cipher. Ciphertext hasil enkripsi hill cipher selanjutnya menjadi plaintext untuk proses enkripsi dengan metode playfair cipher. START



A A



Enkripsi Hill Hill Cipher Cipher Enkripsi



Input Citra



Enkripsi Enkripsi Playfair Playfair Cipher Cipher Input Kunci Hill Hill



Output Output Citra Citra Tersandikan Tersandikan T



Kunci Invertible Invertible



STOP STOP Y Input Kunci Playfair



A



Gambar 2.15 Algoritma enkripsi dengan metode Hill cipher dan Playfair cipher Hill cipher merupakan salah satu metode kriptografi klasik yang lemah jika diserang dengan known-plaintext-attack. Metode ini dapat dengan mudah dipecahkan oleh seorang kriptanalis apabila ia memiliki berkas ciphertext dan potongan berkas plaintext. Sementara playfair cipher merupakan metode yang lemah karena frekuensi kemunculan diagram pada ciphertext akan bersesuaian dengan frekuensi kemunculannya di plaintext sehingga kriptanalis dapat menerka isi bujur sangkar dengan mudah, terutama pada implementasi citra yang berukuran besar. Mengacu pada super enkripsi, dilakukan pengujian enkripsi dengan hill cipher, kemudian dengan playfair cipher untuk mendapatkan cipher yang lebih kuat. 35



Algoritma dekripsinya dilakukan dengan langkah yang hampir sama dengan proses enkripsi dimana penerima harus menginputkan kunci untuk melakukan dekripsi dengan hill cipher dan kunci untuk dekripsi citra dengan playfair cipher. Langkah berikutnya adalah melakukan dekripsi terhadap ciphertext dengan metode playfair cipher sehingga menghasilkan plaintext. Langkah terakhir adalah melakukan metode playfair cipher. (Setyaningsih, 2015). START



A



Dekripsi Playfair Cipher



Input Citra Tersandikan



Dekripsi Hill Cipher Input Kunci Hill



Output Citra Asli



Hitung Invers Kunci Hill



STOP Input Kunci Playfair



A



Gambar 2.16 Algoritma dekripsi dengan metode Hill cipher dan Playfair cipher 2.5.2 Super Enkripsi dengan Metode Vigenere Cipher dan Playfair Cipher Pengembangan super enkripsi yang lain adalah penggabungan anatara metode vigenere cipher dan playfair cipher dengan proses enkripsi dan dekripsi yang dilakukan satu kali untuk masing-masing cipher. (Setyaningsih: 2012, dalam Setyaningsih: 2015). Dalam metode ini, kunci yang dirahasiakan dan telah disetujui oleh pengirim dan penerima pesan adalah kunci yang digunakan untuk proses enkripsi dengan playfair cipher seperti dijelaskan pada algoritma playfair cipher. Sementara kunci yang digunakan untuk proses enkripsi dengan vigenere cipher dibangkitkan dari kunci playfair sepanjang n kunci yang selanjutnya kunci



36



n+1 sampai dengan m x n kunci dengan menggunakan metode keystream gnerator.



37



Langkah-langkah enkripsi citranya adalah sebagai berikut: 1.



Pilih kunci playfair cipher yang telah disetujui oleh pengirim dan penerima pesan.



2.



Bangkitkan kunci vigener cipher. Caranya: a. Ambil nilai elemen matriks kunci playfair cipher pada posisi (1,1), misalnya 82. b. Kunci playfair cipher sepanjang 82 elemen diambil dari elemen kunci playfair cipher dari posisi (1,1) sampai dengan posisi (5,2). Nilai kunci pada posisi 83 sampai dengan ke-n (n = jumlah baris * jumlah kolom yang dari matriks citra yang akan dienkripsi) dibangkitkan dengan metode keystream generator



3.



Ambil citra yang akan dienkripsi.



4.



Lakukan transformasi warna untuk memisahkan warna RGB (untuk citra berwarna) sehingga menjadi 3 buah matriks. Untuk citra grayscale tidak perlu dilakukan transformasi warna.



5.



Gunakan kunci vigener cipher untuk masing-masing matriks komponen warna.



6.



Gunakan algoritma playfair cipher (kunci playfair cipher) untuk melakukan enkripsi pada hasil enkripsi dengan kunci viggenere cipher.



7.



Kembalikan vektor hasil enkripsi sebagai nilai RGB dengan transformasi warna balik sehingga menghasilkan citra yang baru yang sudah tersandikan. Tabel 2.3 Hasil uji statistik dengan metode super enkripsi Nama File



Ukuran Pixel



Airplane.jpg 480 x 640 Kuda poni.jpg 480 x 640 Kamboja.jpg 480 x 640 Matador.jpg 480 x 640 Rata-rata Andorm.bmp 256x256 Baboon.bmp 256x256 Crowded.bmp 256x256 Jelly.bmp 256x256 Rata-rata Rata-rata seluruh citra



Ukuran File (KB) 59 34 58 63 193 192 193 193



Hasil Pengukuran Nilai



Waktu Proses (Detik)



He



Eq



Ic



Enkripsi



Dekripsi



7.9994 7.9995 7.9994 7.9994 7.9994 7.9975 7.9973 7.9973 7.9976 7.9974 7.9984



1294.87 1275.26 827.429 802.156 1049.9288 292.422 308.966 103.984 341.294 261.667 655.7976



-0.000091 0.000219 -0.000319 0.000232 0.000010 0.002759 -0.000119 -0.000671 0.000021 0.000497 0.000254



486.08 459.19 461.49 462.18 467.24 4.17 4.18 4.27 4.18 4.20



485.60 473.03 474.34 475.23 477.05 6.68 6.88 6.49 6.89 6.73



38



Keterangan: He



: histogram equalization (nilai entropi)



Eq



: encription quality



Ic



: image correlation Dari hasil uji statistik pada tabel diatas terlihat bahwa untuk 2 kelompok



citra yang diujikan rata-rata nilai entropinya (He) 7,9984. Berdasarkan teori yang dikemukakan oleh Jolfey dan Mirghardi (2011), algoritma enkripsi yang dirancang ini aman dari serangan entropi atau sulit ditebak oleh kriptanalis karena nilainya sangat dekat dengan 8. Selain itu, kekuatan dari algoritma super enkripsi ini dapat diukur berdasarkan nilai korelasi (Ic), dimana rata-rata nilai korelasi antara plain image dengan cipher image-nya 0,000254. Karena rata-rata nilai korelasinya mendekati nol, keterhubungan antara plain image dan cipher image tidak ada. Artinya, sistem enkripsi ini sesuai dengan teori perfect secrecy yang dikemukakan oleh Shannon, yaitu semakin rendah korelasi antar pixel dan semakin



tinggi



entropinya,



maka



semakin



aman



sistem



enkripsinya.



(Setyaningsih, 2015). Sedangkan langkah-langkah dekripsi citranya adalah sebagai berikut: 1.



Tentukan citra yang akan didekripsi



2.



Pilih kunci yang akan digunakan untuk dekripsi citra dengan metode playfair cipher. Selanjutnya, bangkitkan kunci untuk dekripsi citra dengan metode vigenere cipher menggunakan cara yang sama pada proses enkripsi.



3.



Transformasi warna sehingga komponen warna RGB dari citra yang telah tersandikan terpisahkan seperti pada proses enkripsi.



4.



Pada proses dekripsi, gunakan metode playfair cipher dengan langkah yang sama seperti langkah pada proses enkripsi untuk setiap matriks warna.



5.



Selanjutnya, setiap komponenwarna ciphertext hasil dekripsi dengan metode playfair cipher didekripsi menggunakan metode vigenere cipher dengan cara ciphertext dikurangu kunci vigenere cipher menggunakan konsep pengurangan modulo 256 untuk semua matrik warna.



6.



Kembalikan vektor hasil dekripsi sebagai nilai RGB dengan transformasi warna balik sehingga menghasilkan citra yang sama denga citra aslinya.



39



2.5.3 Enkripsi DES Primartha (2011) mengemukakan bahwa Algoritma DES merupakan algoritma enkripsi yang paling banyak digunakan didunia yang diadopsi oleh NIST (National Institue of Standards and Technology) sebagai standar pengolah informasi Federal AS. Data plaintext di enkrip dalam blok-blok 64 bit menjadi 64 bit dalam beberapa tahap enkripsi ke dalam output 64 bit. Dengan demikian, DES termasuk block cipher. Dengan tahapan dan kunci yang sama, DES digunakan untuk membalik enkripsi. Kunci internal pada algoritma DES dibangkitkan dari kunci eksternal (external key) 64 bit.



Gambar 2.17 Skema Dasar Proses Algoritma Enkripsi DES 40



2.5.4 Enkripsi Data 64 Bit Algoritma yang menunjukkan adanya enkripsi data 64 bit adalah sebagai berikut: 1.



Mengambil blok data sebanyak 64 bit. Jika pengambilan blokdata kurang dari 64 bit, perlu ada penambahan supaya dalam penggunaannya ada kesesuaian dengan jumlah datanya.



2.



Dibentuk IP pada blok data 64 bit dengan memperhatikan permutasi pada tabel berikut Tabel 2.4 Permutasi awal 58 60 62 64 57 59 61 63



3.



50 52 54 56 49 51 53 55



42 44 46 48 41 43 45 47



34 36 38 40 33 35 37 39



26 28 30 32 25 27 29 31



18 20 22 24 17 19 21 23



10 12 14 16 9 11 13 15



2 4 6 8 1 3 5 7



Bagilah blok data tersebut menjadi 2 bagian. 32 bit pertama disebut L[0] dan 32 bit kedua disebut R[0].



4.



Keenam belas subkey dioperasikan dengan blok data, dimulai j=1. Caranya adalah sebagai berikut. a. R[j-1] dikembangkan menjadi 48-bit menurut fungsi pemilihan ekspansi seperti terlihat pada tabel berikut Tabel 2.5 Expansion (E) 32 8 16 24



1 9 17 25



2 10 18 26



3 11 19 27



4 12 20 28



5 13 21 29



6 14 22 30



7 15 23 31



8 16 24 32



9 17 25 33



b. Langkah berikutnya adalah meng-XOR-kan E(R[j-1]) dengan K[j]. c. Hasil E(R[j-1]) XOR dipecahkan menjadi 8 blok 6-bit. Kelompok bit 1-6 disebut B[1], bit 7-12 disebut B[2], dan seterusnya hingga bit 43-48 disebut B[8].



41



d. Jumlah bit dikurangi dengan penukaran nilai-nilai yang ada dalam tabel S untuk setiap B[j]. Dimulai dengan j=1, setiap nilai dalam tabel S memiliki 4 bit. e. Adapun langkah-langkah dalam tahap ini adalah sebagai berikut. 1) Mengambil bit ke-1 dan ke-6 dari B[j] secara bersama-sama sebagai nilai 2 bit, misalnya m, yang menunjukkan baris dalam tabel S[j]. 2) Mengambil bit ke-2 hingga ke-5 dari B[j] sebagai nilai 4 bit, misalnya n, yang menunjukkan kolom dalam S[j]. 3) Hasil proses ini adalah S[j][m][n] untuk setiap B[j] sehingga banyaknya interaksi yang diperoleh adalah 8 kali. Hasil ini sering disebut juga substitution box yang terdiri atas 8 buah interasi seperti terlihat pada tabel 2.6 – 2.13. Tabel 2.6 Subtitution box-1 (S(1)) 0 1 2 3



0 1 14 4 0 15 4 1 15 12



2 13 7 14 8



3 1 4 8 2



4 5 2 15 14 2 13 6 4 9



6 11 13 2 1



7 8 1 11 7



8 3 10 15 5



9 10 6 12 11



10 6 12 9 3



11 12 11 7 14



12 5 9 3 10



13 9 5 10 0



14 15 0 7 3 8 5 0 6 13



11 13 10 6 12



12 12 6 9 0



13 0 9 3 5



14 15 5 10 11 5 2 15 14 9



10 11 12 7 5 14 2 12 14 3



12 11 12 5 11



13 14 15 4 2 8 11 15 1 10 14 7 5 2 12



12 11 1 5



13 14 15 12 4 15 10 14 9 2 8 4



Tabel 2.7 Subtitution box-2 (S(2)) 0 1 2 3



0 1 15 1 3 13 0 14 13 8



2 3 8 14 4 7 7 11 10 1



4 5 6 11 15 2 10 4 3 15



6 3 8 13 4



7 4 14 1 2



8 9 12 5 11



9 7 0 8 6



10 2 1 12 7



Tabel 2.8 Subtitution box-3 (S(3)) 0 1 2 3



0 1 10 0 13 7 13 6 1 10



2 3 9 14 0 9 4 9 13 0



4 6 3 8 6



5 3 4 15 9



6 15 6 3 8



7 5 10 0 7



8 1 2 11 4



9 13 8 1 15



Tabel 2.9 Subtitution box-4 (S(4)) 0 1 2



0 1 7 13 13 8 10 6



2 14 11 9



3 3 5 0



4 5 0 6 6 15 12 11



6 9 0 7



7 10 3 13 42



8 1 4 15



9 2 7 1



10 11 8 5 2 12 3 14



3



3



15



0 1 2 3



0 1 2 12 14 11 4 2 11 8



0



6



10 1 13 8 9 4 5 11 Tabel 2.10 Subtitution box-5 (S(5))



2 3 14 1 2 12 1 11 12 7



4 5 7 10 4 7 10 13 1 14



6 11 13 7 2



7 6 1 8 13



8 8 5 15 6



9 5 0 9 15



10 11 3 15 15 10 12 5 0 9



12



7



2



14



12 13 3 6 10



13 0 9 3 4



14 15 14 9 8 6 0 14 5 3



12 14 0 1 0



13 7 11 13 8



14 15 6 2 3 1 0 5



12 5 2 0 14



13 10 15 5 7



14 15 12 9 8 0 9 6 6 14



12 5 0 15 3



13 0 14 3 5



14 15 12 7 9 2 5 8 6 11



Tabel 2.11 Subtitution box-6 (S(6)) 0 1 2 3



0 1 12 1 10 15 9 14 4 3



2 3 10 15 4 2 15 5 2 12



4 9 7 2 9



5 2 12 8 15



6 6 9 12 10



7 8 5 3 11



8 0 6 7 14



9 13 1 0 1



10 11 3 4 13 14 4 10 7 5



Tabel 2.12 Subtitution box-7 (S(7)) 0 1 2 3



0 1 4 11 13 0 1 4 6 11



2 3 2 14 11 7 11 13 13 8



4 15 4 12 1



5 0 9 3 4



6 8 1 7 10



7 13 10 14 7



8 3 14 10 9



9 12 3 15 5



10 11 9 7 5 12 6 8 0 15



Tabel 2.13 Subtitution box-8 (S(8)) 0 1 2 3



0 1 13 2 1 15 7 11 2 1



2 8 13 4 14



3 4 8 1 7



4 5 6 15 10 3 9 12 4 10



6 11 7 14 8



7 1 4 2 13



8 10 12 0 15



9 9 5 6 12



10 11 3 14 6 11 10 13 9 0



4) Permutasi dilakukan kembali pada kombinasi hasil substitusi S[1] [m2][n2] dengan S[8][m2][n2] dengan memperhatikan keterangan pada tabel 2.14 Tabel 2.14 Permutation (P) 16 1 2 19



7 15 8 13



20 23 24 30



21 26 14 6



29 5 32 22



12 18 27 11



18 31 3 4



17 10 9 25



5) Hasil permutasi kemudian di-XOR-kan dengan L[j-1]. Selanjutnya, hasil tersebut menjadi R[j]. perhatikan persamaan 2.16. 43



R[i] = I[j-1] XOR P(S[1](B[1] … S[8](B[8])



(2.16)



B[j] merupakan blok 6 bit hasil kombinasi R(R[i-1]) XOR K[i]. fungsi sebagai persamaan 2.17. R[i] = L[i-1] XOR f(R[i-1],K[i]). L[i] = R[i-1]



(2.17)



6) Ulangi kembali langkah paling atas hingga K[16]. 7) Permutasi akhir dilakukan kembali dengan tabel permutasi yang merupakan dari permutasi awal. Tabel permutasi akhir dapat dilihat pada tabel 2.15 Tabel 2.15 Final permutation (IP**-1) 40 39 38 37 36 35 34 33



8 7 6 5 4 3 2 1



48 47 46 45 44 43 42 41



16 15 14 13 12 11 10 9



56 55 54 53 52 51 50 49



24 23 22 21 20 19 18 17



64 63 62 61 60 59 58 57



32 31 30 29 28 27 26 25



2.5.5 Proses Enkripsi AES Proses di dalam AES merupakan transformasi terhadap state. Sebuah teks asli dalam blok (128 bit) terlebih dahulu diorganisir sebagai state. Enkripsi AES adalah transformasi terhadap state secara berulang dalam beberapa ronde. State yang menjadi keluaran ronde k menjadi masukan untuk ronde ke-k + 1. Proses enkripsi algoritma AES terdiri dari 4 jenis transformasi bytes, yaitu SubBytes, ShiftRows, Mixcolumns, dan AddRoundKey. Pada awal proses enkripsi, input yang telah dicopykan ke dalam state akan mengalami transformasi byte AddRoundKey. Setelah itu, state akan mengalami transformasi SubBytes, ShiftRows, MixColumns, dan AddRoundKey secara berulang-ulang sebanyak Nr. Proses ini dalam algoritma AES disebut sebagai round function. Round yang terakhir agak berbeda dengan round-round sebelumnya dimana pada round terakhir, state tidak mengalami transformasi MixColumns. Ilustrasi proses



44



Gambar 2.18 Diagram Enkripsi AES Garis besar algoritma AES Rijndael yang beroprasi pada blok 128-bit dengan kunci 128 bit (diluar proses pembangkitan roundkey) adalah sebagai berikut : 1.



AddRoundKey, melakukan XOR antara awal (plantext) dengan cipher key.



2.



Putaran sebanyak Nr-1 kali. Proses yang dilakukan pada setiap putaran adalah : a.



SubBytes adalah subsitusi byte menggunakan tabel subsitusi (S-Box).



b.



ShiftRows adalah pergeseran baris-baris array state secara wrapping.



c.



MixColumns adalah mengacak data di masing-masing kolom array state.



d.



AddRoundKey adalah melakukan XOR antara state sekarang round key.



3.



Final round, proses untuk putaran terakhir : a.



SubBytes



b.



ShiftRows



c.



AddRoundKey



45



Langkah kerja enkripsi adalah sebagai berikut: 1.



Transformasi SubBytes : SubBytes merupakan transformasi byte dimana setiap elemen pada state akan dipetakan dengan menggunakan sebuah tabel substitusi ( S-Box ). Tabel substitusi S-Box akan dipaparkan dalam Tabel berikut. Tabel 2.16 S-Box Rijndael Y



x



0 1 2 3 4 5 6 7 8 9 a b c d e f



0 63 ca b7 04 09 53 d0 51 cd 60 e0 e7 ba 70 e1 8c



1 7c 82 fd c7 83 d1 ef a3 0c 81 32 c8 78 3e f8 a1



2 77 c9 93 23 2c 00 aa 40 13 4f 3a 37 25 b5 98 89



3 7b 7d 26 c3 1a ed fb 8f ec dc 0a 6d 2e 66 11 0d



4 f2 fa 36 18 1b 29 43 92 5f 22 49 8d 1c 48 69 bf



5 6b 59 3f 96 6e fc 4d 9d 97 2a 06 d5 a6 03 b9 e6



6 6f 47 f7 05 5a b1 33 38 44 90 24 4e b4 f6 8e 42



7 c5 f0 cc 9a a0 5b 85 f5 17 88 5c a9 c6 0e 94 68



8 30 ad 34 07 52 6a 45 bc c4 46 c2 6c e8 61 9b 41



9 01 d4 a5 12 3b cb f9 b6 a7 ee d3 56 dd 35 1e 99



a 67 a2 e5 80 d6 be 02 da 7e b8 ac f4 74 57 87 2d



b 2b af f1 e2 b3 39 7f 21 3d 14 62 ea 1f b9 e9 0f



c fe 9c 71 eb 29 4a 50 10 64 de 91 65 4b 86 ce b0



d d7 a4 d8 27 e3 4c 3c ff 5d 5e 95 7a bd c1 55 54



e ab 72 31 b2 2f 58 9f f3 19 0b e4 ae 8b 1d 28 bb



f 76 c0 15 75 84 cf a8 d2 73 db 79 08 8a 9e df 16



Untuk setiap byte pada array state, misalkan S[r, c] = xy, yang dalam hal ini xy adalah digit heksadesimal dari nilai S[r, c], maka nilai substitusinya, dinyatakan dengan S’[r, c], adalah elemen di dalam tabel subtitusi yang merupakan perpotongan baris x dengan kolom y. 2.



Shiftrows : Transformasi Shiftrows pada dasarnya adalah proses pergeseran bit dimana bit paling kiri akan dipindahkan menjadi bit paling kanan (rotasi bit).



Gambar 2.19 Proses Siftrows



46



3.



MixColumns : MixColumns mengoperasikan setiap elemen yang berada dalam satu kolom pada state. Secara lebih jelas, transformasi MixColumns dapat dilihat pada perkalian matriks berikut ini:



Gambar 2.20 Proses MixColumns 4.



AddRoundKey : AddRoundKey melakukan XOR antara state sekarang dengan round key.



Gambar 2.21 Proses AddRoundKey 2.6



Dekripsi Dekripsi merupakan kebalikan dari enkripsi. Pesan yang telah di enkripsi



dikembalikan ke bentuk asalnya (plaintext), disebut dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan yang digunakan untuk enkripsi. 2.6.1 Algoritma Dekripsi DES



47



Pada algoritma DES proses dekripsi dan enkripsinya menggunakan kunci



yang sama.



Proses



dekripsi



pada



ciphertext merupakan



proses



kebalikan dari proses enkripsi. Jika pada proses enkripsi urutan kunci yang digunakan adalah K1, K2, …, K16, maka untuk proses dekripsi urutan kunci yang digunakan adalah K16, K15, …, K1. Masukkan awalnya adalah R16 dan L16



untuk



deciphering.



Blok



R16



dan



L16



diperoleh dengan



mempermutasikan ciphertext dengan matriks permutasi IP-1. Skema proses dekripsi



48



Gambar 2.22 Skema Dasar Proses Algoritma Dekripsi DES 2.6.2



Deskripsi Data 64 Bit Deskripsi dilakukan dengan proses yang sama, hanya saja kunci yang



digunakan adalah K[j] dalam urutan yang berlawana, yaitu memasukkan K[16] terlebih dahulu, kemudian K[15], dan seterusnya hingga K[1]. Algoritmanya adalah sebagai berikut : 1.



Mengambil blok ciphertext sebanyak 64 bit. Apabila pengambilan blok ciphertext kurang dari 64 bit, perlu adanya penambahan supaya dalam penggunaan ada kesesuaian dengan jumlah datanya.



2.



Bentuk IP pada blok enkripsi 64 bit tersebut dengan memperhatikan permutasi pada tabel 2.4



3.



Bagian blok enkripsi tersebut menjadi 2 bagian. 32 bit pertama disebut L[0] dan 32 bit kedua disebut R[0]



4.



Keenam belas subkey dioperasikan dengan blok ciphertext dimulai dengan j=1 dan terbagi menjadi cara-cara sebagai berikut: a.



R[j-1]



dikembangkan



menjadi



48



bit



menurut



fungsi



pemilihanekspansi pada tabel 2.5 b.



Langkah berikutnya adalah meng-XOR-kan E(R[j-1) dengan K[j]



c.



Hasil E(R[j-1] XOR K[j] dipecah menjadi delapan blok 6 bit. Kelompok bit 1-6 disebut



B[1], bit 7-12 disebut B[2[2], dan



seterusnya hingga bit 43-48 disebut B[8] d.



Jumlah bit dikurangi dengan pertukaran nilai-nilai yang ada dalam tabel S memiliki 4 bit. Adapun langkah-langkah dalam tahap ini adalah sebagai berikut : 1) Ambil bit ke -1 dan ke-6 dari B[j] secara bersama-sama sebagai nilai 2 bit, misalnya m, yang menunjukkan baris dalam table S[j]. 2) Ambil bit ke-2 hingga ke-5 dari B[j] sebagai nilai 4 bit, misalnya n, yang kolom dalam S[j]. 3) Hasil proses ini adalah S[j][m][n] untuk setiap B[j] sehingga banyak iterasi yang diperlukan adalah 8 kali. Hasil ini serin disebut juga substitution box. Nantinya akan nada substitution box 8 buah iterasi seperti terlihat pada table 2.6 – 2.13. 49



e.



Purmutasi dilakukan kembali [ada kombinasi hasil subitusi diatas, S[1] [m][n1] hingga S[8][m2][n2], dengan memperhatikan keterangan tabel 2.14



50



2.6.3 Proses Dekripsi AES Algoritma dekripsi AES dapat diilustrasikan seperti pada gambar berikut. Secara ringkas algoritma dekripsi merupakan kebalikan algoritma enkripsi AES. Algoritma dekripsi AES menggunakan transformasi invers semua transformasi dasar yang digunakan pada algoritma enkripsi AES. Setiap Tranformasi dasar AES memiliki transformasi invers, yaitu: InvvSubBytes, InvShiftRows, dan InvMixColumns. AddRoundKey merupakan transformasiyang bersifat self-invers dengan syarat menggunakan kunci yang sama.



Gambar 2.23 Proses Dekripsi AES 1.



InvShiftRows : InvShiftRows adalah transformasi byte yang berkebalikan dengan transformasi ShiftRows. Pada transformasi InvShiftRows, dilakukan pergeseran bit ke kanan sedangkan pada ShiftRows dilakukan pergeseran bit ke kiri. Ilustrasi transformasi InvShiftRows terdapat pada Gambar berikut:



51



Gambar 2.24 Proses InvShiftRows 2. InvSubBytes : InvSubBytes juga merupakan transformasi bytes yang berkebalikan dengan transformasi SubBytes. Pada InvSubBytes, tiap elemen pada state dipetakan dengan menggunakan tabel Inverse S-Box. Tabel 2.17 Proses InvSubBytes Y



hex



x



0 1 2 3 4 5 6 7 8 9 a b c d e f



0 52 7c 54 08 72 6c 90 d0 3a 96 47 fc 1f 60 a0 17



1 09 e3 7b 2e f8 70 d8 2c 91 ac f1 56 dd 51 e0 2b



2 6a 39 94 a1 f6 48 ab 1e 11 74 1a 3e a8 7f 3b 04



3 d5 82 32 66 64 50 00 8f 41 22 71 4b 33 a9 4d 7c



4 30 9b a6 28 86 fd 8c ca 4f e7 1d c6 88 19 ae ba



5 36 2f c2 d9 68 ed bc 3f 67 ad 29 d2 07 b5 2a 77



6 a5 Ff 23 24 98 b9 d3 0f dc 35 c5 79 c7 4a f5 d6



7 38 87 3d b2 16 da 0a 02 ea 85 89 20 31 0d b0 26



8 bf 34 ee 76 d4 5e 17 c1 97 e2 6f 9a b1 2d c8 e1



9 40 8e 4c 5b a4 15 e4 af f2 f9 b7 db 12 e5 eb 69



a a3 43 95 a2 5c 46 58 bd cf 37 62 c0 10 7a bb 14



b 9e 44 0b 49 cc 57 05 03 ce e8 0e fe 59 9f 3c 63



c 81 c4 42 6d 5d a7 b8 01 f0 1c aa 78 27 93 83 55



d f3 de fa 8b 65 d8 b3 13 b4 75 18 cd 80 c9 53 21



E d7 e9 c3 d1 b6 9d 45 8a e6 df be 5a ec 9c 99 0c



f fb cb 4e 25 92 84 06 6b 73 6e 1b f4 5f Ef 61 7d



3. InvMixColumns : Setiap kolom dalam state dikalikan dengan matrik perkalian dalam AES. 4. Inverse AddRounKey : Transormasi Inverse AddRounKey tidak berbeda dengan transformasi AddRoundkey karna dalam transformasi ini hanya dilakukan operasi penambahan sederhana dengan operasi bitwise XOR. 2.7



Algoritma SIMON dan SPECK Fatmala, Ari, dan Mahendra (2018) menjelaskan bahwa SIMON dan



SPECK diusulkan secara terbuka pada bulan Juni 2013 oleh sekelompok peneliti 52



di Direktorat Riset Keamanan Nasional AS. Karya desain dimulai pada tahun 2011, dan jumlah kriptanalisis yang signifikan telah dilakukan (tidak hanya oleh para desainer, namun oleh banyak orang di seluruh perusahaan) pada saat menjelang publikasi. Banyak cipher blok ringan telah diusulkan, dan banyak tampil dengan baik di berbagai platform terbatas. SIMON dan SPECK masingmasing memiliki beberapa instantiasi, yang mendukung ukuran blok 32, 48, 64, 96, dan 128 bit, dan dengan tiga ukuran kunci yang berbeda. SIMON dan SPECK menyediakan 10 variasi yang dapat diimplementasi oleh sistem Setiap keluarga menyediakan sepuluh algoritme dalam semua. Berikut tabel varian algoritme SPECK beserta parameter yang digunakan. 2.7.1 Key Ekspansi Key schedule atau pembangkitan kunci pada algoritme SPECK digunakan untuk membuat kunci setiap ronde. Kunci yang telah dibuat akan digunakan di fungsi ronde setiap ronde. Pada proses ini terdapat 2 variabel yang akan diproses, yaitu ki an li.. Untuk mendapatkan nilai li dilakukan rumus sebagai berikut 𝑙𝑖+𝑚-1 = (𝑘𝑖 + 𝑆-α𝑙𝑖) ⊕ i



(2.18)



Pada persamaan 2.18, nilai m adalah nilai word pada key (tergantung jenis SPECK yang digunakan). Nilai i adalah ronde saat ini. Nilai i akan terus bertambah dari 0 sampai jumlah ronde sesuai jenis SPECK yang digunakan. Nilai li+m-1 didapatkan dengan cara melakukan addition modulo 2n antara ki dengan li yang telah dilakukan rotasi ke kanan sejumlah α bit. Kemudian hasilnya akan dilakukan operasi XOR dengan nilai i. Untuk mendapatkan nilai ki, dilakukan rumus sebagai berikut 𝑘𝑖+1 = 𝑆β 𝑘𝑖 ⊕ 𝑙𝑖+𝑚-1



(2.19)



Pada persamaan 2.19, nilai ki+1 didapatkan dengan cara melakukan operasi XOR antara ki yang telah dilakukan rotasi ke kiri sejumlah β bit dengan nilai li+m-1 yang didapat dari rumus 2.18. Kedua rumus ini akan dilakukan perulangan jumlah ronde dari jenis SPECK yang digunakan. 2.7.2 Enkripsi dari SPECK Enkripsi dari SPECK bertujuan untuk membuat proses enkripsi, dengan menggunakan kunci yang sudah siterapkan pada key ekspansi. Bertujuan untuk 53



mengembalikan dari bentuk ciphertext menjadi plaintext kembali, dengan menggunakan kunci yang sudah diterapkan. Pada proses Enkripsi dimulai dari membuat putaran sebanyak T-1 setelah itu, dilanjutkan dengan mengolah nilai X, selanjutnya geser nilai X ke kanan sebanyak alfa berikutnya mengolah nilai y dan geser nilai y ke kiri sebanyak beta.



Gambar 2.25 Enkripsi Algoritma Speck tipe 64/128 bit 2.7.3 Dekripsi pada SPECK Proses untuk melakukan dekripsi pada algoritma memerlukan invers operasi modulo, proses putaran sama dengan enkripsi, perbedaannya pelibatan key ekspansi dalam prosesnya dibalik dari indek ke 26 sampai ke 0 . Berikut proses dekripsi pada algoritme SPECK :



Gambar 2.26 Dekripsi Pada Speck



54



2.8



Pengamanan Kunci yang Digunakan Untuk Proses Enkripsi dan Dekripsi Keamanan pada kunci yang dapat dioptimalkan dengan teknik yang



diadopsi dari konsep steganografi, yaitu metode and of file (EOF). EOF menyisipkan atau menyembunyikan kunci yang digunakan untuk proses enkripsi dan deskripsi pada citra hasil enkripsi sebelum dikirimkan. Kelebihan metode EOF adalah kemampuannya untuk menyisipkan kumci yang sangat besar (atau yang berukuran cukup panjang). Jika menggunakan konsep EOF, Pengirim ataupun penriman pesan cukup mengingat 6 digit angka yang nantinya digunakan sekaligus menjadi kunci untuk bisa melakukan proses deskripsi. Penerima harus men-input-kan 6 digit angka dengan benar sebelum bisa melakukan proses deskripsi. Upaya peng-input-an kunci pada proses deskripsi hanya diizinkan 3 kali agar aman dari penyusup. Selain itu, proses penginputan kunci sepanjang 6 digit juga dibatasi oleh waktu yang ditentukan oleh pengirim. Waktu maksimal yang diizinkan 255 detik. Apabila pemasukannya lebih dari 3 kali atau melebihi waktu yang ditentukan, citra sudah tidak dapat dibuka lagi untuk dideskripsi, jadi, apabila mengirimkan informasi itu kembali, kita harus memintanya lagi kepada pengirim. Kunci playfair mempunyai konsep pengamanan dibangkitkan dengan ketentuan berikut: (Iswahyudi, Setyaningsih, dan Widyastuti: 2012, dalam Setyaningsih: 2015). 1.



Kunci Playfair pada posisi baris 16 kolom 16 selalu 3 dan akan berkurang 1 setiap kali penerima men-input-kan yang salah pada proses deskripsi. Apabila posisi baris 16 kolom 16 bernilai 0, secara otomatis pada citra pesan sudah tidak dapat dilakukan proses deskripsi.



2.



Pada kunci Playfair di posisi baris 16 kolom 15 diisikan waktu maksimal untuk meng-input-kan kunci secara benar. Waktu maksimal yang dapat diisikan oleh pengirim adalah 255 detik.



3.



Kunci Playfair posisi baris 16 kolom 13 dari 14 nilai random yang digunakan sebagai kunci untuk bisa melakukan proses enkripsi. Nilai kunci ini tidak boleh sama dengan nilai yang digunakan pada 1 dan 2. Jadi,



55



misalnya, posisi baris 16 kolom 15 diisi angka 50 maka pada posisi baris 16 kolom 13 dan 14 tidak diisikan angka 50 dan 3. 4.



Selanjutnya, pada posisi kunci, selain pada posisi butir 1,2 dan 3, diisikan nilai angka antara 0-255 dimana semua nilai setiap posisi piksel tidak diperbolehkan sama. Dengan kata lain, setiap posisi piksel akan bernilai unik.



2.9



Proses Enkripsi dan Dekripsi pada Mobile Phone Proses enkripsi dilakukan dengan proses berikut.



1. Bangun kunci Playfair. 2. Bangkitkan kunci Vigenere dengan cara yang telah dijelaskan pada subsubbab 2.5.2 3. Transformasikan warna untuk memisahkan warna RGB (untuk cara berwarna) sehingga menjadi 3 buah matriks. Untuk citra groyscole, transformasi warna tidak perli dilakukan. 4. Enkripsi menggunakan kunci Vigenere untuk masing-masing matriks komponen warna pada hasil enkripsi dengan kunci Vigenere dilakukan enkripsi menggunakan algoritma playfair dengan kunci playfair. Sembunyikan kunci playfair pada cipher image dengan metode end of file pada komponen red, green, tau blue tergantung pada hasil nilai piksel kunci playfair pada posisi baris 16 kolom 15. Apabila nilai intensitasnya di modulo menghasilkan nilai 0, kunci playfair disembunyikan pada komponen red, apabila bernilai 1, kunci playfair disembunyikan pada komponen green, apabila bernilai 2, kunci playfair disembunyikan pada komponen blue. Sementara pada baris terakhir komponen warna yang tidak mengandung kunci playfair juga ditambahkan suatu nilai random antara 0-255 supaya ketiga komponen warna berukuran sama langkah terakhir adalah mengembalikan nilai RGB dengan transformasi warna balik sehingga dihasilkan citra baru yang sudah tersandikan. Proses deskripsi besa dilakukan dengan langkah-langkah berikut. 1. Ambil citra yang akan di deskripsi. Selanjutnya, lakukan proses transformasi warna sehingga komponen warna RGB dari citra yang telah tersandikan terpisah seperti pada proses enkripsi.



56



2. Input-kan sandi untuk melakukan proses deskripsi. Kemudian, hitung nilai sandi apabila di-modulo-kan 3 untuk mengtahui apakah kunci playfair disisipkan pada komponen red, green, ataukah blue. 3. Ambil komponen warna sesuai dengan hasil nilai perhitungan pada langkah kedua. Kemudian, lakukan pengecekan pada posisi cipher komponen warna yang mengandung di posisi m x n dan m x (n-1). Apabila nilai posisi keduanya atau salah satunya bernilai 0, pada cipher image sudah tidak dapat dilakukan proses deskripsi. Pengguna harus meminta ulang pengiriman cipher-nya. Apabila nilai posisi keduanya > 0, lakukan hal berikut. a. Mencocokkan nilai pada posisi citra m x (n-3) dan m x (n-2) dengan sandi. b. Apabila tidak sama, ulangi langkah ke-3, dan nilai intensitas citra pada posisi m x n dikurangi 1, sedangkan posisi m x (n-1) dikurangi dengan waktu yang telah di gunakan untuk proses peng-input-an sandi. c. Apabila sama, lanjutkan ke langkah 4. 4. Ekstrak kunci playfair pada komponen warna yang mengandung kunci playfair. Kemudian, lakukan proses deskripsi dengan metode Playfair seperti proses enkripsi untuk setiap matriks warna. Selanjutnya, pada setiap komponen warna ciphertext hasil deskripsi dengan metode playfair dilakukan deskripsi dengan metode vigenere cipher. Caranya, kurangi ciphertext hasil deskripsi dengan metode playfair dengan kunci vigenere menggunakan konsep pengurangan module 256 untuk semua matriks warna (iswahyudi et al, 2012). Langkah terakhir adalah mengembalikan vektor hasil deskripsi sebagainilai RGB menggunakan transformasi balik sehingga dihasilkan citra yang sama dengan citra aslinya.



57



BAB III PENUTUP 3.1



Kesimpulan Ditinjau dari asal-usul kata, algoritma mempunyai sejarah yang menarik.



Kata ini muncul di dalam kamus Webster. Sampai akhir tahun 1957 hanya ditemukan kata algorism yang mempunyai arti proses perhitungan dengan bahasa Arab. Algoritma berasal dari nama penulis buku Arab yang terkenal, yaitu Abu Ja’far Muhammad ibnu Musa al-Khuwarizmi (al-Khuwarizmi dibaca oleh orang Barat menjadi algorism). Kata algorism lambat laun berubah menjadi algorithm. (Ariyus & Rum, 2008). Secara etimologi (ilmu asal usul kata), kata kriptografi berasal dari gabungan dua kata dalam bahasa Yunani yaitu “kriptos” dan “graphia”. Kata kriptos digunakan untuk mendeskripsikan sesuatu yang disembunyikan, rahasia atau misterius. Sedangkan kata graphia berarti tulisan. Kriptografi didefinisikan sebagai ilmu dan pelajaran untuk tulisan rahasia dengan pertimbangan bahwa komunikasi dan data dapat dikodekan untuk mencegah dari mata-mata atau orang lain yang ingin mengetahui isinya, dengan menggunakan kode-kode dan aturanaturan tertentu dan metode lainnya sehingga hanya orang yang berhak yang dapat mengetahui isi pesan sebenarnya. Dengan kriptografi, informasi yang dianggap rahasia dapat disembunyikan dengan teknik penyandian, sehingga tidak dimengerti oleh orang lain, selain oleh pembuat atau penerimanya saja. Dalam era teknologi informasi sekarang ini, mekanisme yang sama masih digunakan tetapi tentunya implementasi sistemnya berbeda. Berikut ini adalah rangkuman beberapa mekanisme yang berkembang pada kriptografi modern: 1.



Fungsi Hash.



2.



Penyandian dengan kunci simetrik (Symmetric key encipherment).



3.



Penyandian dengan kunci asimetrik (Asymmetric key encipherent). Enkripsi merupakan hal yang sangat penting dalam kriptografi yang



merupakana pengaman data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut dengan plaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan dengan chiper atau kode. Sama halnya dengan kita tidak mengerti akan sebuah kata makna kita akan melihatnya di dalam kamus 58



atau daftar istilah. Beda halnya dengan enkripsi, untuk mengubah teks asli ke bentuk teks sandi, kita menggunakan algoritma yang dapat mengkodekan data yang kita ingini. Dekripsi merupakan kebalikan dari enkripsi. Pesan yang telah di enkripsi dikembalikan ke bentuk asalnya (plaintext), disebut dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan yang digunakan untuk enkripsi. 3.2



Saran Saran yang dapat disampaikan melalui penulisan makalah ini ialah, agar



setiap orang yang membacanya dapat mengetahui apa saja yang terkait dengan kriptografi khususnya materi enkripsi dan dekripsi.



59



DAFTAR PUSTAKA Ariyus, Doni dan Rum Andri K.R. 2008. Komunikasi Data. Penerbit ANDI. Yogyakarta. Aulia, Nasta. 2016. Aplikasi Enkripsi dan Dekripsi Menggunakan Visual Basic 2012 dengan Algoritma Triple DES (Online). https://www.academia.edu/224418313/JURNAL_KEAMANAN_KOMPUT ER_APLIKASI_ENKRIPSI_DAN_DEKRIPSI_RC2_MENGGUNAKAN_ JAVA_NETBEANS. Diakses 28 September 2019. Fatmala, Yuniar Siska., Ari Kusyanti dan Mahendra Data. 2018. Implementasi Algoritme Speck untuk Enkripsi dan Dekripsi pada QR Code (Online). Vol 2 (12): 6253-6260. http://j-ptiik.ub.ac.id/index.php/j-ptiik/article/download. diakses 4 Oktober 2019 Hakim, Elka Lukman., Khairil, Ferry Hari Utami. 2014. Aplikasi Enkripsi dan Deskripsi Data Menggunakan Algoritma RC4 Dengan Menggunakan Bahasa Pemrograman PHP (Online). Vol 10 (1): 1-7. https://jurnal.unived.ac.id/index.php/jmi/article/view/226/203. diakses 28 September 2019. Hidayat, Akik dan Tuti Alawiyah. 2013. Enkripsi dan Dekripsi Teks Menggunakan Algoritma Hill Cipher Dengan Kunci Matriks Persegi Panjang (Online). Vol 9 (1): 39-51. http://jurnal.unpad.ac.id/index.php/jmi/article/view/226/203. Diakses 28 September 2019. Kromodimoeljo, Sentot. 2010. Teori dan AplikasiKriptografi. SPK IT Consulting. Jakarta. Permana, Angga Aditya dan Desi Nurnaningsih. 2018. Rancangan Aplikasi Pengamanan Data Dengan Algoritma Advanced Encyption Standard (AES). Vol 11 (2): 177-186. Primatha, Rifkie. 2013. Penerapan Enkripsi dan Dekripsi File Menggunakan Algoritma Advanced Encryption Standard (AES). Vol 2 (1): 13-18. Primartha, Rifkie. 2011. Penerapan Enkripsi dan Dekripsi File Menggunakan Algoritma Data Encryption Standard (DES) (Online). Vol 3 (2): 371-387. https://media.neliti.com/media/publications/130596-ID-penerapan-enkripsidan-dekripsi-file-men.pdf. Diakses 28 September 2019. Primartha, Rifkie. 2012. Penerapan Enkripsi Dan Dekripsi File Menggunakan Algoritma Advanced Encryption Standard (AES). Disertasi tidak diterbitkan. Palembang: ILKOM-Universitas Sriwijaya. (Online). https://core.ac.uk/download/pdf/151439474.pdf. diakses pada 4 Oktober 2019



60



Rafiudin, Rahmat. 2006. Sistem Komunikasi Data Mutakhir. Penerbit ANDI. Yogyakarta. Sadikin, Rifki. 2012. Kriptografi untuk Keamanan Jaringan dan Implementasinya dalam Bahasa Java. Penerbit ANDI. Yogyakarta. Setyaningsih, Emy. 2015. Kriptografi & Implementasinya Menggunakan Matlab. Penerbit ANDI. Yogyakarta. Situmorang, Harold. 2016. Keamanan Basis Data Dengan Teknik Enkripsi (Online). Vol 1 (1): 22-27. http://e-journal.sarimutiara.ac.id/index.php/7/article/download/92/126/. Diakes 28 September 2019. Sutisna, Herlan. 2016. Analisa Proteksi Serangan Enkripsi Data Melalui Keamanan Model Kriptografi Komunikasi Jaringan Komputer (Online). Vol 1 (2): 62-70. https://jurnaleeccis.ub.ac.id/index.php/eccis/article/download/207/179. Diakses 28 September 2019.



61