jurnal keamanan komputer aplikasi enkrip
JURNAL KEAMANAN KOMPUTER
APLIKASI ENKRIPSI - DEKRIPSI DENGAN ALGORITMA RC2
MENGGUNAKAN JAVA NETBEANS
Jumrotul Nafidah [1412120204]1, Mochamad Abdul Rifa’i[1412120257]2 ,
Ika Budi Prasetyo [1412120171]3.
Fakultas Teknik Informatika 2012 A, Universitas PGRI Ronggolawe Tuban
Abstrak
Masalah pengiriman data email ataupun pesan telah menjadi masalah
penting pada era teknologi informasi seperti sekarang ini. Terkadang data-data ini
harus bersifat rahasia agar tidak diketahui secara umum. Apabila data tersebut
diketahui, maka data tersebut dapat disalahgunakan untuk kejahatan oleh orang
lain. Kriptografi merupakan salah satu alat keamanan yang digunakan untuk
menyembunyikan suatu pesan. Kriptografi sudah digunakan di segala bidang
keamanan. Untuk itu perlunya sebuah keamanan dengan cara enkripsi dan dekripsi
data email menggunakan algoritma kriptografi Rivest Code 2 (RC2). Dalam
algoritma kriptografi Rivest Code 2 (RC2), dirancang dalam pemrograman java
netbeans yang diantaranya adalah kemampuan untuk beroperasi langsung untuk
diimplementasikan dengan mode algoritma RC2. Spesifikasi arsitektur dan bahasa
yang menjadi tempat implementasi algoritma yang ditentukan belum mendukung
pengoperasian 64 bit yang efisien. Oleh karena itu, daripada menggunakan 2
register 64 bit seperti pada RC2, RC2 menggunakan 4 register 32 bit. Karena
menggunakan 4 register maka akan terdapat 2 operasi rotasi pada setiap half-round
yang ada, dan juga akan lebih banyak bit-bit yang akan digunakan untuk
mempengaruhi banyaknya bit yang dirotasi. Operasi perkalian ini sangat efektif
dalam menghasilkan efek “diffusion” atau penyebaran yang tentu saja
mengakibatkan RC2 lebih aman. Aplikasi yang dihasilkan berbasis android dengan
memanfaatkan teknologi terbaru.
Kata Kunci : Keamanan Data, Kriptografi, Rivest Code 2(RC2), Pemrograman
Java
Abstract
The problem of data delivery email or messaging has become an important issue in
the era of information technology as it is today . Sometimes these data should be
confidential so as not generally known. If the data is known, then the data can be
misused for crime by others . Cryptography is a security tool used to hide a message
. Cryptography has been used in all areas of security . For that we need a security
by means of encryption and decryption of email data using cryptographic
algorithms Rivest Code 2 ( RC2 ) . In the cryptographic algorithms Rivest Code 2 (
RC2 ) , designed in java programming netbeans which include the ability to operate
directly for RC2 algorithm implemented by mode . Specifications architectures and
languages into a specified algorithm implementation does not yet support 64-bit
operating efficiently. Therefore , instead of using two 64 -bit registers as in RC2 ,
RC2 uses four 32 -bit registers . Because it uses four registers there will be two
rotation operation on each half- round there , and it will also be a lot of bits that
will be used to affect the number of bits that are rotated . This multiplication
operation is very effective in producing the effect of " diffusion " or which of course
resulted in the deployment of more secure RC2 . Android -based application that is
generated by utilizing the latest technology .
Keywords : Data Security , Cryptography , Rivest Code 2 ( RC2 ) , Java
Programming
BAB I
PENDAHULUAN
sedemikian
1.1 Latar Belakang
Masalah
vital,
keamanan
besar.
seperti
Sistem-sistem
sistem
pertahanan,
dan
sistem perbankan, sistem bandara
kerahasiaan merupakan salah satu
udara dan sistem-sistem lain yang
aspek penting dari suatu pesan, data,
setingkatnya, membutuhkan tingkat
atau informasi. Di mana kebenaran
keamanan yang sedemikian tinggi.
dan keaslian suatu informasi sangat
Hal ini disebabkan oleh adanya
penting baik pada saat pengiriman
kemajuan bidang jaringan komputer
ataupun pada saat informasi tersebut
dengan konsep open
system-nya
diterima. Pesan, data, atau informasi
sehingga siapapun, di manapun dan
tidak akan berguna lagi apabila pada
kapanpun, mempunyai kesempatan
saat pengiriman informasi tersebut
untuk mengakses kawasan-kawasan
disadap atau dibajak oleh orang yang
vital
tersebut.
Untuk
menjaga
tidak berhak atau berkepentingan.
keamanan dan kerahasiaan pesan,
Keamanan
dan
kerahasian
data, atau informasi dalam suatu
data pada jaringan komputer saat ini
jaringan komputer maka diperlukan
menjadi isu yang sangat penting dan
beberapa enkripsi guna membuat
terus berkembang. Beberapa kasus
pesan, data, atau informasi tersebut
menyangkut
keamanan
jaringan
tidak dapat dibaca atau dimengerti
komputer saat ini menjadi suatu
oleh sembarang orang, kecuali untuk
pekerjaan yang membutuhkan biaya
penerima yang berhak.
penanganan dan pengamanan yang
sebuah
mengenkrip. Metode enkripsi RC2
kriptografi yang meliputi proses
sangat cepat kurang lebih 10 kali
enkripsi maka pesan, data, maupun
lebih
informasi dapat dikodekan sehingga
Menurut hasil pengetesan kecepa
orang yang tidak berkepentingan
tan
tidak
kriptografi RC2
Dengan
dapat
tersebut,
adanya
membaca
selain
mengetahui
kunci
mendeskripsikannya.
informasi
cepat
dari
DES.
algoritma
adalah 5380,035
orang
yang
Kbytes/detik pada Pentium133
(Key)
untuk
memori 16 MB pada Windows 95.
Berdasarkan
Hasil
pengetesan didapat dengan
kunci yang digunakan, algoritma
enkripsi 256 byte per blok sebanyak
enkripsi terbagi menjadi algoritma
20480 kali, atau
kunci simetri dan kunci asimetri yang
kurang lebih 5 MB data.
setara dengan
juga dikenal sebagai kunci publik.
Salah satu algoritma kunci simetri
yang dikenal adalah RC2. RC2
1.2 Rumusan Masalah
Dari latar belakang yang telah
merupakan merupakan salah satu
diuraikan
jenis stream cipher, yaitu memproses
dirumuskan
unit atau input data pada satu saat.
bagaimana caranya untuk menangani
Dengan cara ini enkripsi atau dekripsi
masalah keamanan data pada jaringan
dapat dilaksanakan pada panjang
komputer
yang variabel. Algoritma ini tidak
algoritma RC2 menggunakan java.
harus menunggu sejumlah input data
tertentu
sebelum
diproses,
atau
menambahkan byte tambahan untuk
di
atas
maka
dapat
permasalahan,
yaitu
dengan
menggunakan
komunikasi
1.3 Tujuan Penulisan
Dari permasalahan yang ada
pada
rumusan
masalah
komputer untuk menjamin
maka
kerahasiaan
makalah ini bertujuan:
1. Mengenalkan
algoritma
kriptografi RC2.
2. Mempelajari
menggunakan
dengan
data
enkripsi.
adalah
Enkripsi
adalah sebuah proses yang
cara
untuk
melakukan perubahan sebuah
melakukan
penggunaan
kode
dari
yang
bisa
algoritma kriptografi RC2.
dimengerti menjadi sebuah
kode
1.4 Batasan Masalah
yang
tidak
bisa
dimengerti (tidak terbaca).
Adapun batasan dari makalah ini
Enkripsi
dapat
diartikan
sebagai kode atau cipher.
adalah sebagai berikut :
1) Hanya mengenkripsi dan
Sebuah sistem pengkodean
dekripsi sebuah file atau
menggunakan suatu tabel atau
data.
kamus
2) Hanya membahas analisis
yang
didefinisikan
untuk mengganti kata dari
informasi
atau
kecepatan proses enkripsi
merupakan
bagian
dan dekripsi.
informasi yang dikirim
waktu
proses
dan
yang
dari
Deskripsi merupakan
algoritma atau cara yang dapat
BAB II
LANDASAN TEORI
digunakan untuk membaca
2.1 Enkripsi dan Dekripsi
Salah satu hal yang
sangat
penting
dalam
informasi
yang
telah
dienkripsi
untuk
dapat
kembali dibaca. Dengan kata
diimplementasikan
lain
protokol SSL (Source Socket
proses
dekripsi
merupakan
membalikkan
hasil
pada
Layer) yaitu sebuah protokol
yang diberikan dari proses
untuk
enkripsi ke dalam bentuk awal
intenet.
memproteksi
trafik
Terdapat dua tahapan
sebelum d enkrip.
untuk membangkitkan aliran
2.2 Algoritma RC2
Pada tahun 1987 di
kunci algoritma
RC2 yaitu
Laboratorium Rsa, Ron Rivest
Key Scheduling Algorithm
menemukan suatu algoritma
(KSA) dan Pseudo-Random
yang diberi nama RC2. RC itu
Generator
sendiri merupakan singkatan
(PRGA).
dari Ron’s Code. Karena
algoritma
Algorithm
Key
Scheduling
RC2
dapat
Algorithm (KSA) merupakan
diimplementasikan
secara
tahapan pemberian nilai awal
efisien pada perangkat lunak
berdasarkan kunci enkripsi.
maka menjadikan algoritma
State dari nilai awal tersebut
RC2 populer untuk aplikasi
berupa
internet antara lain digunakan
representasi permutasi 256
sebagai standar WEP (Wired
byte (dengan indeks 0 sampai
Equivalent Privacy), WPA
dengan 255) dinamakan array
(Wifi Protected Acces) dan
S.
TLS
tersebut
(Transport
Protocol).
RC2
Layer
juga
array
Menggunakan
karena
dengan
rentang
RC2
mengenkripsi pada mode byte
(255 = 2˄8 dan 8 bit = 1 byte).
menghasilkan keystream. Nilai S[i]
Artinya maksimal panjang
dan S[j] diambil dan dijumlahkan
kunci yang dapat tersimpan
dengan
pada array U adalah 256
membangkitkan aliran kunci. Hasil
karakter. Permutasi terhadap
dari
nilai array S dilakukan dengan
menjadi
indeks
pseudo-code berikut :
menjadi
aliran
j=0
For i = 0 to 255
modulo
perhitungan
kemudian
mengenkripsi
S[i] = i
256
untuk
tersebut
akan
S[indeks]
yang
kunci
K
yang
digunakan
untuk
plainteks
ke-aliran
kunci K yang kemudian digunakan
For i = 0 to 255
untuk mengenkripsi plainteks ke-idx.
j = (j + S[i] + U[i]) mod 256
Setiap putaran bagian keystream
swap (S[i], S[j])
sebesar 1 byte (dengan nilai antara 0
(*pertukaran nilai S[i] dan
S[j]*)
sampai 255) dioutputkan oleh PGRA
berdasarkan state S.
I=0
Tahap selanjutnya hasil dari array S
yang telah melalui KSA akan diproses
kembali
pada
PRGA(Pseudo-
Random Generator Algorithm). Pada
tahap PRGA terjadi modifikasi state
dan output sebuah byte dari aliran
kunci, dimana array S beroperasi
dengan array U yang selanjutnya akan
J=0
For
idx
=
0
to
PanjangPlainteks –
1 do
I = ( i + 1 )
mod 256
J = ( j + S[i] )
mod 256
Swap ( S[i], S[j] ) (*penukaran nilai
3.2 Implementasi Perancangan
S[i] dan S[j]*)
Program
K = ( S[i] + S[j] ) mod 256
1.Tampilan Awal Program
Endfor
Setelah
kemudian
keystream
terbentuk,
keystream
tersebut
dimasukkan dalam operasi XOR
dengan plaintext.
Sebelum memulai program kita
mengimport terdahulu secara
BAB III
PERANCANGAN SISTEM
otomatis :
3.1 Pengertian RC2
RC2 adalah 64-bit blok cipher
dengan ukuran variabel kunci.18 Its
putaran diatur sebagai sumber-berat
jaringan Feistel,dengan 16 putaran
dari satu jenis (pencampuran)
3. Button Enkripsi
diselingi oleh dua putaran jenis lain
(dihaluskan.Sebuah putaran
pencampuran terdiri dari empat
aplikasi transformasi MIX,seperti
ditunjukkan pada diagram.
4. Button Deskripsi
5. Button Simpan
6. Button Buka
7. Button Keluar
APLIKASI ENKRIPSI - DEKRIPSI DENGAN ALGORITMA RC2
MENGGUNAKAN JAVA NETBEANS
Jumrotul Nafidah [1412120204]1, Mochamad Abdul Rifa’i[1412120257]2 ,
Ika Budi Prasetyo [1412120171]3.
Fakultas Teknik Informatika 2012 A, Universitas PGRI Ronggolawe Tuban
Abstrak
Masalah pengiriman data email ataupun pesan telah menjadi masalah
penting pada era teknologi informasi seperti sekarang ini. Terkadang data-data ini
harus bersifat rahasia agar tidak diketahui secara umum. Apabila data tersebut
diketahui, maka data tersebut dapat disalahgunakan untuk kejahatan oleh orang
lain. Kriptografi merupakan salah satu alat keamanan yang digunakan untuk
menyembunyikan suatu pesan. Kriptografi sudah digunakan di segala bidang
keamanan. Untuk itu perlunya sebuah keamanan dengan cara enkripsi dan dekripsi
data email menggunakan algoritma kriptografi Rivest Code 2 (RC2). Dalam
algoritma kriptografi Rivest Code 2 (RC2), dirancang dalam pemrograman java
netbeans yang diantaranya adalah kemampuan untuk beroperasi langsung untuk
diimplementasikan dengan mode algoritma RC2. Spesifikasi arsitektur dan bahasa
yang menjadi tempat implementasi algoritma yang ditentukan belum mendukung
pengoperasian 64 bit yang efisien. Oleh karena itu, daripada menggunakan 2
register 64 bit seperti pada RC2, RC2 menggunakan 4 register 32 bit. Karena
menggunakan 4 register maka akan terdapat 2 operasi rotasi pada setiap half-round
yang ada, dan juga akan lebih banyak bit-bit yang akan digunakan untuk
mempengaruhi banyaknya bit yang dirotasi. Operasi perkalian ini sangat efektif
dalam menghasilkan efek “diffusion” atau penyebaran yang tentu saja
mengakibatkan RC2 lebih aman. Aplikasi yang dihasilkan berbasis android dengan
memanfaatkan teknologi terbaru.
Kata Kunci : Keamanan Data, Kriptografi, Rivest Code 2(RC2), Pemrograman
Java
Abstract
The problem of data delivery email or messaging has become an important issue in
the era of information technology as it is today . Sometimes these data should be
confidential so as not generally known. If the data is known, then the data can be
misused for crime by others . Cryptography is a security tool used to hide a message
. Cryptography has been used in all areas of security . For that we need a security
by means of encryption and decryption of email data using cryptographic
algorithms Rivest Code 2 ( RC2 ) . In the cryptographic algorithms Rivest Code 2 (
RC2 ) , designed in java programming netbeans which include the ability to operate
directly for RC2 algorithm implemented by mode . Specifications architectures and
languages into a specified algorithm implementation does not yet support 64-bit
operating efficiently. Therefore , instead of using two 64 -bit registers as in RC2 ,
RC2 uses four 32 -bit registers . Because it uses four registers there will be two
rotation operation on each half- round there , and it will also be a lot of bits that
will be used to affect the number of bits that are rotated . This multiplication
operation is very effective in producing the effect of " diffusion " or which of course
resulted in the deployment of more secure RC2 . Android -based application that is
generated by utilizing the latest technology .
Keywords : Data Security , Cryptography , Rivest Code 2 ( RC2 ) , Java
Programming
BAB I
PENDAHULUAN
sedemikian
1.1 Latar Belakang
Masalah
vital,
keamanan
besar.
seperti
Sistem-sistem
sistem
pertahanan,
dan
sistem perbankan, sistem bandara
kerahasiaan merupakan salah satu
udara dan sistem-sistem lain yang
aspek penting dari suatu pesan, data,
setingkatnya, membutuhkan tingkat
atau informasi. Di mana kebenaran
keamanan yang sedemikian tinggi.
dan keaslian suatu informasi sangat
Hal ini disebabkan oleh adanya
penting baik pada saat pengiriman
kemajuan bidang jaringan komputer
ataupun pada saat informasi tersebut
dengan konsep open
system-nya
diterima. Pesan, data, atau informasi
sehingga siapapun, di manapun dan
tidak akan berguna lagi apabila pada
kapanpun, mempunyai kesempatan
saat pengiriman informasi tersebut
untuk mengakses kawasan-kawasan
disadap atau dibajak oleh orang yang
vital
tersebut.
Untuk
menjaga
tidak berhak atau berkepentingan.
keamanan dan kerahasiaan pesan,
Keamanan
dan
kerahasian
data, atau informasi dalam suatu
data pada jaringan komputer saat ini
jaringan komputer maka diperlukan
menjadi isu yang sangat penting dan
beberapa enkripsi guna membuat
terus berkembang. Beberapa kasus
pesan, data, atau informasi tersebut
menyangkut
keamanan
jaringan
tidak dapat dibaca atau dimengerti
komputer saat ini menjadi suatu
oleh sembarang orang, kecuali untuk
pekerjaan yang membutuhkan biaya
penerima yang berhak.
penanganan dan pengamanan yang
sebuah
mengenkrip. Metode enkripsi RC2
kriptografi yang meliputi proses
sangat cepat kurang lebih 10 kali
enkripsi maka pesan, data, maupun
lebih
informasi dapat dikodekan sehingga
Menurut hasil pengetesan kecepa
orang yang tidak berkepentingan
tan
tidak
kriptografi RC2
Dengan
dapat
tersebut,
adanya
membaca
selain
mengetahui
kunci
mendeskripsikannya.
informasi
cepat
dari
DES.
algoritma
adalah 5380,035
orang
yang
Kbytes/detik pada Pentium133
(Key)
untuk
memori 16 MB pada Windows 95.
Berdasarkan
Hasil
pengetesan didapat dengan
kunci yang digunakan, algoritma
enkripsi 256 byte per blok sebanyak
enkripsi terbagi menjadi algoritma
20480 kali, atau
kunci simetri dan kunci asimetri yang
kurang lebih 5 MB data.
setara dengan
juga dikenal sebagai kunci publik.
Salah satu algoritma kunci simetri
yang dikenal adalah RC2. RC2
1.2 Rumusan Masalah
Dari latar belakang yang telah
merupakan merupakan salah satu
diuraikan
jenis stream cipher, yaitu memproses
dirumuskan
unit atau input data pada satu saat.
bagaimana caranya untuk menangani
Dengan cara ini enkripsi atau dekripsi
masalah keamanan data pada jaringan
dapat dilaksanakan pada panjang
komputer
yang variabel. Algoritma ini tidak
algoritma RC2 menggunakan java.
harus menunggu sejumlah input data
tertentu
sebelum
diproses,
atau
menambahkan byte tambahan untuk
di
atas
maka
dapat
permasalahan,
yaitu
dengan
menggunakan
komunikasi
1.3 Tujuan Penulisan
Dari permasalahan yang ada
pada
rumusan
masalah
komputer untuk menjamin
maka
kerahasiaan
makalah ini bertujuan:
1. Mengenalkan
algoritma
kriptografi RC2.
2. Mempelajari
menggunakan
dengan
data
enkripsi.
adalah
Enkripsi
adalah sebuah proses yang
cara
untuk
melakukan perubahan sebuah
melakukan
penggunaan
kode
dari
yang
bisa
algoritma kriptografi RC2.
dimengerti menjadi sebuah
kode
1.4 Batasan Masalah
yang
tidak
bisa
dimengerti (tidak terbaca).
Adapun batasan dari makalah ini
Enkripsi
dapat
diartikan
sebagai kode atau cipher.
adalah sebagai berikut :
1) Hanya mengenkripsi dan
Sebuah sistem pengkodean
dekripsi sebuah file atau
menggunakan suatu tabel atau
data.
kamus
2) Hanya membahas analisis
yang
didefinisikan
untuk mengganti kata dari
informasi
atau
kecepatan proses enkripsi
merupakan
bagian
dan dekripsi.
informasi yang dikirim
waktu
proses
dan
yang
dari
Deskripsi merupakan
algoritma atau cara yang dapat
BAB II
LANDASAN TEORI
digunakan untuk membaca
2.1 Enkripsi dan Dekripsi
Salah satu hal yang
sangat
penting
dalam
informasi
yang
telah
dienkripsi
untuk
dapat
kembali dibaca. Dengan kata
diimplementasikan
lain
protokol SSL (Source Socket
proses
dekripsi
merupakan
membalikkan
hasil
pada
Layer) yaitu sebuah protokol
yang diberikan dari proses
untuk
enkripsi ke dalam bentuk awal
intenet.
memproteksi
trafik
Terdapat dua tahapan
sebelum d enkrip.
untuk membangkitkan aliran
2.2 Algoritma RC2
Pada tahun 1987 di
kunci algoritma
RC2 yaitu
Laboratorium Rsa, Ron Rivest
Key Scheduling Algorithm
menemukan suatu algoritma
(KSA) dan Pseudo-Random
yang diberi nama RC2. RC itu
Generator
sendiri merupakan singkatan
(PRGA).
dari Ron’s Code. Karena
algoritma
Algorithm
Key
Scheduling
RC2
dapat
Algorithm (KSA) merupakan
diimplementasikan
secara
tahapan pemberian nilai awal
efisien pada perangkat lunak
berdasarkan kunci enkripsi.
maka menjadikan algoritma
State dari nilai awal tersebut
RC2 populer untuk aplikasi
berupa
internet antara lain digunakan
representasi permutasi 256
sebagai standar WEP (Wired
byte (dengan indeks 0 sampai
Equivalent Privacy), WPA
dengan 255) dinamakan array
(Wifi Protected Acces) dan
S.
TLS
tersebut
(Transport
Protocol).
RC2
Layer
juga
array
Menggunakan
karena
dengan
rentang
RC2
mengenkripsi pada mode byte
(255 = 2˄8 dan 8 bit = 1 byte).
menghasilkan keystream. Nilai S[i]
Artinya maksimal panjang
dan S[j] diambil dan dijumlahkan
kunci yang dapat tersimpan
dengan
pada array U adalah 256
membangkitkan aliran kunci. Hasil
karakter. Permutasi terhadap
dari
nilai array S dilakukan dengan
menjadi
indeks
pseudo-code berikut :
menjadi
aliran
j=0
For i = 0 to 255
modulo
perhitungan
kemudian
mengenkripsi
S[i] = i
256
untuk
tersebut
akan
S[indeks]
yang
kunci
K
yang
digunakan
untuk
plainteks
ke-aliran
kunci K yang kemudian digunakan
For i = 0 to 255
untuk mengenkripsi plainteks ke-idx.
j = (j + S[i] + U[i]) mod 256
Setiap putaran bagian keystream
swap (S[i], S[j])
sebesar 1 byte (dengan nilai antara 0
(*pertukaran nilai S[i] dan
S[j]*)
sampai 255) dioutputkan oleh PGRA
berdasarkan state S.
I=0
Tahap selanjutnya hasil dari array S
yang telah melalui KSA akan diproses
kembali
pada
PRGA(Pseudo-
Random Generator Algorithm). Pada
tahap PRGA terjadi modifikasi state
dan output sebuah byte dari aliran
kunci, dimana array S beroperasi
dengan array U yang selanjutnya akan
J=0
For
idx
=
0
to
PanjangPlainteks –
1 do
I = ( i + 1 )
mod 256
J = ( j + S[i] )
mod 256
Swap ( S[i], S[j] ) (*penukaran nilai
3.2 Implementasi Perancangan
S[i] dan S[j]*)
Program
K = ( S[i] + S[j] ) mod 256
1.Tampilan Awal Program
Endfor
Setelah
kemudian
keystream
terbentuk,
keystream
tersebut
dimasukkan dalam operasi XOR
dengan plaintext.
Sebelum memulai program kita
mengimport terdahulu secara
BAB III
PERANCANGAN SISTEM
otomatis :
3.1 Pengertian RC2
RC2 adalah 64-bit blok cipher
dengan ukuran variabel kunci.18 Its
putaran diatur sebagai sumber-berat
jaringan Feistel,dengan 16 putaran
dari satu jenis (pencampuran)
3. Button Enkripsi
diselingi oleh dua putaran jenis lain
(dihaluskan.Sebuah putaran
pencampuran terdiri dari empat
aplikasi transformasi MIX,seperti
ditunjukkan pada diagram.
4. Button Deskripsi
5. Button Simpan
6. Button Buka
7. Button Keluar