perancangan dan implementasi aplikasi keamanan pengiriman...

28
Perancangan dan Implementasi Aplikasi Keamanan Pengiriman Data File pada Client server Berbasis Algoritma Block Cipher menggunakan Teknik Transposisi dengan Prinsip One Time Pad (OTP) Artikel Ilmiah Dwi Agung Saktiyono (672010176) Dian W. Chandra, S.Kom., M.Cs. Alz Danny Wowor, S.Si., M.Cs. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga April 2015

Upload: lytruc

Post on 06-Mar-2019

251 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

Perancangan dan Implementasi Aplikasi Keamanan

Pengiriman Data File pada Client – server Berbasis

Algoritma Block Cipher menggunakan Teknik

Transposisi dengan Prinsip One Time Pad (OTP)

Artikel Ilmiah

Dwi Agung Saktiyono (672010176)

Dian W. Chandra, S.Kom., M.Cs.

Alz Danny Wowor, S.Si., M.Cs.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

April 2015

Page 2: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

Perancangan dan Implementasi Aplikasi Keamanan

Pengiriman Data File pada Client-server Berbasis

Algoritma Chiper Block dengan Prinsip One Time Pad

(OTP)

Artikel Ilmiah

Diajukan kepada

Fakultas Teknologi Informasi

untuk memperoleh Gelar Sarjana Komputer

Peneliti :

Dwi Agung Saktiyono (672010176)

Dian W. Chandra, S.Kom., M.Cs.

Alz Danny Wowor, S.Si., M.Cs.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

April 2015

Page 3: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

Lembar Persetujuan

Page 4: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server
Page 5: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server
Page 6: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server
Page 7: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server
Page 8: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server
Page 9: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

Perancangan dan Implementasi Aplikasi Keamanan Pengiriman Data File

pada Client –server Berbasis Algoritma chiper block dengan Prinsip One Time

Pad (OTP)

1)Dwi Agung Saktiyono,

2) Dian W. Chandra,

3)Alz Danny Wowor

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Jl. Diponegoro 52-60, Salatiga 50711, Indonesia

Email: 1)

[email protected], 2)

[email protected], 3)

[email protected]

Abstract

Cryptography is one of the security of data or information that can be

implemented on a computer network. Computer networks are quite spacious allowing the

vulnerability of crime in cyberspace, and cryptography is one of solution that can be

used. This study designed a cryptographic cipher block using the technique of

transposition and prisnsip One Time Pad algorithm for data security that is applied in

data transmission applications on the client - server, and also designed padding key to be

better facilitate the process of equating long with the plaintext characters. Result of the

study, which is designed to run cryptography and applied to the network client - server

accordance with a five-tuple (five-tuple).

Keywords: Block Cipher, Cryptography, Transposition, Client – Server, Padding.

Abstrak

Kriptografi merupakan salah satu keamanan data atau informasi yang dapat

diimplementasi pada sebuah jaringan komputer. Jaringan komputer yang cukup luas

memungkinkan rentannya kejahatan di dunia maya, dan kriptografi merupakan salah satu

solusi yang bisa digunakan. Penelitian ini merancang kriptografi cipher blok dengan

menggunakan teknik transposisi acak serta prisnsip algoritma One Time Pad untuk

keamanan data yang diterapkan di aplikasi pengiriman data pada klien – server, dan juga

merancang padding kunci untuk lebih memudahkan proses menyamakan panjang dengan

karakter plainteks. Hasil dari penelitian ini, yaitu kriptografi yang dirancang dapat

berjalan dan diterapkan pada jaringan klien – server sesuai dengan lima-tuple (five-tuple).

Kata Kunci: Cipher Blok, Kriptografi, Transposisi, Klien – Server, Padding.

1) Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi,

Universitas Kristen Satya Wacana.

2) Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana

Salatiga.

Page 10: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

1

1. Pendahuluan

One time pad (OTP) adalah salah satu algoritma kriptografi yang memiliki

tingkat keamanan paling baik [1]. Algoritma OTP memiliki keunggulan dalam

melakukan proses enkripsi dan dekripsi yaitu setiap karakter plainteks mempunyai

kunci masing-masing yang digunakan untuk mengenkripsi dan mendekripsi [4].

Sehingga membuat kriptanalis kesulitan dalam menemukan plainteks asli jika

kunci yang digunakan adalah kunci yang acak. Sisi yang lain, OTP memiliki

kelemahan dalam penggunaannya untuk melakukan enkripsi dan dekripsi yaitu

OTP hanya cocok digunakan untuk melakukan enkripsi dan dekripsi pesan yang

berukuran kecil atau pesan singkat saja [1]. Hal ini dikarenakan panjang kunci

yang digunakan harus sama dengan panjang pesan, sehingga semakin besar

panjang pesan akan berakibat semakin besar pula panjang kunci, jadi file yang

berukuran besar akan lebih sulit untuk dilakukan proses enkripsi dekripsi.

Adapun algoritma kriptografi lainnya yang memiliki keunikan dengan

karakter dan spesifikasi yang berbeda-beda. Salah satunya adalah block cipher,

algoritma ini melakukan enkripsi dan dekripsi berdasarkan ukuran blok, yang

biasanya ditentukan berdasarkan banyak karakter atau banyak bit dari blok

tersebut. Block cipher merupakan kriptografi yang banyak digunakan sebagai

teknik pengamanan di internet, transaksi keuangan, dan juga dalam

berkomunikasi. Selain itu juga teknik ini digunakan karena secara matematis tidak

memerlukan operasi yang kompleks. Dimana algoritma block chiper pada

prosesnya memerlukan waktu dan memori yang sedikit dibandingkan dengan

kriptografi jenis yang lainnya [2].

Sistem jaringan client – server menjadi salah satu media untuk mengirimkan

informasi, tidak hanya informasi umum tetapi untuk informasi yang bersifat

rahasia. Agar informasi tersebut tidak jatuh ke pihak yang salah, kriptografi

berperan dalam memgamankan informasi-informasi tersebut pada saat pesan

ditransmisikan ke dalam jaringan.

Berdasarkan pemahaman yang sudah dijelaskan penelitian ini merancang

algoritma baru yang mengacu pada algoritma cipher block dengan menggunakan

teknik transposisi dan prinsip OTP, untuk mengatasi prinsip OTP yaitu panjang

karakter plainteks harus sama kunci maka diperlukan proses padding pada kunci

agar panjangnya memenuhi panjang plainteks yang ada. Algoritma cipher block

yang juga memiliki fungsi kerja yang sama dengan OTP yaitu menjumlah (xor)

setiap karakter plainteks dengan kunci sehingga prinsip OTP dapat digunakan

dalam penelitian ini, sehingga nantinya penelitian diharapkan dapat menjadi

alternatif pengamanan data file yang kemudian diterapkan pada sebuah aplikasi

pengiriman client – server melalui jaringan untuk memenuhi keamanan sistem.

2. Kajian Pustaka

Pada penelitian sebelumnya yang berjudul “Sistem Pengamanan Data

Menggunakan Metode MD5 dan Private Key pada Aplikasi berbasis Client

Server”, penelitian ini membuat aplikasi pengamanan data menggunakan metode

MD5 dan algoritma private key untuk sistem informasi simpan pinjam pada

koperasi Buah Hati Bawen. Keamanan yang diterapkan terletak pada database

Page 11: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

2

data nasabah dan form login nasabah (client) dengan menggunakan portal enkripsi

yang diaktifkan atau di non-aktifkan [3], dengan begitu data nasabah yang

tersimpan pada database akan aman karena data yang tersimpan dalam keadaan

cipherteks. Pada penelitian tersebut hanya melakukan enkripsi ketika file sampai

di server, dan memakai algoritma standar MD5. Penenlitian ini dijadikan acuan

membuat kripotgrafi simetris yang baru, yang nantinya dapat digunakan pada

pengamanan Client – server.

Penelitian lain yang pernah dilakukan mengenai algoritma one time pad

yaitu berjudul “Modifikasi Kriptografi One Time Pad (OTP) Menggunakan

Padding Dinamis dalam Pengamanan Data File” yang dimana penelitian ini

membuat aplikasi pengamanan data file dengan menerapkan teknik kriptografi

One Time Pad (OTP) modifikasi, sehingga algoritma One Time Pad (OTP) yang

diterapkan lebih praktis dan dapat diimplementasi ke semua aplikasi-aplikasi yang

digunakan dalam mengamankan data file. Algoritma One Time Pad (OTP) yang

dimodifikasi dengan melakukan tiga kali proses dan menggunakan bit shifting

pada kunci dan plainteks. Kunci pada proses kedua dan ketiga digenerate agar

bertambah sebanyak karakter dalam plainteks, untuk proses padding f+(ASCII-f)

semisal proses dilakukan pada karakter “f” maka karakter berikutnya yang

dihasilkan “fghijklm” berurut hingga memutari ASCII dan berhenti di “e”. Hasil

dari penelitian ini adalah teknik kriptografi yang dapat diaplikasikan pada

pengamanan file berbasis teks [4]. Proses padding yang dilakukan secara dinamis

menggunakan ASCII 256 membuat padding pada kunci tidak bervariasi, sehingga

mudah bagi kriptanalis untuk memecahkannya. Penenlitian ini dijadikan dasar

untuk membuat padding baru berdasarkan total ASCII, walaupun berbeda proses

dalam meregenerasi kunci.

Berdasarkan penelitian yang pernah dilakukan tentang aplikasi keamanan

dengan teknik kriptografi, maka dalam penelitian ini, akan dilakukan penelitian

perancangan dan implementasi aplikasi keamanan pengiriman data file pada client

server dengan menerapkan algoritma block cipher dalam blok 64 bit yang

dirancang untuk proses enkripsi dan deskripsi file. Enkripsi (E) diakukan terhadap

blok bit menggunakan bit-bit kunci (K) yang ukurannya sama dengan ukuran blok

plainteks (P). Algoritma enkripsi menghasilkan blok cipherteks (C) yang

berukuran sama dengan blok plainteks. Dekripsi (D) dilakukan dengan cara serupa

seperti pada enkripsi [1]. Enkripsi pada plainteks dapat dinyatakan dengan

persamaan (1).

(1)

Sedangkan dekripsi dinyatakan dengan Persamaan (2).

(2) Pada proses enkripsi plainteks dimasukkan terlebih dahulu, kemudian di

tahapan enkripsi plainteks diproses dengan kunci sesuai ketentuan setiap putaran

yang dibuat, proses plainteks dilakukan hingga menghasilkan cipherteks di

putaran proses akhir. Proses dekripsi dapat dilakukan dengan mengembalikan

CPEk )(

PCDk )(

Page 12: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

3

nilai dari enkripsi, dimana cipherteks diproses dengan kunci hingga menghasilkan

plainteks.

Dalam perancangan sebuah kriptografi harus juga memenuhi sebuah sistem

kriptografi. Oleh karena itu, berikut ini merupakan aturan yang harus dipenuhi

oleh sebuah kriptosistem dengan definisi lima tuple [1].

1. P adalah himpunan plainteks,

2. C adalah himpunan cipherteks,

3. K adalah ruang kunci (keyspace),

4. E adalah himpunan fungsi enkripsi ,

5. D adalah himpunan fungsi dekripsi .

Teknik transposisi pada dasarnya membuat cipherteks dengan

menggantikan posisi objek-objek plainteks tanpa menggantikan objek plainteks

tersebut, jadi pada proses transposisi tidak diperlukan karakter lain. Pada metode

transposisi ini pembacaan matrik dilakukan dengan cara pembacaan kolom

perkolom sesuai dengan kunci yang digunakan [7]. Sehingga dapat dijelaskan

transposisi itu sendiri merubah urutan plainteks sesuai dengan ketentuan yang

dibuat tanpa merubah atau menambah karakter yang ada [9]. Contoh teknik

transposisi :

1. Plainteks : AYAH PERGI KE KANTOR

2. Cipherteks : HAYA IGREP EK ROTNAK

Proses transposisi sederhana dimana plainteks disusun ke arah kanan yang

kemudian dilakukan perubahan urutan setiap karakternya, hasil transposisi terlihat

pada susunan cipherteks. Nama lain teknik ini adalah permutasi, karena transpose

setiap huruf didalam teks sama dengan mempermutasikan karakter-karakter

tersebut [10]

Padding dapat diartikan sebagai bantalan atau lapisan, berfungsi sebagai

sisipan atau mengisi ruang kosong. Dalam penyimpanan, pengiriman atau

pemrosesan file disisipkan beberapa blok data untuk memenuhi ukuran minimum,

untuk memaksa bidang-bidang tertentu dari data kontrol atau data pengguna ke

posisi ukuran tertentu, atau untuk mencegah dari penduplikasian pola bit yang

memiliki arti kontrol tertentu [6].

Topologi merupakan konsep untuk menghubungkan beberapa atau banyak

komputer sekaligus menjadi suatu jaringan yang saling terhubung [3]. Topologi

jaringan pada perancangan yang akan dibangun dapat dilihat pada Gambar 2.

Gambar 1 Topologi jaringan[3]

Gambar 1 adalah topologi jaringan dimana semua komputer saling

terhubung melalui jaringan dan terdapat switch sebagai media penghubung [3].

Page 13: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

4

Arsitektur jaringan Client – server merupakan model konektivitas pada

jaringan yang membedakan fungsi komputer sebagai client dan server. Arsitektur

ini menempatkan sebuah komputer sebagai server. Pada dasarnya, client adalah

konsumen layanan dan server penyedia layanan.

3. Metode Penelitian

Metode yang digunakan dalam pembuatan aplikasi terdapat lima tahap

yang akan dilakukan yaitu, (1) Pengumpulan Data, (2) Analisa Kebutuhan, (3)

Perancangan Modifikasi dan Pembuatan Program, (4) Evaluasi, (5) Penulisan

Laporan Hasil Penelitian.

Gambar 2 Tahap Penelitian

Tahapan penelitian pada Gambar 2 dapat dijelaskan sebagai berikut :

Tahap pertama : Pada tahap ini dilakukan pengumpulan data berupa literatur

terkait dengan proses enkripsi dan dekripsi data file menggunakan algoritma block

cipher yang dirancang dalam blok 64 bit dengan teknik transposisi. Tahap kedua :

tahap analisa kebutuhan yaitu, melakukan analisa mengenai kebutuhan apa saja

yang dibutuhkan dalam perancangan algoritma block cipher, dan analisis

bagaimana algoritma cipher blok diterapkan pada jaringan client – server. Tahap

ketiga : Pada tahap ini melakukan perancangan algoritma yang akan

diimplementasi dan membuat program berdasarkan kebutuhan sistem yang

dibangun agar sistem dapat terpenuhi sesuai kriteria. Tahap keempat : Evaluasi;

Tahap selanjutnya evaluasi yaitu menjalankan program serta analisis hasil

pengujian, apakah aplikasi dapat bekerja sesuai kriteria sistem yang dibangun

terkait proses enkripsi dan dekripsi data file. Tahap kelima : Penulisan Laporan;

Tahap akhir ini memaparkan seluruh proses program yang telah dijalankan, dan

akan ditulis pada laporan penelitian.

Adapun kriteria dalam penelitian yang dilakukan, meliputi : (1)

Implementasi aplikasi pengiriman data file berbasis client server, (2) Proses

enkripsi dekripsi data menggunakan rancangan algoritma block cipher, (3)

Inputan data file berupa, *.doc, *.docx, *.pdf, (4) Enkripsi dan dekripsi hanya

dilakukan pada karakter (teks), (5) Server hanya sebagai media penyimapan file

dan mengelola client (registrasi dan meneruskan pesan file).

Page 14: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

5

Perancangan client – server yang dibangun juga memiliki desain dimana

melibatkan setiap proses yang dilakukan server terhadap client ataupun

sebaliknya. Desain perancangan sistem dapat dilihat pada Gambar 3.

Gambar 3 Desain Perancangan Sistem

Gambar 3 menunjukkan desain perancangan sistem, dimana client

(pengirim) memilih file lalu input melalui aplikasi client, kemudian file dikirim ke

server. Saat diserver file akan disimpan sementara, server akan mengirimkan atau

meneruskan pesan file ke client (penerima) yang sedang online. Apabila client

offline maka file akan disimpan diserver untuk sementara waktu hingga client

tujuan online dan merequest file.

Pada perancangan algoritma ini dilakukan dalam dua proses, yaitu proses

enkripsi dan dekripsi. Enkripsi merupakan proses dimana isi file asli diubah ke

bentuk karakter yang tidak beraturan atau simbol tetapi masih menggunakan

ASCII sebagai dasar karakter. Proses enkripsi dekripsi algoritma block cipher.

. Berdasarkan dari teknik transposisi umum diatas, perancangan yang akan

dilakukan menggunakan transposisi acak pada tiap bit perkarakternya, hal ini

bertujuan agar dapat memaksimalkan keacakkan bit.

Gambar 4 Proses Enkripsi algoritma block cipher Secara umum

Gambar 4 merupakan bagan umum proses enkripsi yang terdapat pada

aplikasi pengiriman data file. Tahapan proses enkripsi perancangan algoritma

block cipher secara umum dijelaskan, (1) Menyiapkan plainteks yang akan

dienkripsi, (2) Setiap putaran enkripsi plainteks terdapat urutan proses,

Page 15: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

6

pengacakkan dengan transposisi, menghasilkan plainteks baru, XOR dengan key),

(3) Setiap putaran enkripsi pada key terdapat urutan proses masing-masing.

Proses plainteks dengan key dilakukan sebanyak 3 putaran untuk dapat

menghasilkan cipherteks. Sedangkan untuk dekripsi dapat dilakukan dengan

mengembalikan proses dari enkripsi.

Use case adalah rangkaian sekelompok yang saling terkait dan membentuk

sistem secara teratur yang dilakukan atau diawasi oleh sebuah actor. Lebih

jelasnya dapat dilihat di Gambar 4 [5].

Gambar 4 Use Case Diagram sistem Pengiriman File dan Enkripsi – Dekripsi pada client-server

Gambar 4 merupakan use case diagram sistem pengiriman file dan proses

enkripsi dekripsi. Dari sisi client jika mengirim file, langkah awal client login

terlebih dahulu, dengan begitu client telah menyatakan ke server bahwa sedang

online. Client menginput file setelah itu input key yang akan digunakan untuk

mengenkripsi file tersebut, kemudian menentukan client tujuan. Proses enkripsi

terjadi ketika client mengirim file.

Dari sisi client penerima. Client login, setelah login kemudian masuk

pemberitahuan pada pesan kotak masuk, client dapat memilih file yang kemudian

didekripsi menggunakan key yang sesuai dengan key dari pengirim.

Registrasi, pendaftaran client dilakukan pada form registrasi dengan

mengisikan nama pada User ID dan password. setelah selesai registrasi data akan

di kirim dan diproses ke server untuk di autentikasi perihal menejemen user. Jika

nama User ID yang dibuat sama dengan pendaftar lain yang sudah terdaftar maka

server akan melakukan penolakan secara otomatis, dengan begitu pendaftar baru

harus mengganti dengan nama yang berbeda.

Sequence diagram merupakan suatu diagram yang memperlihatkan atau

menampilkan interaksi-interaksi antar objek di dalam sistem yang disusun pada

sebuah urutan atau rangkaian waktu [5].

Page 16: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

7

Gambar 5 Sequance Diagram sistem Client Pengirim

Gambar 5 menunjukkan diagram sequence sistem. Proses dimulai dari

client yang melakukan pengiriman. Client login, setelah masuk client melakukan

proses pengiriman dengan memilih file terlebih dahulu, kemudian masukkan

kunci dan tentukan client tujuan. Setelah itu file dienkripsi dan dikirim, hasil

enkripsi berupa cipherteks yang kemudian disimpan sementara di server.

Sedangkan dari sisi diagram sequence penerima. Client penerima login

terlebih dahulu yang kemudian server memberikan akses untuk online lalu client

mendapatkan pemberitahuan pesan dari server, pesan yang diterima dalam bentuk

cipherteks, untuk membukanya client harus memasukkan kunci yang sesuai dari

pengirim agar file dapat didekripsi, jika kunci dinyatakan valid file dapat

didekripsi dan kembali menjadi plainteks. Alur sequence diagram client penerima

dapat dilihat pada Gambar 6.

Gambar 6 Sequance Diagram sistem Client Penerima

Page 17: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

8

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem

yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang

mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat

menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi [5].

Alur activity diagram dapat dilihat pada Gambar 7.

Gambar 7 Activity Diagram sistem

Gambar 7 menunjukkan activity diagram Sistem. Cara kerja sistem

dimulai dari client yang melakukan pengiriman file yang telah terenkripsi dan

menjadi cipherteks. Kemudian server menampung file yang dikirim dan

mengecek client tujuan. Saat client tujuan online dapat langsung menyimpan file

yang mana file tersebut direquest dari server. Ketika file telah dikirimkan oleh

server, selanjutnya proses dekripsi dilakukan untuk merubah cipherteks menjadi

file semula oleh client penerima. Tetapi apabila client penerima offline maka file

akan tetap tersimpan di server dalam bentuk cipherteks.

4. Hasil dan Pembahasan

Pada tahap ini membahas perancangan algoritma block cipher secara

keseluruhan meliputi putaran dan proses pada plainteks. Key juga dilakukan

tahapan proses setiap putarannya, sama hal dengan proses plainteks kunci yang

digunakan mengikuti ketetapan yang dibuat untuk di XOR dengan plainteks.

Proses dan putaran algoritma dapat dilihat pada bagan Gambar 8.

Page 18: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

9

Gambar 8 Bagan Alur Enkripsi

Berdasarkan Gambar 11 plainteks diubah ke bentuk bit dan digeser kekiri

3 kali, lalu masukkan kedalam kolom atau blok 1 dilakukan teknik transposisi,

yang kemudian menghasilkan P1. Pada key juga dilakukan proses rubah ke bit,

lalu masukkan kedalam matriks 8x8 dan diacak dengan pergeseran rotasi, hasil

dari acak tersebut menghasilkan K1. Setelah mendapatkan P1 dengan K1 kemudian

di XOR, hasil XOR menghasilkan P2. P2 kemudian digeser kekiri 6 kali, lalu

masukkan ke kolom atau blok 2 dan dilakukan proses trasnposisi. Begitu juga K1

dimasukkan ke dalam matriks 8x8 lalu diacak dengan pergeseran rotasi dan

menghasilkan K2. Kemudian XOR P2 dengan K2, dari XOR tersebut menghasilkan

P3, selanjutnya P3 digeser kekiri 2 kali, dan masukkan ke kolom 3 lalu diacak. K2

dimasukkan ke bentuk matriks lagi, lalu acak menghasilkan K3. Setelah itu XOR

P3 dan K3, hasil XOR inilah yang menjadi cipherteks, untuk setiap putaran

memiliki aturan transposisi yang berbeda-beda. Proses alur dekripsi merupakan

kebalikan dari alur enkripsi yaitu dari cipherteks diproses hingga menghasilkan

plainteks.

Proses pertama dilakukan pergeseran dan transposisi terhadap plainteks.

Karakter plainteks berupa “JARINGAN”, lalu ubah setiap karakter ke bentuk bit.

Semisal P adalah plainteks sedangkan d adalah bit tiap karakter kunci, sehingga

dapat dituliskan :

nPPPPP ...,, 321 (3)

83211 ...,, bbbbP

16111092 ...,, bbbbP

Page 19: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

10

241918173 ...,, bbbbP

.

.

.

nnnnn bbbbP 8586878 ...,,

Plainteks “JARINGAN” dikonversi ke dalam bentuk biner :

J = 01001010, 876543211 ,,,,,,, bbbbbbbbP

A = 01000001, 1615141312111092 ,,,,,,, bbbbbbbbP

R = 01010010, 24232221201918173 ,,,,,,, bbbbbbbbP

I = 01001001, 32313029282726254 ,,,,,,, bbbbbbbbP

N = 01001101, 40393837363534335 ,,,,,,, bbbbbbbbP

G = 01000111, 48474645444342416 ,,,,,,, bbbbbbbbP

A = 01000001, 56555453525150497 ,,,,,,, bbbbbbbbP

N = 01001101, 64636261605958578 ,,,,,,, bbbbbbbbP

Setelah merubah karakter “JARINGAN” ke dalam bentuk bit, dilakukan

proses pergeseran bit ke kiri 3 kali.

J = 01010010, ,,,,,,,, 321876541 bbbbbbbbP

A = 00001010, 1110916151413122 ,,,,,,, bbbbbbbbP

R = 10010010, 19181724232221203 ,,,,,,, bbbbbbbbP

I = 01001001, 27262532313029284 ,,,,,,, bbbbbbbbP

N = 01110010, 35343340393837365 ,,,,,,, bbbbbbbbP

G = 00111010, 43424148474645446 ,,,,,,, bbbbbbbbP

A = 00001010, 51504956555453527 ,,,,,,, bbbbbbbbP

N = 01110010, 59585764636261608 ,,,,,,, bbbbbbbbP

Hasil pergeseran kemudian masukkan ke kolom atau blok, dan dilakukan

proses transposisi.

Gambar 9 Ketentuan Transposisi Blok 3

b1 ~ b9, b2 ~ b13, b3 ~ b1, b4 ~ b16, b5 ~ b8, b6 ~ b18, b7 ~ b11, b8 ~ b24, b9 ~ b4,

b10 ~ b14, b11 ~ b2, b12 ~ b7, b13 ~ b19, b14 ~ b15, b15 ~ b3, b16 ~ b12, b17 ~ b5,

b18 ~ b20, b19 ~ b6, b20 ~ b10, b21 ~ b17, b22 ~ b29, b23 ~ b26, b24 ~ b21, b25 ~ b23,

b26 ~ b39, b27 ~ b34, b28 ~ b41, b29 ~ b27, b30 ~ b28, b31 ~ b22, b32 ~ b31, b33 ~ b33,

b34 ~ b43, b35 ~ b38, b36 ~ b25, b37 ~ b47, b38 ~ b50, b39 ~ b30, b40 ~ b32, b41 ~ b44,

b42 ~ b37, b43 ~ b53, b44 ~ b48, b45 ~ b36, b46 ~ b40, b47 ~ b42, b48 ~ b35, b49 ~ b46,

b50 ~ b57, b51 ~ b45, b52 ~ b49, b53 ~ b61, b54 ~ b55, b55 ~ b54, b56 ~ b59, b57 ~ b63,

b58 ~ b62, b59 ~ b52, b60 ~ b58, b61 ~ b64, b62 ~ b60, b63 ~ b51, b64 ~ b56.

Page 20: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

11

Gambar 10 memperlihatkan tetapan transposisi plainteks untuk pola acak

dari kolom 3 ke acak 3 yang diproses dalam blok 64 bit. Untuk setiap putaran pola

pengacakkan transposisi dan pergeseran dilakukan secara berbeda.

Sedangkan proses kunci yang pertama dilakukan sama halnya dengan

plainteks, merubah karakter kunci ke dalam bentuk bit. Kemudian dilakukan

proses pemasukkan dan pengambilan bit key ke kolom matriks dari kiri ke kanan,

dari baris pertama sampai baris terakhir yang ditunjukkan pada arah panah. Alur

masuk dan ambil bit key pada matriks dapat dilihat pada Gambar 10.

Gambar 10 Alur Masuk dan Ambil Bit Key

Penerapan masuk bit kolom dimulai dari d1 sampai pada kolom d8 dan

dilanjutkan berikutnya yang dimulai dari baris kedua d9 sampai d16, hal yang

sama dilakukan sampai kolom d64. Penerapan masuk dapat dilihat pada gambar

11.

Gambar 11 Penerapan Masuk dan Ambil Bit Key

Berikutnya pergeseran rotasi bit pada key dari kiri ke kanan dimulai dari

simbol M ditunjukkan pada arah panah baris pertama, kemudian pergeseran rotasi

dari kanan ke kiri ditunjukkan arah panah baris kedua, rotasi tersebut dilakukan

hingga baris ke 8 dan berakhir di simbol A, dapat dilihat pada Gambar 12. Setelah

itu dilakukan pergeseran rotasi dari atas kebawah yang dimulai dari simbol M

arah panah kolom pertama, dan pergeseran rotasi dari bawah ke atas ditunjukkan

pada arah panah kolom kedua, rotasi dilakukan hingga kolom ke 8 dan berakhir di

simbol A, untuk lebih jelas dapat dilihat pada Gambar 13.

Page 21: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

12

Gambar 12 Pergeseran Rotasi Kanan Kiri Gambar 13 Pergeseran Rotasi Atas Bawah

Banyaknya pergeseran rotasi Gambar 12 dan Gambar 13 disesuaikan pada

tiap putarannya sehingga menghasilkan key baru, yang nantinya akan di XOR

dengan plainteks dan menghasilkan cipherteks. Maka hasil pergeseran rotasi

tersebut dapat dilihat pada Gambar 14.

Gambar 14 Hasil Pergeseran Rotasi key

Pada perancangan algoritma cipher block juga dibutuhkan padding key,

untuk padding sendiri memerlukan beberapa tahap yang harus dilakukan agar

dapat dilaksanakan. Tahapan dan penjelasan dapat dilihat pada Gambar 15.

Gambar 15 Skema Proses padding pada Key

Pada Gambar 15 menunjukkan proses penambahan karakter pada key

(padding). Proses padding dapat dilakukan apabila panjang karakter key yang

diinput tidak sama panjang dengan jumlah karakter plainteks yang ada. Proses ini

Page 22: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

13

bertujuan agar key bisa sama panjang dengan plainteks. Berikut penjelasan alur

kerja padding :

1. Plainteks (P) yang telah disiapkan kemudian dibaca panjang karakternya.

nPPPPP ...,, 321 (4)

2. Karakter key (K) yang diinput kemudian dilihat nilai decimal dalam ASCII dan

disesuaikan dengan masing-masing inputan karakternya.

decASCIIKK n (5)

3. Proses penambahan karakter ASCII pada key dilakukan bertahap, memenuhi

setengah dari total ASCII terlebih dahulu, kemudian memenuhi setengah

berikutnya secara bergilir pada karakter berikutnya sesuai urutan inputan.

Untuk tahap penambahan dibuat berurutan dengan melewati 2 lompatan.

Banyak karakter kunci yang diinput, tiap karakter dilihat nilai desimalnya

dalam ASCII, kemudian masing2 karakter ditambah dengan panjang kunci

yang diinput.

KdecASCIIKG n

}255,...2,1,0|)n×2(;{)n×2(...,),2×2(),1×2(, GGGGGpadd jika

nPK ' maka dilanjutkan dengan 1nK dimana )(' KpaddK (6)

Tahap berikut merupakan desain tampilan login, dimana login merupakan

proses pintu masuk bagi pengguna atau client untuk dapat mengakses suatu

layanan ke server. Desain login dapat dilihat pada Gambar 16.

Gambar 16 Tampilan Login Client

Pada login Gambar 16, terdapat textboxusername dan textboxpassword

untuk memasukkan nama pengguna dan kata sandi yang telah didaftarkan.

Kemudian terdapat buttonmasuk untuk masuk ke aplikasi client dan buttonbatal

jika ingin keluar dari form login, dan textlinkdaftarbaru untuk membuat akun baru.

Tampilan daftar pengguna baru dapat dilihat pada Gambar 17.

Gambar 17 Tampilan Daftar PenggunaBaru

Page 23: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

14

Gambar 17 merupakan tampilan daftar penguna baru dimana terdapat

textboxUserId untuk memasukan nama yang ingin didaftar, textboxPassword

untuk mengisi kata sandi, textboxRe-Password untuk mengisikan kembali kata

sandi sebelumnya, buttonDaftar untuk mendaftarkan Id baru ke server dan

buttonBatal a tidak jadi medaftar.

Berikutnya tampilan aplikasi client, setelah pengguna berhasil login maka

akan masuk ke aplikasi client. Lebih jelasnya dapat dilihat pada Gambar 18.

Gambar 18 Tampilan Aplikasi Client Kotak Masuk

Tampilan aplikasi client pada Gambar 19 terdapat textboxServer sebagai

alamat ip server dan textboxUser sebagai penanda Id pengguna, juga terdapat tab

kotak masuk untuk menampung pesan yang masuk ke client, dimana tabel

memiliki atribut (pengirim, nama file, tipe, ukuran, waktu dikirim), di list kotak

masuk terdapat buttonhapus dan buttondownload dan juga dilengkapi

buttonPerbaharui untuk menampilkan pesan yang akan masuk.

Sedangkan tampilan untuk tab kirim file lebih jelasnya dapat dilihat pada

Gambar 19.

Gambar 19 Tampilan Aplikasi Client Kirim File

Gambar 19 memperlihatkan tampilan aplikasi client kirim, terdapat lokasi

file untuk mengambil atau memilih file dari drive penyimpanan. Kemudian

textboxUkuranFile untuk menampilkan ukuran file yang telah dipilih,

Page 24: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

15

textboxKunci untuk mengisi kunci yang akan digunakan untuk enkripsi file,

buttonPenerima untuk memilih client atau pengguna tujuan, dalam kotak

penerima terdapat listtabel penerima dan status client, button simbol “+” untuk

menambahkan penerima ke textboxPenerima dan buttonKirim untuk mengirimkan

sekaligus mengenkripsi file.

Database yang ada pada server berfungsi sebagai tempat penyimpanan file

dari client pengirim untuk diteruskan ke client penerima, data file yang tersimpan

dalam database dapat dilihat pada Gambar 20.

Gambar 20 Tampilan Database Server

File yang diujikan berupa file abstrak bertipe .*txt dengan ukuran sebelum

dienkripsi sebesar 2.05 KB. Isi file abstrak dapat dilihat pada Gambar 21.

Gambar 21 Pengujian File.txt

Pada Gambar 22 dapat dilihat hasil enkripsinya tidak dapat terbaca seperti

pada pesan semula namun tetap terlihat karakter ASCII. Kemudian dekripsi

terhadap file *.txt adalah kebalikan dari proses enkripsi yaitu merubah dari

cipherteks ke bentuk plainteks.

Gambar 22 Hasil Enkripsi.File .txt

Kriptografi dapat dibuktikan sebagai sebuah sistem dengan memenuhi 5

tuple P, C, K, E, D. Ditunjukkan bahwa perancangan ini memenuhi kelima

kondisi tersebut. P adalah himpunan berhingga dari plainteks. C adalah himpunan

berhingga dari cipherteks yang dihasilkan berupa karakter. K adalah himpunan

Page 25: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

16

berhingga dari kunci yang menggunakan total 256 karakter pada ASCII. Enkripsi

E dan D Dekripsi dimana setiap ek : P→C dan dk : C → P adalah fungsi

sedemikian hingga dk(ek(x)) = x, untuk setiap plainteks x∊P. Pembahasan

sebelumnya telah membahas proses enkripsi dan dekripsi, sehingga telah

memenuhi tuple E dan D. Karena telah memenuhi kelima kondisi maka algoritma

block cipher mengunakan teknik transposisi merupakan sebuah sistem kriptografi.

Pada tahap berikutnya akan membahas grafik pengujian terhadap memory

dan waktu untuk proses enkripsi pengujian dilakukan pada aplikasi client – server.

pengujian dilakukan dengan isi konten file yang sama tetapi format berbeda yaitu,

*.doc, *.docx, *.txt, *.pdf, dan untuk setiap file dienkripsi dengan kunci yang

sama “FAKULTAS”

Pada Grafik 1 dapat dilihat bahwa untuk sumbu Y merupakan satuan

waktu dalam millisecond (ms) dan sumbu X ukuran tiap file dalam satuan KB.

Abstrak.txt dengan ukuran 2.05 KB memiliki waktu proses sebesar 35388.2920

(ms), Abstrak.docx dengan ukuran 13.5 KB memiliki waktu proses sebesar

202885.7270 (ms), Abstrak.doc dengan ukuran 31.0 KB memiliki waktu proses

sebesar 328529.8380 (ms) dan Abstrak.pdf dengan ukuran 86.4 KB memiliki

waktu proses sebesar 857058.0480 (ms),dari hasil tersebut dapat disimpulkan

yakni proses operasi untuk setiap file selalu berbeda tergantung besaran ukuran

dari file yang diujikan, semakin besar ukuran yang dimiliki maka semakin lama

proses yang dibutuhkan terhadap waktu, tetapi untuk proses operasi dalam byte

semakin besar ukuran file maka semakin kecil waktu yang dihasilkan.

Grafik 1 Pengujian Terhadap Waktu

Pada Grafik 2 dapat dijelaskan bahwa warna biru menunjukkan besaran

memori untuk file asli, sedangkan untuk warna merah merupakan besaran memori

untuk file hasil enkripsi, sumbu Y merupakan besaran memori dalam bit dan

sumbu X merupakan ukuran file yang diujikan dengan format yang berbeda,

sehingga Grafik 2 dapat diambil kesimpulan yaitu rata – rata dari selisih file

sebelum dan sesudah diujikan karena proses padding berdasarkan file yang

diujikan yaitu sebesar 0.037325%, maka selisih antara file sebelum dan sesudah

tidak signifikan terhadap ukuran file yang semakin besar.

0.0000

100000.0000

200000.0000

300000.0000

400000.0000

500000.0000

600000.0000

700000.0000

800000.0000

900000.0000

2.05 KB 13.5 KB 31.0 KB 86.4 KB

Milliseco

nd

(ms)

Abstrak.doc

Abstrak.docx

Abstrak.txt

Abstrak.pdf

35388.2920

202885.7270

328529.8380

857058.0480

Page 26: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

17

Grafik 2 Pengujian Terhadap Memori

Beta testing dilakukan dengan membagi daftar pertanyaan kepada 30

responden dan daftar pertanyaan yang ada kemudian diisi bersamaan dengan

pengujian aplikasi secara langsung. Hasil pengujian dapat dilihat pada Tabel 1.

Tabel 1 Hasil Data Daftar Pertanyaan

No. Pertanyaan

Jawaban

Tidak

Setuju Setuju

Sangat

Setuju

1 Aplikasi dapat berjalan pada sistem operasi

windows - 17 13

2 Aplikasi dapat terkoneksi dengan baik - 17 13

3 Aplikasi dapat mengirim pesan ke client

tujuan - 17 13

4 Aplikasi dapat menerima pesan dari client

pengirim - 17 13

5 Aplikasi dapat melakukan proses enkripsi dan

dekripsi - 16 14

6 Aplikasi dapat menambah pengguna atau

client baru - 16 14

7

Aplikasi mudah digunakan dan memiliki

tampilan yang menarik

5

18

7

8 Aplikasi membantu dalam mengamankan isi

file 1 11 18

Berdasarkan hasil dari daftar pertanyaan untuk pengujian kepada

pelanggan pada Tabel 1, dapat disimpulkan bahwa: aplikasi sudah berjalan pada

sistem operasi windows karena 56% responden setuju dan 43% lainnya sangat

setuju, aplikasi terkoneksi dengan baik karena 56% responden setuju dan 43%

lainnya sangat setuju, aplikasi dapat mengirim pesan ke client tujuan karena 56%

2103

13914

31744

88521

2104

13928

31744

88522

0

10000

20000

30000

40000

50000

60000

70000

80000

90000

100000

2.05 KB 13.5 KB 31.0 KB 86.4 KB

Sebelum

Sesudah

0.047551 %

0.100618 %

0.000000%

0.001130%

Page 27: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

18

responden setuju kemudian 43% lainnya sangat setuju, aplikasi dapat menerima

pesan dari client pengirim karena 56% responden setuju dan 43% lainnya sangat

setuju, aplikasi dapat melakukan proses enkripsi dan dekripsi karena 53%

responden setuju dan 46% lainnya sangat setuju, aplikasi dapat menambah

pengguna atau client baru karena 53% responden setuju dan 46% lainnya sangat

setuju, aplikasi mudah digunakan dan memiliki tampilan yang menarik karena

60% responden setuju, aplikasi membantu dalam mengamankan isi file karena

60% responden sangat setuju.

5. Kesimpulan

Rancangan algoritma dengan menggunakan teknik transposisi dapat

diimplementasikan pada jaringan client – server dengan memenuhi 5 tuple.

Modifikasi padding yang diterapkan pada algoritma block cipher dengan

menggunakan total ASCII sebagai sisipan pada kunci untuk menyamakan panjang

kunci dengan cipherteks telah mampu menghasilkan varian kunci yang maksimal

digunakan dalam proses enkripsi-dekripsi file berukuran besar.

Saran pengembangan yang dapat diberikan untuk penelitian lebih lanjut

sebagai berikut. Aplikasi dapat dikembangkan tidak hanya mengenkripsi-dekripsi

file bertipe *.txt, *.doc, *.docx, *.pdf tetapi juga tipe file dokumen yang lainnya.

Rancangan algoritma yang menerapkan prinsip OTP menjadi kekurangan

tersendiri, sehingga untuk penelitian selanjutnya dapat diharapkan prisnsip yang

digunakan berbeda agar efisiensi waktu dapat lebih baik.

6. Daftar Pustaka

[1] Munir, R. 2006. Kriptografi,Bandung: Informatika.

[2] Sabriyanto, & Virgono, A, 2008. Analisis Perbandingan Performansi

Algoritma Camellia dan AES (Advanced Encryption Standard) pada Block

Cipher. Bandung : Institut Teknologi Bandung.

[3] Andreanus, Dody. 2011. Sistem Pengamanan Data Menggunakan Metode

MD5 dan Private Key pada Aplikasi berbasis Client-server (studi kasus :

KSP Buah Hati Bawen). Salatiga : Universitas Kristen Satya Wacana.

[4] Arie Eko T. 2014. Modifikasi Kriptografi One Time Pad (OTP)

Menggunakan Padding Dinamis dalam Pengamanan Data File. Salatiga :

Universitas Kristen Satya Wacana.

[5] Nugroho Adi. 2005. Rational Rose untuk Pemodelan Berorientasi Objek,

Bandung : Informatika.

[6] Bernadette S. 2006. Webster's New World Hacker Dictionary. Santa

Barbara, California:ABC-CLIO.

[7] Danang Indra S. 2009. Implementasi Teknik Kriptografi simetrik dengan

Metode Permutasi Transposisi pada Data Citra Digital. Salatiga :

Universitas Kristen Satya Wacana.

Page 28: Perancangan dan Implementasi Aplikasi Keamanan Pengiriman ...repository.uksw.edu/bitstream/123456789/15147/2/T1_672010176_Full... · Pengiriman Data File pada Client – server

19

[8] N. Nagaraj, “One Time Pad as a nonlinear dynamical system,”

Communications in Nonlinear Science and Numerical Simulation, vol. 17,

no. 11, pp. 4029-4036, Nov. 2012.

[9] Ir.Yusuf Kurniawan, MT. 2004, Kriptografi Keamanan Internet dan

Jaringan Komunikasi,Bandung: Informatika.

[10] Maureen L:inda. 2010. Metode Enkripsi baru Triple Transposition

Vigènere Cipher. Bandung : Institut Teknologi Bandung.