Enkripsi Data Menggunakan Algoritma Serpent
November 15, 2017 | Author: Angga Fiverzs CahyoNo | Category: N/A
Short Description
Download Enkripsi Data Menggunakan Algoritma Serpent...
Description
ENKRIPSI DATA MENGGUNAKAN ALGORITMA SERPENT
Disusun Oleh :
Edi Permadi Budiono Sudirman Irfan Sa’di Angga Tri Cahyono UNIVERSITAS MARITIM RAJA ALI HAJI FAKULTAS TEKNIK Software Engineering 2009
Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga. Menurut Bruce Scheiner dalam bukunya "Applied Cryptography", kriptografi adalah ilmu pengetahuan dan seni menjaga message-message agar tetap aman (secure). Konsep kriptografi sendiri telah lama digunakan oleh manusia misalnya pada peradaban Mesir dan Romawi walau masih sangat sederhana. Prinsip-prinsip yang mendasari kriptografi yakni: •
Confidelity (kerahasiaan) yaitu layanan agar isi pesan yang dikirimkan
tetap rahasia dan tidak diketahui oleh pihak lain (kecuali pihak pengirim, pihak penerima / pihak-pihak memiliki ijin). Umumnya hal ini dilakukan dengan cara membuat suatu algoritma matematis yang mampu mengubah data hingga menjadi sulit untuk dibaca dan dipahami. •
Data
integrity
(keutuhan
data)
yaitu
layanan
yang
mampu
mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan atau penambahan) data yang tidak sah (oleh pihak lain). •
Authentication
dengan
(keotentikan)
identifikasi.
Baik
yaitu
otentikasi
layanan
pihak-pihak
yang yang
berhubungan terlibat
dalam
pengiriman data maupun otentikasi keaslian data/informasi. •
Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat mencegah
suatu pihak untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa pesan tersebut berasal dirinya).
Berikut adalah istilah-istilah yang digunakan dalam bidang kriptografi : •
Plaintext (M) adalah pesan yang hendak dikirimkan (berisi data asli).
•
Ciphertext (C) adalah pesan ter-enkrip (tersandi) yang merupakan hasil enkripsi.
•
Enkripsi ciphertext.
(fungsi E) adalah proses pengubahan
plaintext
menjadi
•
Dekripsi (fungsi D) adalah kebalikan dari enkripsi yakni mengubah ciphertext menjadi plaintext, sehingga berupa data awal/asli.
•
Kunci adalah suatu bilangan yang dirahasiakan yang digunakan dalam proses enkripsi dan dekripsi.
Kriptografi itu sendiri terdiri dari dua proses utama yakni proses enkripsi dan proses dekripsi. Seperti yang telah dijelaskan di atas, proses enkripsi mengubah plaintext menjadi ciphertext (dengan menggunakan kunci tertentu) sehingga isi informasi pada pesan tersebut sukar dimengerti.
Gambar 2.1 Diagram proses enkripsi dan dekripsi Peranan kunci sangatlah penting dalam proses enkripsi dan dekripsi (disamping pula algoritma yang digunakan) sehingga kerahasiaannya sangatlah penting, apabila kerahasiaannya terbongkar, maka isi dari pesan dapat diketahui. Secara matematis, proses enkripsi merupakan pengoperasian fungsi E (enkripsi) menggunakan e (kunci enkripsi) pada M (plaintext) sehingga dihasilkan C (ciphertext), notasinya : Ee(M) – C
Sedangkan untuk proses dekripsi, merupakan pengoperasian fungsi D (dekripsi) menggunakan d (kunci dekripsi) pada C (ciphertext) sehingga dihasilkan M (plaintext), notasinya : Dd(C) = M Sehingga dari dua hubungan diatas berlaku : Dd(Ee(M)) = M
Algoritma Simetri Serpent Algoritma Serpent merupakan hasil kerjasama internasional yang melibatkan tiga negara Inggris, Israel, dan Norwegia melalui tiga buah universitasnya. Inggris dalam hal ini diwakili oleh Cambridge University sedangkan Israel diwakili oleh Haifa Israel dan Norwegia diwakili oleh University of Bergen. Algoritma ini dikembangkan oleh Ross Anderson dari Inggris, Eli Biham dari Israel, dan Lars Knudsen dari Norwegia.
Serpent merupakan algoritma cipher blok algoritma dengan 32 putaran jaringan Substitution-Permutation Network (SP-network) yang beroperasi pada empat word 32 bit, yang berarti ukuran bloknya adalah 128 bit. Untuk komputasi internal, semua nilai direpresentasikan dalam little-endian, di mana word pertama adalah least-significant word, dan word terakhir adalah most-significant word.
Serpent mendukung masukan kunci sepanjang 128 bit, 192 bit, dan 256 bit. Kenyataannya, dalam mekanisme penjadwalan kunci dibutuhkan kunci sepanjang 256 bit. Oleh karena itu, untuk masukan kunci sepanjang 128 bit dan 192 bit memerlukan mekanisme tambahan, yaitu padding. Padding menambahkan bit “1” pada bit terpenting (most significant bit) dan beberapa bit “0” sampai ukuran kunci mencapai 256 bit. Untuk proses enkripsi, Serpent membutuhkan 32 upakunci 128 bit yang dinotasikan dengan K0, … , K32. Tahapan untuk mendapatkan ke-33 upakunci yaitu [SER09]: 1. Membagi kunci masukan K menjadi delapan bagian, masing-masing 32 bit yang dinotasikan dengan
w-8, … , w-1
2. Membentuk 132 kunci antara (prekey) yang dinotasikan dengan w0, … , w131 melalui persamaan: wi = (wi-8 wi-5 wi-3 wi-1 Ø i)
View more...
Comments