Enkripsi Data Menggunakan Algoritma Serpent

November 15, 2017 | Author: Angga Fiverzs CahyoNo | Category: N/A
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF