Oleh
Keamanan merupakan salah satu aspek yang penting dalam sebuah sistem
informasi. Banyak orang menyiasati bagaimana cara mengamankan informasi yang
dikomunikasikan atau menyiasati bagaimana cara mendeteksi keaslian dari informasi
yang diterimanya.
Kriptografi adalah ilmu yang mempelajari bagaimana menjaga keamananan suatu pesan
(plaintext). Tugas utama kriptografi adalah untuk menjaga agar baik pesan atau kunci
ataupun keduanya tetap terjaga kerahasiaannya dari penyadap (attacker). Penyadap pesan
diasumsikan mempunyai akses yang lengkap dalam saluran komunikasi antara pengirim
pesan dan penerima pesan. Penyadapan pesan sering terjadi pada komunikasi melalui
internet maupun saluran telepon.
Untuk mendapatkan pesan tanpa melalui kunci sebenarnya dapat dianalisis
(analisis sandi), ilmunya disebut cryptanalysis. Hasil dari analisis sandi akan diperoleh
pesan atau kunci. Analisis sandi juga dapat menemukan kelemahan dalam kriptosistem
yang pada akhirnya dapat menemukan pesan atau kunci.
Pada sebuah data untuk menjaga keamanan data,data tersebut di enksipsi dan
deskripsi. enkripsi dan dekripsi pada umumnya membutuhkan penggunaan sejumlah
informasi rahasia, disebut sebagai kunci. Untuk beberapa mekanisme enkripsi,kunci yang
sama digunakan baik untuk enkripsi dan dekripsi, untuk mekanismeyang lain, kunci yang
digunakan untuk enkripsi dan dekripsi berbeda. Dua tipedasar dari teknologi kriptografi
adalah symmetric key (secret/private key) cryptography dan asymmetric (publickey)
cryptography. Pada symmetric key cryptography, baik pengirim maupun penerima
memiliki kunci rahasia yang umum. Pada asymmetric key cryptography, pengirim dan
penerima masingmasing berbagi kunci publik dan privat. Kriptografi saat ini lebih dari
enkripsi dan dekripsi saja. Otentikasi menjadi bagian dari kehidupan kita sama seperti
privasi.
Pesan-pesan yang dirahasiakan dalam kriptografi biasa disebut
plainteks(plaintext) dan hasil penyamaran disebut chiperteks (chipertext). Proses
penyamaran dari palinteks ke chiperteks disebut ENKRIPSI(dari kata encryption) dan
proses pembalikan dari chiperteks menjadi plainteks kembali disebut
DESKRIPSI(decryption). Baik proses enkripsi maupun proses dekripsi melibatkan satu
atau beberapa kunci kriptografi. Dalam suatu system di mana terdapat algoritma
kriptografi,ditambah seluruh kemungkinan plaintext, ciphertext dan kunci-kuncinya
disebut kriptosistem (cryptosystem atau cryptographic system) Proses tersebut dapat
digambarkan secara sederhana sebagai berikut :
Pengirim Penerima
Keystream Keystream
Generator Generator
Keystream ki Keystream ki
ci
pi Cipherteks
pi
Plainteks Enkripsi Dekripsi Plainteks
Key (K)
ENKRIPSI DESKRIPSI
Gambar diatas, menggambarkan kriptografi simetri yang biasa disebut dengan kriptografi
kunci konvesional. Pesan plaintext P, misalkan SIGIT dikodekan (dienkrip) menjadi
ciphertext 11@@##$ menggunakan password (kunci K) TES. Untuk mengembalikan
cipher 11@@##$ Menjadi SIGIT dilakukan proses dekripsi dengan kunci yang sama
yaitu TES. Karena kunci yang digunakan sama, maka disebut kriptografi kunci simetri
atau kriptografi konvensional. Dalam dunia kriptografi password sering disebut sebagai
kunci. Pesan asli yang belum dikodekan disebut plaintext. Plaintext tidak harus berupa
teks, namun dapat berupa file gambar (gif, jpg), file biner (exe, com, ocx), file suara
(wav, mp3) dan sebagainya. File yang telah disandikan disebut ciphertext. Enkripsi
adalah proses pengubahan pesan asal menjadi karakter yang tidak dapat dibaca.
Sedangkan dekripsi adalah proses pengubahan karakter yang tidak dapat dibaca menjadi
pesan asal.
Cripanalyst
Sumber
kunci
Gambar 3. Lingkungan Kriptosystem
2. Algoritma Asimetri
Algoritma Asimetri juga disebut algoritma kunci publik. Kunci yang digunakan
untuk enkripsi berbeda dengan kunci yang digunakan untuk dekripsi. Kunci dekripsi tidak
dapat dihitung dari kunci enkripsi. Algoritma disebut kunci publik karena kunci enkripsi
dapat dibuat publik yang berarti semua orang dapat mengetahuinya. Sembarang orang
dapat menggunakan kunci enkripsi tersebut untuk mengenkrip pesan, namun hanya orang
tertentu (calon penerima pesan dan sekaligus pemilik kunci dekripsi yang merupakan
pasangan kunci publik) yang dapat melakukan dekripsi terhadap pesan tersebut. Dalam
sistem ini, kunci enkripsi sering disebut kunci publik, sementara kunci dekripsi sering
disebut kunci privat. Kunci privat kadang-kadang disebut kunci rahasia.
Yang termasuk algoritma asimetri adalah ECC, LUC, RSA, El Gamal dan DH.
Enkripsi dengan kunci publik Ke dinyatakan sebagai
E (M) = C Ke
Dengan kunci privat (Kd) sebagai pasangan kunci publik (Ke), dekripsi dengan
kunci privat yang bersesuaian dapat dinyatakan dengan
D(C) = M Kd
Di sini Ke merupakan pasangan Kd. Artinya tidak ada Kd lain yang dapat
digunakan untuk melakukan dekripsi kode C yang merupakan hail enkripsi dengan kunci
Ke. Sebaliknya, pesan dapat dienkrip dengan kunci privat dan didekrip dengan kunci
publik. Metode ini digunakan pada tanda tangan digital. Meskipun agak membingungkan,
operasi ini dapat dinyatakan sebagai
E (M) = C Kd
DKe (C) = M
Artinya kunci privat dan kunci publik dapat digunakan secara berlawanan dengan
tujuan yang berbeda. Sifat ini hanya berlaku untuk algoritma kunci publik tertentu, seperti
RSA. Sifat ini tidak berlaku untuk algoritma DH.
SEJARAH
Ada beberapa dasar tool kriptografi (primitif) yang digunakan untuk mendukung
keamanan informasi. Contoh dari primitif termasuk skema enkripsi,fungsi hash, dan
skema tanda tangan digital. Gambar 1 menunjukkan daftar primitif yang dimaksud dan
bagaimana hubungan mereka. Primitif-primitif ini harus dapat dievaluasi berdasarkan
beberapa kriteria seperti:
Level keamanan. Hal ini biasanya sulit untuk dihitung. Sering diwakili dengan
jumlah operasi yang dibutuhkan (menggunakan metode terbaik yang diketahui)
untuk melawan tujuan yang diharapkan. Level keamanan biasanya didefinisikan
work factor.
Fungsionalitas. Primitif-primitif dibutuhkan untuk memenuhi tujuan keamanan
informasi yang bermacam-macam. Primitif mana yang paling efektif untuk tujuan
yang diberikan akan ditentukan dengan properti dasardari primitif.
Metode operasi. Primitif, saat diterapkan dengan bermacam cara dan dengan
bermacam input, biasanya akan menunjukkan karakteristik yang berbeda,
sehingga satu primitif dapat menyediakan fungsionalitas yang sangat berbeda
pada mode operasi atau penggunaannya.
Unjuk kerja. Merupakan efisiensi sebuah primitif pada mode tertentu.(sebagai
contoh algoritma enkripsi dapat dihitung dengan jumlah bit per detik yang dapat
dienkripsinya)
Kemudahan implementasi. Merupakan kesulitan dalam merealisasikan primitif
pada prakteknya.Dapat meliputi kompleksitas pengimplementasian primitif
dalam lingkungan software maupun hardware. Kepentingan relatif dari bermacam
kriteria ini sangat tergantung pada aplikasi dan sumber daya yang tersedia.
TUJUAN
mengetahui bagaimana cara kerja algoritma OTP pada E-mail.
Algoritma OTP dapat dianalisa sifat-sifatnya (kelebihan dan
kekurangan) baik dalam aspek one time key dan kehandalan.
METODE PENELITIAN
Pada makalah ini metode penelitian menggunakan literature. Yaitu dari beberapa
sumber buku,e-book dan internet.
2. LANDASAN TEORI
Pada Makalah ini akan dibahas tentang algoritma ONE TIME PAD (OTP) pada
email. One time pad termasuk dalam kelompok kriptografi simestris. One-time pad (pad
= kertas bloknot) berisi deretan karakter-karakter kunci yang dibangkitkan secara acak.
Cipher ini diimplementasikan melalui sebuah kunci yang terdiri dari sekumpulan
random karakter-karakter yang tidak berulang. Setiap huruf kunci dijumlahkan modulo 26
dengan huruf pada plaintext. Pada One Time Pad, tiap huruf kunci digunakan satu kali
untuk satu pesan dan tidak digunakan kembali.Panjang stream karakter kunci sama
dengan panjang pesan.Satu-satunya algoritma kriptografi yang tidak dapat dipecahkan
adalah one time pad. One-Time Pads (OTP). One time pads ditemukan pada tahun 1917
oleh Major Joseph Mauborgne. Cipher ini termasuk ke dalam kelompok algoritma
kriptografi simetri. One time pad (pad = kertas bloknot) berisi barisan karakter-karakter
kunci yang dibangkitkan secara acak. Aslinya, satu buah one time pad adalah sebuah pita
(tape) yang berisi barisan karakter-karakter kunci. Satu pad hanya digunakan sekali (one
time) saja untuk mengenkripsi pesan, setelah itu pad yang telah digunakan dihancurkan
supaya tidak dipakai kembali untuk mengenkripsi pesan yang lain. Aturan enkripsi yang
digunakan persis sama seperti pada cipher Vigenere. Pengirim pesan menggunakan setiap
karakter kunci untuk mengenkripsikan satu karakter plainteks. Enkripsi dapat
digambarkan sebagai penjumlahan modulo 26 dari satu karakter plainteks dengan satu
karakter kuncione time pads: ci = (pi + ki) mod 26 yang dalam hal ini, pi : karakter
plainteks ki : karakter kunci ci : karakter ciphertek
Perhatikan bahwa panjang kunci sama dengan panjang plainteks, sehingga tidak
ada kebutuhan mengulang penggunaan kunci selama proses enkripsi.Setelah pengirim
mengenkripsikan pesan dengan one time pads, ia menghancurkan one time pads tersebut
(makanya disebut satu kali pakai atau one time).Penerima pesan menggunakan one time
pads yang sama untuk mendekripsikan karakter-karakter cipherteks menjadi karakter-
karakter plaintek dengan persamaan:
pi = (ci ki ) mod 26
Contoh :
plainteks: ONETIMEPAD
kunci: TBFRGFARFM
Misalkan A = 0, B = 1, , Z = 25.
cipherteks: HOJKOREGHP
yang mana diperoleh sebagai berikut:
(O + T) mod 26 = H
(N + B) mod 26 = O
(E + F) mod 26 = J, dst
Sistem cipher one time pads ini 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 pesan-pesan plainteks yang mempunyai makna, sehingga
kriptanalis tidak punya cara untuk menentukan plainteks mana yang benar.Meskipun one
time pads merupakan cipher yang sempurna aman, namun faktanya ia tidak diguanakan
secara universal dalam aplikasi kriptografi sebagai satu-satunya sistem cipher yang tidak
dapat dipecahkan (hanya sedikit sistem komunikasi yang menggunakan one time pads).
Malahan orang masih tetap menggunakan sistem cipher yang dapat dipecahkan.
Alasannya adalah dari segi kepraktisan, yaitu: Karena panjang kunci harus sama dengan
panjang pesan, maka one time pads hanya cocok untuk pesan berukuran kecil. Semakin
besar ukuran pesan, semakin besar pula ukuran kunci. Pada aplikasi kriptografi untuk
mengenkripsikan data tersimpan, timbul masalah lain dalam penyimpanan kunci. Karena
kunci dibangkitkan secara acak, maka tidak mungkin pengirim dan penerima
membangkitkan kunci yang sama secara simultan. Jadi, salah seorang dari mereka harus
membangkitkan kunci lalu mengirimkannya ke pihak lain. Karena kerahasiaan kunci
harus dijamin, maka perlu ada perlindungan selama pengiriman kunci. Jika hanya ada
satu saluran komunikasi, maka pengirim dan penerima pesan perlu barisan kunci one time
pads lain untuk melindungi kunci one time pads pertama, one time pads ketiga untuk
melindungi one time pads pertama, dan seterusnya. Hal ini menghasilkan kumpulan
barisan kunci one time pads yang tidak berhingga banyaknya.Mengirimkan barisan kunci
melalui saluran komunikasi yang digunakan untuk pengiriman pesan juga tidak praktis
karena pertimbangan lalu lintas (traffic) pesan yang padat. Oleh karena itu, one time pads
hanya dapat digunakan jika tersedia saluran komunikasi kedua yang cukup aman untuk
mengirim kunci. Saluran kedua ini umumnya lambat dan mahal. Misalnya pada perang
dingin antara AS dan Uni Soviet (dahulu), one time pads dibangkitkan, disimpan, lalu
dikirim dengan menggunakan jasa kurir yang aman. Penting diingat bahwa saluran kedua
yang aman tersebut umumnya lambat dan mahal.
dengan c : chiperteks
p : plainteks
k : kunci rahasia yang digunakan
jika,operator logika XOR akan menghasilkan T (benar) apabila salah satu dari kedua
operand (tetapi tidak keduanya) bernilai T.
Apabila diaplikasikan dalam bit maka operator XOR akan menghasilkan 1 jika dan hanya
jika salah satu operand bernilai 1.
Contoh :
x 00111010 10101011
y 10100100 01010101
hasil 10011110 11111110
Sedangkan suatu bilangan dalam biner apabila di- XOR-kan dengan dirinya sendiri akan
menghasilkan 0.
Contoh :
X 01010101 10101010
Y 01010101 10101010
Hasil 00000000 00000000
Apabila suatu bilangan biner x di XORkan sebanyak 2 kali dengan suatu bilangan biner
yang sama maka akan diperoleh bilangan x tersebut kembali.
Contoh :
X 11010101 10001011
Y 01010110 11101010
Hasil1 10000011 01100001
3. PEMBAHASAN
Pada tugas makalah ini akan dibahas analisa algoritma one time pad. Contonya
adalah Pada saat kita mengirimkan pesan terhadap seseorang, pesan tersebut pastinya
bersifat rahasia disini OTP akan menenkripsi nya sehingga pesan tersebut aman. Dibawah
ini akan di jelaskan contoh penggunaan algoritma one time pad pada sebuah pesan.
Misalkan :
Kita ingin mengirim pesan untuk seseorang,pesan yang akan dikirimkan yaitu FIRMAN
dengan kata kunci GLORIA.
Gambaran proses pengiriman pesan
Tabel 2 . ASCII
0 1 2 3 4 5 6 7
00 NUL SOH STX ETX EOT ENQ ACK BEL
01 BS HT LF VT FF CR SO SI
02 DLE DC1 DC2 DC3 DC4 NAK SYN ETB
03 CAN EM SUB ESC FS GS RS US
04 Blank ! # $ % &
05 ( ) * + , - . /
06 0 1 2 3 4 5 6 7
07 8 9 : ; < = > ?
10 @ A B C D E F G
11 H I J K L M N O
12 P Q R S T U V W
13 X Y Z [ \ ] ^ _
14 ` a b c d e f G
15 h I j k l m n O
16 p q r s t u v W
17 x y z { | } ~ DEL
Pada Gambar diatas dapat dilihat proses dari sebuah pengiriman pesan dari
komputer satu ke komputer lainnya. Proses diatas menggunakan fungsi hash. Dimana
pertama-tama pesan milik pengirim di pisah menjadi 2. pesan tersebut dienkripsi oleh
MD5+RSA dimana MD5+RSA sebagai kunci private milik pengirim. Dan dienkripsi juga
oleh OTP. OTP disini sebagai simetrik key. Kemudian hasil enkripsi keduanya
digabungkan menjadi satu bersama juga dengan RSA sebagai kunci public penerima.
Kemudian ke semua file di kirim melalui internet dalam bentuk chipertext. Pada saat
pesan diterima oleh penerima. Pesan tersebut dibuka satu persatu oleh penerima
kemudian setelah itu baru digabungkan kesemuannya sehingga menjadi satu pesan yang
utuh. Chiper simetrik key dibuka oleh RSA sebagai kunci public penerima. Hasilnya
adalah simetrik key. Simetrik key adalah OTP. OTP yang berisi chipertext dibuka lalu
dipisah menjadi 2. salah satunya ada pada MD5+RSA. MD5+RSA adalah kunci public
pengirim. Kunci ini dibuka kemudian hasilnya digabungkan dengan hasil dari chipertext
OTP. Setelah itu menjadi pesan yang benar.
Ada beberapa parameter yang diperhitungkan untuk mengetahui kehandalan Sistem OTP
ini, antara lain:
Terenkrip/tidak terenkrip
Terenkripsi dan tidaknya sebuah pesan tergantung pada keadaan jaringan saat itu.
File terenkripsi atau tidaknya tidak dapat dipastikan. Akan tetapi kita dapat
mengetahui file tersebut terenkripsi atau tidak dengan melakukkan sniffing (alias
mengendus, adalah suatu kegiatan mengendus-endus seperti namanya).
Authentifikasi
Autentifikasi pada OTP sama halnya dengan validasi pada system email user.
proses validasi user pada saat melakukan proses dengan system. Sama seperti
biasanya username dan password user dicek untuk diproses apakan
kebenaranya memang benar. Bila benar maka mereka berhak masuk ke
system selanjutnya. Jadi pada OTP hanya user yang benar yang boleh
menggunakan system OTP. Pada tahap ini menggunakan privat key algoritma
RSA. Pada saat pengiriman public dan private key dibutuhkan untuk proses
pengiriman pesan ini.
Integritas
Integritas adalah suatu keadaan dimana pada saat kita mengirim pesan dan
pada saat menerima pesan tersebut masii sama dengan pesan yang asli. Atau
pada saat kita mengirim. Pesan tersebut masih terenkripsi dengan baik.
Sehingga tidak ada perubahan dalam isi nya.
Dibawah ini adalah contoh bahasa C padaprogram one time pad untuk proses
pengiriman pesan.
4.KESIMPULAN
Internet:
http://searchsecurity.techtarget.com/sDefinition/0,,s id14_gci213673,00.html
http://en.wikipedia.org/wiki/Cryptography
http://hadiwibowo.wordpress.com/kriptografi
http://docs.sun.com/source/816-6154-10/contents.htm#1053011
E-BOOK:
Cambridge.University.Press.Advances.in.Elliptic.Curve.Cryptography
http://www.team509.com/download/docs/security/crypt/
Buku:
Munir, Rinaldi, Diktat Kuliah IF5054 Kriptografi, Sekolah Teknik Elektro dan
Informatika Institut Teknologi Bandung, 2006