ENKRIPSI DAN DESKRIPSI DENGAN METODE DATA ENCRYPTION STANDARD (DES) DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN PHP PDF

Title ENKRIPSI DAN DESKRIPSI DENGAN METODE DATA ENCRYPTION STANDARD (DES) DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN PHP
Author SulisTyo SulisTyo
Pages 19
File Size 501.2 KB
File Type PDF
Total Downloads 88
Total Views 820

Summary

JURNAL-ENCRYPT&DECRYPT – UNIROW – AHMAD SHOFI, WIYANTO , SULISTIYO[PEB-2016] ENKRIPSI DAN DESKRIPSI DENGAN METODE DATA ENCRYPTION STANDARD (DES) DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN PHP 1 Ahmad Shofi (1412120049) 2 Wiyanto (1412120300) 3 Sulistiyo (1412120051) 1 Teknik Informatika, Universitas ...


Description

JURNAL-ENCRYPT&DECRYPT – UNIROW – AHMAD SHOFI, WIYANTO , SULISTIYO[PEB-2016]

ENKRIPSI DAN DESKRIPSI DENGAN METODE DATA ENCRYPTION STANDARD (DES) DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN PHP

1

Ahmad Shofi (1412120049) 2

Wiyanto (1412120300)

3

Sulistiyo (1412120051)

1

2

Teknik Informatika, Universitas PGRI Ronggolawe Tuban, [email protected],

Teknik Informatika, Universitas PGRI Ronggolawe Tuban, [email protected], 3

Teknik Informatika, Universitas PGRI Ronggolawe Tuban, [email protected],

ABSTRAK Kata sandi atau password digunakan untuk mengamankan data privasi yang tidak boleh diketahui sembarang orang. Di zaman teknologi seperti sekarang, terutama sistem informasi, kata sandi menjadi pokok atau menjadi privasi hal yang penting dalam mengakses data. Dengan penggunaan kata sandi data yang tidak boleh dilihat sembarang orang tetap terjaga selama yang mengakses tidak mengetahui kata sandi untuk melihat data tersebut. Namun seiring perkembangan zaman yang semakin canggih dan perkembangan sistem informasi yang begitu pesat. Kebutuhan akan keamanan kata sandi sangat diperlukan. Karena ketergantungan manusia akan sistem informasi membuat pihak-pihak yang tidak bertanggung jawab (baca : Hacker Blackhat) berusaha untuk mencuri data-data tersebut. Baik itu hanya untuk iseng saja, keuntungan pribadi atau keuntungan pada pihakpihak terkait. Maka dari itu berbagai metode encrypt data semakin berkembang, dari kata sandi Caesar sampai sekarang yang banyak variasi metode enkripsi-deskripsi. Salah satu metode enkrips-dekripsi data adalah DES (Data Encryption Standard). Yaitu proses penyandian data dengan menggunakan metode aritmatika kode binner. Dengan adanya jurnal enkripsi-dekripsi DES ini diharapkan dapat menambah pengetahuan dengan berbagai metode peyandian data. Dan diharapkan dapat mengantisipasi celah-celah keamanan kata sandi dari para Hacker.

Kata kunci : DES, Unirow, Enkripsi, Kata Sandi

JURNAL-ENCRYPT&DECRYPT – UNIROW – AHMAD SHOFI, WIYANTO , SULISTIYO[PEB-2016]

ABSTRACT Passwords used to secure the personal data that should not be known to anyone. In an age of technology as it is now, especially information systems, passwords or be the subject of privacy is important in accessing the data. By using your password data may not be visible for everyone to stay awake for access who do not know the password to view the data. But as increasingly sophisticated system development time and information is so rapid. The need for security password needed. Because the human dependence on information systems to make those who are not responsible (read: Blackhat Hacker) attempt to steal data. Is it just for fun, profit or gain privasi related parties. So that various methods of growing encrypt the data, from the cipher said until now that many different methods of encryption and description. One method enkrips decrypt the data DES (Data Encryption Standard). It is the process of encoding data using arithmetic Binner code. With journal DES encryption and decryption is expected to increase the knowledge of various methods of data peyandian. And is expected to anticipate Hacker password security gaps.

Keyword : DES, Unirow, Encrypt, Password

karena dengan kemampuan komputasi komputer

PENDAHULUAN Kriptografi mempelajari

adalah

mengenai

ilmu bagaimana

yang cara

mengamankan suatu informasi. Pengamanan ini dilakukan

dengan

mengenkrip

informasi

tersebut dengan suatu kunci khusus. Informasi ini sebelum dienkrip dinamakan plaintext. Setelah dienkrip dengan suatu kunci dinamakan ciphertext. Keamanan suatu informasi agar tidak jatuh

ke

tangan

orangorang

berkepentingan sangatlah

yang

penting agar tidak

password, nomor kartu kredit, ataupun informasi pribadi lainnya.

diciptakan oleh para ahli kriptografi, namun berbagai usaha dilakukan oleh cracker untuk memecahkannya tidak sedikit yang membawa keberhasilan. Hal ini mendorong para kriptografi untuk menciptakan algoritmaalgoritma yang lebih aman.

ADVANCED ENCRYPTION STANDARD Hingga

tahun

1990-an,

algoritma

kriptografi yang banyak dipakai adalah Data Encryption Standard (DES). Algoritma ini

Usaha untuk menjaga kerahasiaan suatu informasi telah ada sejak jaman dahulu. Julius Caesar, kaisar Romawi, telah menggunakan enkripsi

Berbagai algoritma kriptografi telah

tidak

disalahgunakan. Informasi ini dapat berupa

metoda

sekarang, akan sangat mudah dipecahkan.

sederhana

dengan

dipakai oleh National Institute of Standards and Technology (NIST) sebagai standar enkripsi data Federal Amerika Serikat.

cara

menggeser setiap karakter dalam pesannya

DES termasuk dalam algoritma enkripsi

dengan nilai tertentu. Cara ini cukup aman pada

yang sifatnya cipher block, yang berarti DES

saat itu namun tidaklah mungkin dipakai saat ini

mengubah data masukan menjadi blok-blok 64-

JURNAL-ENCRYPT&DECRYPT – UNIROW – AHMAD SHOFI, WIYANTO , SULISTIYO[PEB-2016] bit dan kemudian menggunakan kunci enkripsi

mudah

sebesar 56-bit. Setelah mengalami proses

berdasar algoritma matematika tertentu.

enkripsi maka akan menghasilkan output blok

b)

64-bit.

Faktor

diterka

biaya,

outputnya,

dimana

dan

tidak

diperhitungkan

kecepatan prosesing pada baik pada hardware dan software, dan besarnya

Seiring dengan perkembangan teknologi,

memory yang dipakai.

kunci DES yang sebesar 56-bit dianggap sudah tidak memadai lagi. Pada tahun 1998, 70 ribu komputer di Internet berhasil membobol satu kunci DES dalam waktu 96 hari. Tahun 1999 kejadian yang sama terjadi lagi dalam waktu lebih cepat yaitu hanya dalam waktu 22 hari.

c)

Faktor karakteristik implementasi, yakni meliputi kesederhanaan algoritma yang digunakan, kemudahan dan keamanan dalam implementasi di hardware dan software.

Pada tanggal 16 Juni 1998, sebuah mesin seharga

DES seharusnya terdiri dari algoritma

250 ribu dolar dapat dengan mudah memecahkan

enkripsi data yang diimplementasikan dalam

25% kunci DES dalam waktu kira-kira 2,3 hari

peralatan elektronik untuk tujuan tertentu.

atau diperkirakan dapat memecahkan kunci DES

Peralatan ini dirancang menurut cara yang

dalam waktu

mereka gunakan dalam sistem atau jaringan

Adanya

4,5 hari. kenyataan

bahwa

algoritma

kriptografi DES tidak lagi aman, maka NIST

komputer

untuk

melengkapi

perlindungan

cryptographic pada data biner.

mulai memikirkan sebuah algoritma kriptografi

Metode implementasi akan tergantung

lain sebagai pengganti DES. Untuk itu diadakan

pada aplikasi dan lingkungan di sekitar sistem

kontes Internasional dimana pesertanya adalah

itu. Peralatan itu diimplementasikan tetapi

ahli kriptografi dari seluruh dunia.Adapun

sebelumnya diuji dan divalidkan secara akurat

diadakan secara terbuka dimaksudkan agar

untuk menampilkan transformasi dalam bentuk

algoritma yang baru bukan dari produk badan

algoritma.

pemerintah

yang

dapat

dengan

sengaja

menanamkan backdoor pada algoritmanya. Backdoor ini dicurigai membuat plaintext dapat langsung dibaca tanpa harus menggunakan

Pada bahasan kali ini, algoritma DES akan digunakan

untuk

diimplementasikan

mengenkripsi dengan

data

dan

menggunakan

bahasa pemrograman PHP.

kunci. Pada tahun 1997 kontes pemilihan suatu standar algoritma kriptografi baru pengganti DES dimulai dan diikuti oleh 21 peserta dari seluruh dunia. Algoritma yang akan dipilih selain harus memenuhi beberapa kriteria, yaitu a)

Faktor keamanan, yang berarti algoritma tersebut harus tidak mudah dipecahkan oleh cracker, bersifat acak atau tidak

DESKRIPSI ALGORITMA DES Secara umum, algoritma DES terbagi menjadi 3 kelompok di mana kelompok yang satu dengan yang lain saling berinteraksi dan terkait antara satu dengan yang lain. Kelompok-kelompok tersebut adalah : Pemrosesan kunci, enkripsi data 64 bit, dan dekripsi data 64 bit.

JURNAL-ENCRYPT&DECRYPT – UNIROW – AHMAD SHOFI, WIYANTO , SULISTIYO[PEB-2016] Algoritma DES dirancang untuk menulis dan membaca berita blok data yang terdiri dari 64 bit di bawah kontrol kunci 64 bit. Dalam pembacaan berita harus dikerjakan dengan menggunakan kunci yang sama dengan waktu menulis berita, dengan penjadualan alamat kunci bit yang diubah sehingga proses membaca adalah kebalikan dari proses menulis. Sebuah blok ditulis dan ditujukan pada permutasi

Input yang mengalami permutasi mempunyai bit 58

dengan inisial IP, kemudian melewati perhitungan

dari input bit pertamanya, bit 50 sebagai bit kedua

dan perhitungan tersebut sangat tergantung pada

dan bit ke 7 sebagai bit terakhir. Blok input yang

kunci kompleks dan pada akhirnya melewati

mengalami permutasi kemudian menjadi input pada

permutasi yang invers dari permutasi dengan inisial

perhitungan dan tergantung pada kunci kompleks.

IP-1. Output perhitungan ini, disebut preoutput dan output Perhitungan yang tergantung pada kunci tersebut

ini akan diteruskan pada permutasi berikutnya yang

dapat didefinisikan sebagai fungsi f, yang disebut

merupakan

fungsi cipher dan fungsi KS, yang disebut Key

Perhatikan tabel kebalikan dari permutasi inisial IP

Schedule.

yaitu IP –1 .

kebalikan

dari

permutasi

inisial.

Sebuah dekripsi perhitungan diberikan pada awal, sepanjang

algoritma

yang

digunakan

dalam

penulisan pesan. Berikutnya, penggunaan algoritma untuk pembacaan pesan didekripsikan. Akhirnya, definisi dari fungsi cipher f menjadi fungsi seleksi Si dan fungsi permutasi adalah P. Perhatikan contoh berikut ini :

Output dari algoritma di atas mempunyai bit 40 dari blok preoutput sebagai bit pertamanya, bit 8 sebagai

Diberikan 2 blok yaitu L dan R dari bit. LR

bit kedua sampai bit 25 sebagai bit terakhir.

merupakan blok yang terdiri dari bit L dan diikuti oleh bit R. Kemudian menyusul urutan bit yang saling berhubungan yaitu : B1, B2, …., B8. Artinya bit yang terdiri dari B1 diikuti B2 dan akhirnya diikuti B8.

Perhitungan

yang

blok

input

dikenakan permutasi sebagai inputnya

untuk

menghasilkan

untuk

blok

menggunakan

preoutput.

Tetapi

pertukaran blok akhir, dari 16 iterasi dari kalkulasi yang dijelaskan di bawah ini merupakan fungsi

Di dalam algoritma DES dijabarkan menjadi 2

cipher f yang mengoperasikan 2 blok, yaitu salah

bagian, yaitu penulisan pesan dan penguraian pesan.

satu dari 32 bit dan salah satu dari 48 bit. Kalkulasi

64 bit dari blok input yang dienkripsi adalah subjek

tersebut akan menghasilkan blok sepanjang 32 bit.

pertama dari permutasi yang disebut permutasi dengan inisial IP. Perhatikan tabel permutasi inisial IP.

64 bit dari blok input terdiri dari 32 bit blok L dan diikuti oleh 32 bit blok R. Input blok ini didefinisikan sebagai LR.

JURNAL-ENCRYPT&DECRYPT – UNIROW – AHMAD SHOFI, WIYANTO , SULISTIYO[PEB-2016] K menjadi input blok dari 48 bit yang dipilih dari 64

Blok preoutput dari persamaan di atas adalah

bit kunci. Kemudian output L’R’ dari iterasi dengan

R16L16.

input LR menghasilkan persamaan berikut ini : (1) L’ = R R’ = L(+)f(R,K)

Untuk algoritma secara rinci dapat dilihat pada bahasan enkripsi 64 bit yang akan dibahas pada bagian bawah bab ini.

Dimana (+) merupakan penambahan bit demi bit kemudian dibagi 2. Input iterasi pertama dari perhitungan tadi adalah blok input yang mengalami permutasi. L’R’ adalah output dari iterasi ke 16, kemudian R’L’

Penguraian Pesan Permutasi IP-1 menerapkan blok preoutput yang merupakan kebalikan dari permutasi dengan inisial

adalah blok preoutput. Pada masing-masing iterasi

IP. Adapun persamaan berikut ini (4) merupakan

sebuah blok yang berbeda, K merupakan kunci bit

kelanjutan dari persamaan 1.

yang dipilih dari 64 kunci yang ditunjukkan oleh

R’ = L

KEY. L’ = R(+) f(L’, K) Dengan notasi di atas, kita bisa menjelaskan iterasi menjadi lebih rinci. KS menjadi sebuah fungsi yang

Akibatnya, penguraian pesan ini harus menerapkan

menggunakan bilangan bulat n dengan jangkauan

algoritma yang sama pada waktu pesan ditulis.

dari bilangan 1 sampai bilangan 16 dan blok 64 bit

Dengan mengambil masing-masing iterasi dari

KEY sebagai input serta hasilnya sebagai output

perhitungan blok yang sama dari kunci bit K maka

blok 48 bit Kn, di mana bisa dilihat pada persamaan

penguraian itu dilakukan. Dengan menggunakan

berikut ini : (2)

notasi-notasi dari persamaan berikut ini menjelaskan kondisi berikut : (5)

Kn = KS (n, KEY) Rn-1 = Ln Dengan Kn ditentukan oleh bit dalam posisi bit yang berbeda dengan KEY. KS disebut kunci schedule karena blok K digunakan dalam iterasi ke-n (persamaan 1) dan blok Kn ditentukan oleh persamaan 2.

Ln-1 = Rn (+) f(Ln, Kn) Setelah adanya persamaan di atas, sekarang R16L16 adalah blok input dari permutasi dalam perhitungan penguraian dan L0 dan R0 adalah blok preoutput.

Karena sebelumnya blok input dipermutasikan

Untuk penguraian perhitungan dengan R16L16

dengan LR, akhirnya L0 dan R0 berubah menjadi L

sebagai input permutasi. K16 digunakan dalam

dan R, sedangkan Ln dan Rn berubah menjadi L’

iterasi yang pertama, K15 sebagai yang kedua dan

dan R’ (persamaan 1). Selanjutnya L dan R berubah

seterusnya sampai dengan K1 digunakan dalam

menjadi Ln-1 dan Rn-1. K adalah Kn, yaitu ketika n

iterasi ke-16.

dalam jangkauan bilangan 1 sampai bilangan 16. Perhatikan persamaan berikut ini : (3) Ln = Rn-1 Rn n = Ln-1 (+) f(Rn-1, Kn)

Untuk algoritma secara rinci dapat dilihat pada bahasan dekripsi 64 bit yang akan dibahas pada bagian bawah bab ini.

JURNAL-ENCRYPT&DECRYPT – UNIROW – AHMAD SHOFI, WIYANTO , SULISTIYO[PEB-2016] FUNGSI CIPHER F Perhitungan dari fungsi f(R,K) dapat dilihat pada gambar berikut ini.

dari B mewakili dalam base-2 sebuah angka dalam jangkauan 0 sampai dengan 3. Angka tersebut didefinisikan sebagai i. 4 bit ditengah dari B mewakili dalam base 2 sebuah angka dalam jangkauan 0 sampai dengan 15. Angka tersebut didefinisikan sebagai j. Lihat tabel di atas, angka dalam baris ke-i dan kolom ke-j. Angka dalam jangkauan 0 sampai dengan 15 dan diwakili oleh 4 bit blok. Blok itu adalah output S1 (B) dari S1 untuk input B. Sebagai contoh, untuk input 011011 baris 01, baris 1 dan kolom ditentukan oleh 1101, kolom 13. Pada barus 1 kolom 13 kelihatan 5 sehingga outputnya

E merupakan fungsi yang mengambil blok 32 bit

adalah 0101.

sebagai input dan hasil blok 48 bit sebagai output. E

Hasil fungsi permutasi P output 32 bit dari input 32

yang 48 bit sebagai output ditulis sebagai 8 blok dari

bit dengan permutasi bit dari input blok dapat dilihat

6 bit yang masing-masing diperoleh dengan cara

pada tabel berikut ini :

menyeleksi bit dalam input. Perhatikan gambar tabel berikut ini.

Output P(L) untuk fungsi P didefinisikan oleh tabel di atas dan diperoleh dari input L dengan mengambil 3 bit pertama dari E adalah bit dalam posisi 32,

bit ke-16 dari L sebagai bit pertama P(L), bit ke-7

kemudian 1 disusul 2 dari R dan 2 bit E yang terakhir

sebagai bit ke-2 dari P(L), dan seterusnya sampai bit

adalah bit dalam posisi 32 dan 1.

ke-25 dari L diambil sebagai bit ke-32 dari P(L).

Masing-masing fungsi seleksi untuk S1, S2, …. S8

S1, S2, ….., S8 menjadi fungsi seleksi yang berbeda

mengambil blok 6 bit sebagai input dan hasil blok 4

dari P menjadi fungsi permutasi sekaligus E menjadi

bit sebagai output dan diilustrasikan dengan

fungsi yang telah didefinisikan di atas.

menggunakan tabel yang berisi S1.

Untuk mendefinisikan f(R,K), langkah pertama adalah mendefinisikan B1,…B8 menjadi blok dari 6 bit masing-masing untuk persamaan di bawah ini : (6) B1, B2, …, B8 = K(+) E (R) Blok f(R,K) kemudian didefinisikan menjadi

Jika S1 adalah fungsi yang didefinisikan dalam tabel

persamaan berikut ini : (7) P(S1(B1)(S2(B2)….

dan B adalah blok dari 6 bit, kemudian S1 (B)

(S8(B8))

ditentukan sebagai berikut : bit pertama dan terakhir

JURNAL-ENCRYPT&DECRYPT – UNIROW – AHMAD SHOFI, WIYANTO , SULISTIYO[PEB-2016] Jadi K (+) E ( R ) adlaha hasil pertama yang dibagi dalam 8 blok input yang dapat dilihat pada persamaan (6). Kemudian masing-masing B1 diambil sebagai input untuk S1 dan 8 blok (S1(B1)(S2(B2)…. (S8(B8)) dari 4 bit masingmasing digabungkan menjadi blok tunggal dari 32

- Dari permutasi ini kemudian output PC-1 dibagi

bit yang membentuk input P. Output pada

menjadi 2 bagian yaitu 28 bit pertama disebut C(0)

persamaan (7) kemudian menjadi input bagi R dan

dan 28 bit terakhir disebut D(0). - Dari C(0) dan

K.

D(0) kemudian dihitung sub-sub kunci untuk setiap

PEMROSESAN KUNCI

iterasi , yang dimulai dengan j = 1.

Sebelum kita membuat diagram blok tentang alur

- Untuk setiap iterasi, yaitu j rotasi ke kiri 1 kali atau

pemrosesan kunci, sebelumnya disusun terlebih

sebanyak 2 kali untuk setiap C(j – 1) dan D(j – 1).

dahulu

adanya

Dari hasil rotasi ini akan didapatkan hasil C(j) dan

pemrosesan kunci. Algoritma ini nantinya akan

D(j). Tabel berikut ini akan menunjukkan langkah

sangat berguna sekali pada waktu implementasi

setiap rotasi yang diterapkan pada setiap iterasinya.

pada program.

Iterasi ke

Adapun algoritmanya adalah sebagai berikut : -

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

algoritma

yang

menunjang

Pengguna memasukkan sebuah kunci sebesar 64 bit atau 8 karakter, dimana nantinya setiap bit dalam

Jumlah Step

kunci ini akan digunakan bit paritas - S...


Similar Free PDFs