JURNAL MEDA TEKNIK VOL 7, Ne.t: 2010
PENGAMANAN KTINCI ENKRIPSI ONE-TIME I'AT) " (oTP) MENGGTNAKAN EI\KRIPSI RSA Sri Primaini,Agustanti Staf Pengajar AMIK SIG|,L4 Palembang
[email protected]
ABSTRACT
ycryption algorithm is qn unbreqkable algonthm. In OW encryption
algafthm,, lenqgr qt(1gceiver share sgcret key to incrypt and de,crypt ^iirog". rhe,s9cr1,t$iis, required to secare dan T":ts popu-*ggrr, pro-tect OW encryption key using RSA encryption. OW iby protected by RSA encryption.
. Keywords
Olf
" ifrti*r;;"
:
ABSTRAK
OW algorithrh key,
RSA
algorithm
Alg3ritrnlellcrinsi oTP adolah algoritma yang tidak dapar dipecahkan. pada enlr|psi ow, r-ensyim..dary penerima berbag tancirahosia intuk meng,rrk; rpst pesan. Diperlukan kerahasiaan kunci untuk mengamankan pesan. Tultsin tni'
i*tpsi
m,engusul!1n alyernatif untuk melindungi tatnci Oip menggunakan enl+ripsi RSA. Kunci OfP dilindungi'dengan entvtpsi RSA.
Kata kunci
Ieunci
algoritma OW, algoritma
PENDAHULUAN
Keamanan dan kerahasiaan data merupakan hal penting pada komunikasi data. Salah satu cara untuk menjaga kerahasiaan data adalah dengan melakukan terhadap yang dikomunikasikan. Proses kriptografi terdiri dari dua bagian yaitu enkripsi dan dekripsi. Enkripsi merupakan proses yang dilakukan untuk mengubah pesan yang tidak disandikan (pkitntext atau cleaftext) ke dalam bentuk yang tidak dapat dibaca {ciphertext) Sdangkan dekripsi (de crltpti on) adalah proses kebalikannya.
kiptografi
data
R*t algoritma
enlripsi dan delcripsi
yang cara mengkombinasikannya dengan kunci. Kekuatah kriptografi sangat diterrtukan oleh kunci yang digunakan (Munlr, 2006). Fungsi atau algoritma yang sama akan
digunakan
memberikan ciphertext berbeda jika digunakan kunci yang berbeda.
Secara sederhana proses kriptografi dapat dilihat pada gambar 1. Trans-formasi enkripsi darl dekripsi didefinisikan terdiri dari dua bagiaq yaitu fungsi (fimction) dart
kunci (key) Fungsi
mendefinisikan
dengan
Gambar
l.
Proses Kriptografi
96
Sri
Ada beberapa algoritma enkripsi dan dekripsi yang dilSenal (Srallings, 2003), diantaranya adalah'algoritnra One fimepad
(OTP) Algoritma OTP dikenal
sebagai
algoritma kriptografi yang sangat kuat (yun Jang, 2003). Algoritma ini bekerja dengan cara membangkitkan kunci yang sama unfuk proses enkripsi dan dekripsi, jadi antara pengirim dan penerima data harus berbagi kunci yang sama. Pada saat berbagi kunci ini terdapat potensi kunci tersebut "dicuri',. Sekali kunci enlripsi bocoq maka tidak ada lagi makna enkripsi. Persoalannya adirlah "bagaimana meirgamankan kunci enkripsi-
detripsi algoritma OTP?". Tulisan ini bermaksud membuat rancangan sistem untuk pengamanan kunci enkripsi OTp.
METODOLOGI Secara garis besar ada dua tahapan yang dilakukan dalam penulisan paper ini yaitu : i. Studi literatur baik buku referensi maupun dari penelitian yang telah dilakukan sebelumnya mengenai kriptografi. 2. Pengembangaa sisterq mengikuti
metode sekuensial linier
@ressman,
terdiri dari,tahapan berikut : rekayasa sistenl akan menghasilkan garnbaran sistem seffira umum. analiSis kebutuhan pengguna: mendefinisikan apa yang dibutuhkan
2OO4)
a.
b.
c. d.
pengguna sistem" perancangan proses, yaifu nterancang
proses-proses apa saja yang terlibat di dalam sistem. Hasil rancangan proses berupa diagram alir data. implementasi dan pengujiarq menerjemahkan rancangan ke dalam pemrograman --dan ,melakukan
pengujian apakah sistem
T
PrimainiAgu#anti
sudah berjalan sesuai dengan rancangan. Tahapan implementasi dan pengujian tidak disertakan dalam tulisan ini.
I
I
Ia g
LANDASAN TSORI
*
j
Enkripsi
Teknik enkripsi terbagi menjadi dua kelompok besar, yaitu metode kunci pribadi (secret key) dan metode kunci publik (pubtic key) Teknik enkripsi secret frey disebut juga enkripsi simetri - mengenkripsi data dengan mengaplikasikan fungsi enkripsi den[an kunci pribadi terhadap plainteks yang
disepakati. Dekripsi dilakukan
dengan
mengaplikasikan fungsi kebalikan terhadap ciphertft mehggunakan' kunci yang sama utltuk inengembalikrinnya ke plainteks asal: Fungsi irnkripsi dan dekripsi tidak perlu rahasia karena kuncinia rahasia. Baik pengirim maupun penerirna harus memiliki enkripsi dan dekripsi dan berbagi !1gri (share) kunqi pribadi. Gambar 2. pada teknik ini jika pengrrim akdn berkomunikasi dengan' banyak penerim4 maka perlu dibangkitkan banyak kunci yang beibeda untuk masing-masing penerima.
l. Ac$iE.tr
l. Ac+iE .tr
Reivc ({1 3.1'6,(MdM
i.Kr)/lM, 3.
S6d
2.
(l/)r
Gambar 2. Komunikasi dengan Enfcrilsi, Kunci Pribadi
Enkripsi Kunci Publik Teknik ini disebut juga erd
Untuk me4ghindari p.*U*gkiLn banyak
$nqi maka setiap penerima pesan potensial dapat rnembuat pasangan kunci Ka dan K" dan merahasiakan kunci dekripsi Ka. Kunci enkripsi
Ie
digunakan
dapat dipublikasikan
oleh
siapapun
yang
dan
ingin berkomunikasi. MetgAe ini Ueraasarlan piAa pengglrnrnn fungsi satu arah untuk mendefinisikan relasi antara dua kunci,
'l
l
@Tn Menggunakan Enkripsi RSA
97
I $
iI
t t j
l,a I
lli tlc I
ln
Pengamanan Kunci Enkripsi one-Time pad
sehingga sulit untuk menentukan Ka dan K". Fungsi satu qlah adalah tungsif(^) - { jika diberikan nilai Y, sangat sulit (secara "menentukan komputasi rumit) untuk nilai X yang bersesuaian. Misalkan B berharap menerima informasi rahasia maka B akan membangkitkan pasangan kunci K" dan Ka.
,a
B
.n
dikirimkan langsung ke
g rl p la
t:
u
k d ;i
akan mempublikasikan K" dan tetap merahasiakan Ka. Sedangkan K. dapat pasangan
komunikasinya atau dengan mengirimkan langsung K" ke layanan dislfbusi public key, yang memelihara basis ilata kunci publik. Layanan distribusi kunci publik menyediakan kunci. sebagai, tanggapan "atas request dari client. Gambar 3.
la si
u .a 1-
-x
Cqftd,,rd
qirs4
:l ttiei,blMi-
+484@4d M
Gambar 3, Koqrunikagi dengan Enkripsi
Kgnci pubtik
1
Algoritma Kriptggrali
Transformasi enkripsi dan dekripsi terdiri dari dua bagiarg yaitu fungsi dan kunci. Fungsi adalah algoritmi yang digunakan untuk mengelkiipsi dan mendekripsi. Jika kunci bersifat rahasia, maka fungsi tidak perlu rahasia. Fungsi
n n a
k i,
dikatakan kuat, jika diberikan ciphertext dan plaintex yang bersesuaian maka akan sangat sulit untuk menenfukan kunci (Stallin-gs, 2003). Algoritma enkripsi harus u*un ALi usaha sistematik untuk membongkar4ya. Kriptografer membuat fungsi" yuos
mendefinisikan aturan substitusi
dan
transposisi begitu kompleks sehingga
peluang menemukan kunci sangat kecil. Beberapa algoritma kriptografi yang dikenai misalnya DES, RSA, Blowfish, MD5, One_ TimePad. Masing-masing dengan kelebihan
9T k_ekurangannya (Mulya, 2OO7) Aritmatika modular banyak digunakan pada berbagai algoritma kriptografi iung iau Algoritma Kriptografi One.time pad
.
Algoritma ,one-time pad termasuk enkripsi siraretri, antara , pengiri.rn. dan
penerima p'esan berbagi kunci rihasia yang sarna (Gambar 2), kunci untuk mengenkripS-i dan mendekripsi sama. One-time pad adalah algoritma 'kriptografi yang sederhana dan mudah diimplementasikan' karena hanya melakukan operasi aritmatika rnodular dan zudah,dinyatakan oleh para,ahli kriptografr sebagai "perfe ct bncrlpfi on algorithm,, (yun Jalg,2AO3). Algoritma ini sering digunakan dalam pioses enkripsi cookie ,(t-rmasuk pemrosesan transaksi online menggunakan kartu kredit) karena prosesnya yang :relatif mudah @onghua, Z00Z). Bekerja dengan pritrsip substitusi. Tekniknya, adhlah set-iap kali akan melakukan enkripsi dibangkitkan kunci (disebut pad) yaag panjangnya sama dengan teks yang akan dienkripsi. Satu kunci halva digunakan satu tcali (one-time) enkripsi, setelah,itu harus dihancur&ar,, ti{tak dipakai kembali untuk mengenkripsi teks lang.lain. Kunci dibangkitkan secara acak menggunakan random generator. Terhadap teks_ yang akan {ienkripsi dilakukan operasi modular dengan kunci. Secara sedeihana, kriptografi one-time pad drp,ri dituliskan sebagai berikut: Untuk enkripsi:
}"q:i
ci:pi
XOR/q
Untuk dekripsi:
Pi':
ci XOR
yang dalam hal ini:
fr
:
J'
Sri I'rimaini Agustanti
98
I g
pi
: karakter plainteks
,ti . karaktelkunci
ct
. karakter cipherteks
Pembangkitan kunci secara acak serta panjang kunci yang sama dengan panjang teks dapat menyebabkan setiap plainteks yang panjangnya sama akan sama-sama mempunyai kemungkinan menghasilkan cipherteks yang diberikan. Dengan kata lain, kriptanalis mendapatkan hasil bahwa cipherteks yang, didekripsikannya menghasilkan beberapa plainteks yang mempunydi makna yang berbeda. Hal ini akan membingungkannya dalam menentukan plainteks yang benar. Keunggulan dari algoritma One-Time Pad adalah kesederhanaan (Wille, 2001). Kunci secara sederhana dibangkitkan oleh pembangkit bilangan acak Qtseudo number random generator PNRG) dan tidak peqrah digunakan berulang. Cipferteks yang sama akan memberikan plainteks yang berbeda jika didekripsi,'{sngan kunoi yang
berbeda.
l
Contoh (Munir 2006): Misalkan plainteks adatrah ONETIMEPAD dan kunci one-time padadalah TBFRGFARFM
Nyatakan A: 0, B: 1, C:2, ..., Z:25, maka cipherteks yang dihasilkan adalah HOJKOREGHP yang diperoleh dengan cara sebagai berikut:
(o + T) mod 26: H (N + B) mod 26: o (E + F) mod 26: J dst
Sistem cipher one-time pads rru tidak dapat dipecahkan karena barisan kunci acak yang ditambahkan ke pesan plainteks yang tidak acak menghasilkan cipherteks yang seluruhnya acak. Beberapa barisan kunci yang digunakan untuk mendekripsi cipherteks mungkin menghasilkan pesanpesan plainteks yang mempunyai makn4
sehingga kriptanalis tidak punya cara untuk menentukan plainteks mana yang benar. Misalkan kriptanalis mencoba barisan kunci I.}{CCAWAAZD
untuk mendekripsi cipherteks pada contoh sebelumnya" HOJKOREGHP
Plainteks yang dihasilkan adalah SAWONEGGS
Bilb ia mencoba barisan kunci ZDVUZOEYEO maka plainteks yang dihasilkan adalah
GREENFIETD
Dua plainteks yang mempunyai makna ini membingungkan kriptanalis untuk memilih mana yang benar. Kerahasiaan kunei merupakan faktor penting pada algoritma one-time pad, sekali kunci dapat dibuka, maka kerahasiaan data tidak lagi terjaga,
Algoritma Enkripsi RSA
RSA
adalah sebuah algoritma berdasarkan skema public-key cryptography. Diberi nama RSA sebagai inisial para penemunya: Ron Rivest, Adi Shamir, dan Leonard Adleman. Kekuatan RSA terletak pada proses kalkulasi yang dibutuhkan untuk memecahkan eirkripsi 6raitu memfaktorkan bilangan-bilangan yang bgsar menj adi faktor-falfor prima.
hasil'
"
Bentuk enlripsi dan delnipsi blok plaintext M dan blok ciphertext C adalah sebagai berikut : C -I/f modn M : e mod n : (Irf)o mod n : Irfd mod n
Pengirim dan penerima harus *.n*"*ut nilai n dan e, hanya penerima yang mengetahui nilai d Algoritma enlaipsi dengan kunci publi( K(J : { e,'n) dan kunci pribadi, KR : {d" n}
t t ;
Pengantanan Kunci Enkripsi one.ixime pad (oTp),Menggunakan Entoipsi RSA
Fembangkltan Kunci Pi
l ih p, q
.,
-
tr; da:r q,
tt,,t.jti,tu y'.t
lrinl.t,
!.t 2 i:':,:
t.
Pesan dapat dienkrip pada
stiii dikirim
dan didekrip pada saat diterima
i " l
-
tung @(nl : r- - r\ rY - 1) 'r r-
Hi
'
Pilih integer e
gcd(O(n),e) = 1<e
Hi
-
Pengirim dapat mengirim pesarl berupa data allanumerik
-_r;,9 d
)
de mod O{n) :
Kunci Publik ,,-----' Kunci Pribadi
1;
1
. KU : {e, n} 'KR : {d, n}
-
Perangkat lunak komunikasi tidak dapat membaca isi pesan Pesan dapat bertahan saat ada penyadap
(tetap pada kondisi dwal lGrenf..ip) tanpa ada perubahan, tidal, ,.rirat dibaia
oleh pihak yang tidak berlsycniiggan)
Siqlem membutqhkan wa.ktu yang relatif singkat untuk Tern-roses pesan (enkrip_ dekrip)
Enki-ipsi
Plaintext
M
.tCiqher-text
KlEi prbd.rd* p..Etim
.C:M(mg/
n
Dekripsi
CipherLexL C Pbiatexr l.{ :C
TGFEE-I
lT**l
lcP'e! | [**"
i
tmcd n
PPII8AHAS'{N Garribaran Urnum Sistem
. Sistem dibangun pada siSi pengirim, dengan fasilitas komunikasi (perangkat keras maupun perangftat lunak) iu"n tEuf,
tersedia. Saat akan tnengiiim "p"rur,, peltg.gup tidak perlu peduli dengan proses
eilTlpsr, pengguna cukup menuliskan pesan (sebagai plaintdxt), kemUdian sistem akan
melakukan enkripsi pesan
menyampaikan pesan terenkripsi
ini
dan
ke untuk dikirimkan. Pesan akan diterima dalam bentuk terenlaip, baru kemudian akan dilakukan proses dekripsi garnbar- 4.
perangkat
lunak
komunikasi
Analisis Kebutuhan Sistem
Pada tulisan ini sistem enkripsi dirancang pada sisi pengirim. Sistem ini diharapl
Gambar 4. Gambaran {Jmum,Sistem Pengiriman Fesan dengan OTp
Rancangan
Proses !
Rancangan pioses digambarkan q"laiiim bentuk diagram alir data. Secara umum diagram menjelaskan bahwa sistem lgiinterak$ dengau entitas Malukan dari pengguna berupa pesa,:i yanrr nantinya, dianggap sebagai plsiniext cian pl9lik milik penerima-untuk entripsi l"q.i kunci OTP dengan atgoritma RSA Ada enam proses yang terlibat di dalasl stsr*ni, yaitu:
ini
il;';rse;;
rc0
l.
Sri
Fembangkitan
kunci simetri
hirnainiAgttga&ti
OTp,
dengan teknik gembangkit acak.
2. 3.
Enkripsi pesan dengan algoritma OTP
Autentikasi pesan, untuk menjamin bahwa pesan memang berasal dari pengirim yang sah
4. ,Enkripsi kunci simetri OTP
5. 6.
OTP
kredit, password, atau
DAFTAR PUSTAIqI
Wille, Christoph, One Time
Christoph,
'
ke benhik awal
Pad,
http://www.aspheute.corn terakhir diakses30 Januari 2010
Dekripsi, proseS'membuka pesan yang sebelum
enkripsi.
2004,
Unbrealmble Encryption Using
.
Pengiriman
dienkripsi
pesan-pesan
berukuran kecil dan bersifat penting lainnya
dengan
algoritma RSA untuk mengamankan kunci simetbri
Ilkuran kunci OTP sama dengan ukuran pesarL sehingga algoritma OTp ini akan sangat efekif untuk enkripsi pesan yang berukuran kecil, misalnya nom€r kartu
De
Rancangan proses dapat dilihat pada gambar 5.
Medeiros, Breno,, Stream Ciphers, Making the One Time pad Practical, hup://www. cs.fsu. edr-r/breno/cis-5
35
7/lectur_slideVclass5. 30 Januari
pdJ. terakhir {iakses 201 0
Mulyq Mqgqb Penerapan Blowfish dalom Linglangan WN Sebagai Sistem Kearygeq4 Dalg Bgrlqis, Jurnal Ilmiah GeneriC, Fakultas Ilmu Komputei"',Universitas "sriwijaya, 2007. Gambar 5. Diagram Alir Sistem Pengiriman Pesan dgngan OTP
Munir, Rir-raldi, Kripngraf,
Penerbit Informatika" Bandung, ?006
KESIMPT'LAI{ Pada tulisan ini,sudah,dirancang, sistem untuk ehkripsi,pesan'dengan algonttna onetime pad (Ofp) Algoritma enkripsi OTP adalah algoritma yang , cukup .sederhana karenp hanya melakukan operasi aritmatika modular. Kesederhanaan algoritma. one-time pad tidak mengurangt kekuatannya, karena kunci enkripsi-dekripsi hanya digunakan satu kati (one time). Keamanan algoritma ini lergantung pada kunci dan kerahasiaan kunci teisebut. Untuk menjaga keamanan kunci OP, a4ka kungi tersebut dienkripsi dengan algoritma RSA
1.,
Pressman Roger 5., Sartware Engineermg,
,,
A
Pto,ctittoner's Apiroaitt, McGrawHill, New Yor( 20O4
Stalling, Wlliam. Crl,ptnograptty qnd Network Security, Principle
"rd Precfice, Pearson Education, 2003. Xu, Donghu4 Lu, Chenghua!'Dos Santo, Andre, 29A2,. Protecti4g Web
of
Credit Caras Using OneEncryption, http ://Ww.'*:statio;og gatech. edu/* xu lpublicationslACSAC2002.pdf terakhir diakses 6 Februari 2010 Usage
time Fqd Cookie