You are on page 1of 30

TUGAS AKHIR

Keamanan Jaringan Komputer

ANALISA ALGORITMA VERNAM (OTP)

Oleh

AMANDA LILDA RAMADAYANTI 0805 3111 001

JURUSAN TEKNIK INFORMATIKA


FAKULTAS ILMU KOMPUTER
UNIVERSITAS SRIWIJAYA
2008
ABSTRAKSI

Kehadiran Komputer memberi perhatian yang lebih bukan hanya dalam


pengolahan data saja melainkan juga dengan keamanan data. Perkembangan teknologi
telekomunikasi dan informatika (telematika) saat ini sangat pesat sekali. Teknologi
Jaringan Komputer yang saat ini berkembang, memungkinkan satu computer untuk
brhubungan dengan computer lainnya di seluruh dunia untuk saling nertukar data atau
informasi. Perkembangan teknologi tersebut telah menciptakan suatu revolusi yang
disebut dengan revolusi informasi, dunia sekarang terikat menjadi satu oleh sistem
elektronik yang menyalurkan berita dan data dengan kecepatan cahaya ke seluruh tempat
di dunia ini. Revolusi informasi yang merupakan gabungan antara ilmu pengetahuan dan
teknologi telah merubah sumber kekayaan tidak lagi berupa materi-seperti pada revolusi
industri- tetapi berupa informasi, pengetahuan yang diterapkan pada pekerjaan untuk
menciptakan suatu nilai. Siapa yang menguasai informasi maka ia akan menguasai dunia.
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.
Kriptografi saat ini memang sangat tidak asing lagi didengar. Banyak perusahaan
atau bahkan instansi-instansi yang sudah menggunakan kriptografi. Kriptografi memang
dibutuhkan banyak pemakai dalam berbagai data atau informasi. Keamanan data harus
sangat terjamin,karena banyaknya data yang harus menyimpan banyak rahasia.
Kerahasiaan data sangat diperlukan dalam hal komunikasi data.Untuk menjamin
keamanan dan kerahasiaan data tersebut diperlukan teknik tertentu
untuk menyandikan data atau informasi yang disebut kriptografi. Ada berbagai jenis
algoritma kriptografi seperti DES, RSA dan sebagainya yang berusaha untuk
menciptakan suatu algoritma yang benar-benar
dapat mengamankan data atau informasi yang ditransmisikan. Untuk itu para kriptografer
semakin lama semakn berusaha menciptakan algoritma yang rumit untuk lebih menjamin
keamanan informasi yang
dienkripsikan. Namun sebenarnya semakin sederhana algoritma pengenkripsian yang
dibuat akan semakin baik, karena dengan demikian proses komputasinya akan semakin
sedikit sehingga akan memakan waktu lebih sedikit untuk mengeksekusinya.
Makalah ini akan membahas salah satu bentuk kriptografi yang relatif sederhana
namun cukup sulit untuk dipecahkan yaitu kriptografi one-time pad. Dalam dunia
kriptografi dikenal sebuah metode penyandian yang sangat kuat sehingga tidak mudah
dipecahkan, yaitu metode penyandian One Time Pad (OTP). Metode penyandian OTP
merupakan salah satu variasi dari metode penyandian subtitusi dengan cara memberikan
syarat-syarat khusus terhadap kunci yang digunakan yaitu terbuat dari karakter / huruf
yang acak (kunci acak atau pad), dan pengacakannya tidak menggunakan rumus tertentu.
1. PENDAHULUAN
LATAR BELAKANG

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

~ Macam-Macam Algoritma Kriptografi

Ada dua jenis algoritma kriptografi berdasarkan jenis kuncinya, yaitu :


1. Algoritma Simetri (konvensional)
Adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci
dekripsinya. Disebut konvensional karena algoritma ini digunakan orang sejak dahulu.
Algoritma simetri sering juga disebut sebagai algoritma kunci rahasia, algoritma kunci
tunggal atau algoritma satu kunci dan mengharuskan pengirim dan penerima menyetujui
suatu kunci tertentu sebelum mereka dapat berkomunikasi dengan aman. Keamanan
algoritma simetri tergantung pada kunci, membocorkan kunci berarti bahwa orang lain
dapat mengenkrip dan mendekrip pesan. Agar komunikasi tetap aman, kunci harus tetap
dirahasiakan. Yang termasuk algoritma kunci simetri adalah OTP, DES, RC2, RC4, RC5,
IDEA, Twofish, Magenta, FEAL, SAFER, LOKI, CAST, Rijndael (AES), Blowfish,
GOST, A5, Kasumi dan lain-lainnya.

Key (K)

ENKRIPSI DESKRIPSI

Gambar 2. kriptografi konvensional

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

Sumbe enkripto deskriptor tujuan


r pesan r
saluran yang tidak aman

Saluran yang aman

Sumber
kunci
Gambar 3. Lingkungan Kriptosystem

menggambarkan cipher C dikirimkan ke tujuan melalui saluran yang umumnya tidak


aman. Sedangkan kunci K sendiri harus dikirimkan melalui saluran yang aman. Untuk
mengirimkan kunci dengan aman, pengirim dan penerima dapat bertemu dan
menyepakati kunci tertentu untuk dipakai bersama dalam komunikasi berikutnya. Dalam
saluran yang tidak aman ini, seorang penyerang dapat menyadap cipher C dan kemudian
melakukan dan kemudian melakukan analisis untuk menemukan nilai P. Nilai K dan P
perkiraan yang dihasilkan oleh penyerang disebut sebagai K dan P. Untuk memudahkan
penulisan dan analisis, kriptografi modern menggunakan notasi matematika, dengan
pesan asal P dan kode rahasia C yang diperoleh dari enkripsi dengan kunci K, sehingga
penulisannya :
C = E(P) K
Notasi ini menyatakan bahwa C dihasilkan oleh fungsi enkripsi E yang
dioperasikan terhadap masukan P dengan kunci K, operasi ini dilakukan di pengirim.
Pada penerima dilakukan operasi sebaliknya
P = D(C). Pemecah kode (cryptanalyst) sering kali hanya memiliki C dan harus
menemukan nilai P nya.
Algoritma simetri dapat dibagi dalam dua kategori. Jenis pertama beroperasi pada
plaintext yang berupa satu bit tunggal pada satu waktu, yang disebut stream algorithms
(algoritma aliran atau stream ciphers). Jenis kedua beroperasi pada plaintext dalam grup
bit-bit. Grup bit-bit ini disebut blok, dan algoritmanya disebut sebagai algoritma blok atau
kode rahasia blok. Untuk algoritma komputer modern ukuran blok dasarnya adalah 64 bit
atau 128 bit, cukup besar untuk menghindari analisis pemecahan kode dan cukup kecil
agar dapat bekerja dengan cepat. Sebelum pemakai komputer, algoritma biasanya
beroperasi pada plaintext, satu karakter per satu operasi. Kita dapat mengatakan bahwa
ini seperti algoritma aliran yang beroperasi pada aliran karakter.

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

Kriptografi memiliki sejarah yang panjang dan mengagumkan. Penulisan rahasia


ini dapat dilacak kembali ke 3000 tahun SM saat digunakan oleh bangsa Mesir. Mereka
menggunakan hieroglyphcs untuk menyembunyikan tulisan dari mereka yang tidak
diharapkan. Hieroglyphcs diturunkan dari bahasa Yunani hieroglyphica yang berarti
ukiran rahasia. Hieroglyphs berevolusi menjadi hieratic, yaitu stylized script yang lebih
mudah untuk digunakan. Sekitar 400 SM, kriptografi militer digunakan oleh bangsa
Spartan dalam bentuk sepotong papirus
atau perkamen dibungkus dengan batang kayu. Sistem ini disebut Scytale.
Sekitar 50 SM, Julius Caesar, kaisar Roma, menggunakan cipher substitusi untuk
mengirim pesan ke Marcus Tullius Cicero. Pada cipher ini, huruf-huruf apfabet
disubstitusi dengan huruf-huruf yang lain pada alfabet yang sama. Karena hanya satu
alfabet yang digunakan, cipher ini merupakan substitusi monoalfabetik. Cipher semacam
ini mencakup penggeseran alfabet dengan 3 huruf dan mensubstitusikan huruf tersebut.
Substitusi ini kadang dikenal dengan C3 (untuk Caesar menggeser 3 tempat). Secar
umum sistem cipher Caesar dapat
ditulis sbb:
Zi = Cn(Pi)
Dimana Zi adalah karakter-karekter ciphertext, Cn adalah transformasi substitusi
alfabetik, n adalah jumlah huruf yang digeser, dan Pi adalah karakter-karakter plaintext.
Disk mempunyai peranan penting dalam kriptografi sekitar 500 th yang lalu. Di
Italia sekitar tahun 1460, Leon Battista Alberti mengembangkan disk cipher untuk
enkripsi. Sistemnya terdiri dari dua disk konsentris. Setiap disk memiliki alfabet di
sekelilingnya, dan dengan memutar satu disk berhubungan dengan yang lainnya, huruf
pada satu alfabet dapat ditransformasi ke huruf pada alfabet yang lain.
Bangsa Arab menemukan cryptanalysis karena kemahirannya dalam bidang
matematika, statistik, dan lingiustik. Karena setiap orang muslim harus menambah
pengetahuannya, mereka mempelajari peradaban terdahulu dan mendekodekan tulisan-
tulisannya ke huruf-huruf Arab. Pada tahun 815, Caliph al-Mamun mendirikan House of
Wisdom di Baghdad yang merupakan titik pusat dari usaha-usaha translasi. Pada abad ke-
9, filsuf Arab al-Kindi menulis risalat ditemukan kembali th 1987) yang diberi judul A
Manuscript on Deciphering Cryptographic Messages.
Pada 1790, Thomas Jefferson mengembangkan alat enkripsi dengan
menggunakan tumpukan yang terdiri dari 26 disk yang dapat diputar scr individual. Pesan
dirakit dengan memutar setiap disk ke huruf yang tepat dibawah batang berjajar yang
menjalankan panjang tumpukan disk. Kemudian, batang berjajar diputar dengan sudut
tertentu, A, dan huruf-huruf dibawah batang adalah pesan yang terenkripsi. Penerima
akan menjajarkan karakter-karakter cipher dibawah batang berjajar, memutar batang
kembali dengan sudut A dan membaca pesan plaintext.
Sistem disk digunakan secara luas selama perang sipil US. Federal Signal Officer
mendapatkan hak paten pada sistem disk mirip dengan yang ditemukan oleh Leon
Battista Alberti di Italia, dan dia menggunakannya untuk mengkode dan mendekodekan
sinyal-sinyal bendera diantara unit-unit.
Sistem Unix menggunakan cipher substitusi yang disebut ROT 13 yang
menggeser alfabet sebanyak 13 tempat. Penggeseran 13 tempat yang lain membawa
alfabet kembali ke posisi semula, dengan demikian mendekodekan pesan.
Mesin kriptografi mekanik yang disebut Hagelin Machine dibuat pada tahun
1920 oleh Boris Hagelin di Scockholm, Swedia. Di US, mesin Hagelin dikenal sebagai
M-209.
Pada tahun 20-an, Herbert O. Yardley bertugas pada organisasi rahasia US MI-8
yang dikenal sebagai Black Chamber. MI-8 menjebol kode-kode sejumlah megara.
Selama konferensi Angkatan Laut Washington tahun 1921-1922, US membatasi negosiasi
dengan Jepang karena MI-8 telah memberikan rencana negosiasi Jepang yang telap
disadap kepada sekretaris negara US. Departemen negara menutup MI-8 pada tahun 1929
sehingga Yardley merasa kecewa. Sebagai wujud kekecewaanya, Yardley menerbitkan
buku The American Black Chamber, yang menggambarkan kepada dunia rahasia dari MI-
8. Sebagai konsekuensinya, pihak Jepang menginstal kode-kode baru. Karena
kepeloporannya dalam bidang ini, Yardley dikenal sebagai Bapak Kriptografi Amerika.

Japanese Purple Machine


Mengikuti peninggalan Yardley, William F.Friedman melanjutkan usaha
cryptanalysis untuk tentara US. Tim Friedman berhasil menjebol cipher diplomatik
Jepang yang baru. Rekan Yardley di Angkatan Laut US adalah Laurence Stafford.
Stafford mengepalai tim yang memecahkan kode angkatan laut Purple Machine Jepang
selama PD II. Kelompok pemecah kode ini bekerja di ruang bawah tanah yang gelap pada
pusat distrik Naval di Pearl Harbour. Komandan Joseph J.Rochefort memimpin kelompok
ini pada musim semi 1942 saat cryptanalysisnya menyadap dan mendekodekan pesan
terkode Jepang. Pesan ini mengatakan akan ada serangan Jepang pada sebuah lokasi yang
dikenal dengan AF. Rochefort yakin bahwa AF adalah pulau Midway. Midway adalah
basis US kunci yang memproyeksikan kekuatan US di pasifik tengah .
Rochefort tidak dapat meyakinkan atasannya bahwa AF adalah pulau Midway.
Sebagai tipu daya, Rochefort meminta personel Midway untuk mengirim pesan bahwa
Midway memiliki masalah air. Pesannya dikirim dengan kode yang jelas dan lemah yang
diyakini akan disadap dan dipecahkan oleh Jepang. Kemudian pada 22 Mei, agen rahasia
Angkatan Laut Jepang mengirim pesan yang dibaca oleh US bahwa AF mempunyai
masalah air. Sebagai hasil dari usaha jenius dalam memecahkan kode ini, laksamana
Chester W.Nimitz mengotorisasi strategi untuk mengirimkan armada US untuk
mengejutkan armada Jepang di Midway. Usaha yang hebat ini berdampak pada gema
kemenangan US yang merupakan titik balik di perang Pasifik.

The German Enigma Machine


Militer Jerman menggunakan mesin cipher substitusi polialfabetik disebut
Enigma sebagai sistem pengkodean utama selama PD II. Enigma menggunakan rotor
mekanis untuk pengkodean dan pendekodean. Seorang Belanda, Hugo Koch
mengembangkan mesin ini pada 1919, dan diproduksi untuk pasar komersial pada 1923
oleh Arthur Scherbius. Scherbius mendapatkan hal paten pada mesin Enigma untuk
perusahaan Berlin Chiffriermasschinen Aktiengesellschaft. Pakar cryptanalysis Polandia,
Marian Rejewski, bekerja bersama Perancis dari 1928 sampai 1938, berhasil
memecahkan pengkabelan sistem 3 rotor yang digunakan Jerman saat itu dan
menciptakan berkas kartu yang dapat mengantisipasi 6 kali 17,576 kemungkinan posisi
rotor. Jerman mengubah indikator sistem dan jumlah rotor menjadi 6 pada 1938, sehingga
meningkatkan kesulitan untuk memecahkan cipher Enigma. Dalam kerjanya pada 1938,
Polandia dan Perancis mengkonstruksi mesin prototipe yang disebut The Bombe untuk
memecahkan cipher Enigma. Namanya diturunkan dari bunyi detikan yang dihasilkan
oleh mesin.
Usaha memecahkan cipher Enigma diambil alih oleh Inggris di Bletchley Park
Inggris dan dipimpin oleh banyak ilmuwan terkemuka termasuk Alan Turing. Prototipe
Bombe Turing muncul pada 1940, dan Bombe berkecepatan tinggi dikembangkan oleh
Inggris dan Amerika pada 1943.
Perkembangan komputer dan sistem komunikasi pada tahun 60an berdampak
pada permintaan dari sektor-sektor privat sebagai sarana untuk melindungi informasi
dalam bentuk digital dan untuk menyediakan layanan keamanan. Dimulai dari usaha
Feistel pada IBM di awal tahun 70an dan mencapai puncaknya pada 1977 dengan
pengangkatan DES (Data Encryption Standard) sebagai standar pemrosesan informasi
federal US untuk mengenkripsi informasi
yang unclassified. DES merupakan mekanisme kriptografi yang paling dikenal sepanjang
sejarah.
Pengembangan paling mengejutkan dalam sejarah kriptografi terjadi pada 1976
saat Diffie dan Hellman mempublikasikan New Directions in Cryptography. Tulisan ini
memperkenalkan konsep revolusioner kriptografi kunci publik dan juga memberikan
metode baru dan jenius untuk pertukaran kunci, keamanan yang berdasar pada kekuatan
masalah logaritma diskret. Meskipun penulis tidak memiliki realisasi praktis pada ide
enkripsi kunci publik saat itu, idenya sangat jelas dan menumbuhkan ketertarikan yang
luas pada komunitas kriptografi. Pada 1978 Rivest, Shamir dan Adleman menemukan
rancangan enkripsi kunci publik dan tanda tangan, yang sekarang disebut RSA.
Rancangan RSA berdasar pada masalah matematika yang sulit untuk kriptografi
menggiatkan kembali usaha
untuk menemukan metode yang lebih efisien untuk pemfaktoran. Tahun 80an
menunjukkan peningkatan luas di area ini, sistem RSA masih aman. Kelas lain yang
merupakan rancangan kunci publik praktis ditemukan oleh ElGamal pada 1985.
Rancangan ini juga berdasar pada masalah logaritma diskret.
Salah satu kontribusi penting dari kriptografi kunci publik adalah tanda tangan
digital. Pada 1991 standar internasional pertama untuk tanda tangan digital (ISO/IEC
9796) diadopsi. Standar ini berdasar pada rancangan kunci publik RSA. Pada 1994
pemerintah US mengadopsi Digital Signature Standard, sebuah mekanisme yang berdasar
pada rancangan kunci publik ElGamal.

Taksonomi Primitif-primitif Kriptografi

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.

Gambar contoh one time pad

Konsep terpenting dalam penggunaan kriptografi onetime


pad adalah meng-XOR-kan plainteks dengan kunci yang telah dipersiapkan untuk
menghasilkan cipherteks.
Secara sederhana dapat dituliskan sebagai berikut :

(1) c = p XOR k [4]

sedangkan proses pendekripsian dituliskan sbb. :

(2) p = c XOR k [5]

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

Apabila hasil1 di-XOR-kan kembali dengan Y maka diperoleh :


Hasil1 10000011 01100001
Y 01010110 11101010
Hasil2 11010101 10001011

Ternyata diperoleh hasil2 sama dengan x.


Hal ini merupakan salah satu dasar dalam penerapan algoritma Vernam dalam kriptografi,
yaitu suatu string yang diterjemahkan ke dalam biner dapat dienkripsikan dengan suatu
kunci tertentu dan dapat pula dengan mudah diperoleh kembali dari pesan sandi dengan
menggunakan operator XOR pada kunci yang sama.

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

Langkah yang dilakukan sbb :

a. Ubah menjadi kode ASCII dan biner


dibawah ini adalah table kode ASCII yang digunakan :

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

F 106 0001 0000 0110


I 111 0001 0001 0001
R 122 0001 0010 0010
M 115 0001 0001 0101
A 101 0001 0000 0001
N 116 0001 0001 0110
Hal yang sama dilakukan pada kunci
G 107 0001 0000 0111
L 114 0001 0001 0100
O 117 0001 0001 0111
R 122 0001 0010 0010
I 111 0001 0001 0001
A 101 0001 0000 0001

b. Pesan di-XORkan dengan kunci


Akan diperoleh

F 0000 0000 0001001


I 0000 0000 0101005
R 0000 0011 0101035
M 0000 0011 0100034
A 0000 0001 0000010
N 0000 0001 0111017

c. Kode ASCII tersebut diterjemahkan lagi


menjadi karakter

Diperoleh : NUL ENQ GS FS BS SI


Untuk memperoleh plainteks kembali,
penerima pesan cukup mengubah lagi
plainteks menjadi ASCII dan meng-XORkan
kembali dengan kunci.
Gambar Proses Enkripsi dan Deskripsi sebuah pesan

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.

/* CRYPTIC.C V 1.0 Copyright 1998 by Glen E. Gardner, Jr. */


/* Encrypts a file using a random key and saves the key. */
/* Automatically generates a new key when needed. The new */
/* key is deleted on the second use (decryption) to prevent */
/* accidental reuse of the same key for encryption. */
/* This program is freeware, use it freely and enjoy! */
/* Be sure to cite the author and include the original */
/* source in all distributions. */
/* Written and compiled in ANSI C using Borland C++ V 5.02 */
/* Tested on Windows NT 4.0 and FreeBSD 2.2.5 (using gcc). */
/* Run this program once to encrypt and agin, using the */
/* same key, to decrypt. */
/* Any file can be used as a key provided it is the */
/* same size (or larger) as the file being encrypted. */
/* (small,repeating keys are for whimps) */
/* You need to be careful what you use as a key. If you */
/* don't believe this, try encrypting a file using a windows*/
/* dll file as a key and looking at the output with a text */
/* editor. */
/* The encrypted output is binary. You can use cryptic to */
/* encrypt any file. */
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
/* Use this include with GCC on FreeBSD machines.*/
/* #include</usr/include/sys/stat.h> */
/* Use this include instead of the one above for Windows NT. */
#include<sys\stat.h>
void makekey(long int,char *);
int main(int argc,char **argv)
{
struct stat statbuf;
time_t t;
int key;
int data;
int output;
int count=0;
int FLAG=0;
FILE * mykeyfile;
FILE * sourcefile;
FILE * destfile;
if(argc<3)
{
printf("CRYPTIC Coyright 1998 by Glen E.
Gardner, Jr.\n");
printf("USE: CRYPTIC
<DESTINATION> <KEY>\n");
return(0);
}
/* Note that if no key name is given, the program
generates and uses a new key. */
/* Be sure the right key is present when decrypting
(duh). The program does not*/
/* know if it is encrypting or decrypting. It just
crunches the source file with*/
/* whatever key it has and spits out the result. */
/* Bail out if the wrong number of arguments are used.*/
if(argc>4){printf("Too many arguments.");return(1);}
/* Seed the random number generator for later use. */
srand((unsigned) time(&t));
/* get the size of the source file */
if ((sourcefile = fopen(argv[1], "rb"))== NULL)
{
printf("Can't open source file.\n");
return(4);
}
fflush(sourcefile);
fstat(fileno(sourcefile), &statbuf);
fclose(sourcefile);
/* Look for default key file if none is given */
if(argv[3]==NULL){argv[3]="newkey";}
/* If the key is not found make a new one. */
if ((mykeyfile = fopen(argv[3], "r"))== NULL)
{
FLAG=1;
printf("Can't open key file.\n");
printf("Making a new key...\n");
makekey(statbuf.st_size,"newkey");
}else{fclose(mykeyfile);}
/* open all the necessary files. */
mykeyfile=fopen(argv[3],"rb");
sourcefile=fopen(argv[1],"rb");
destfile=fopen(argv[2],"wb");
/* Use the key to encrypt/decrypt the source file. */
while (count < (statbuf.st_size))
{
key=fgetc(mykeyfile);
data=fgetc(sourcefile);
/* This is all there is to it. */
output=(key^data);
/* XOR the data byte once with a byte from a key
and it encrypts. */
/* XOR the resultant byte again with the same byte
from the same key, and it decrypts. */
/* write the result to the output file. */
fputc(output,destfile);
count++;
}
/* close the files. */
fclose(mykeyfile);
fclose(sourcefile);
fclose(destfile);
/* Delete the default key on the second time around to
prevent it being reused. */
/* The key is deleted only if a key was not specified
and if the default */
/* key is not new. */
if(FLAG==0)
{
/* use this for Windows NT */
system("erase newkey");
/* use this for FreeBSD */
/* system("rm newkey"); */
}
return(0);
}
/* MAKEKEY() makes a key using random numbers.
*/
/* The random number generator is seeded from the
real time clock. */
/* It is fairly random, but the nature of the
pseudorandom generator is not */
/* completely random. This means that a clever
programmer will */
/* eventually crack your key. */
/* Don't reuse keys, and consider investing time in a
better way of generating */
/* random number strings to use as a key. */
void makekey(long int size,char *name)
{
int byte;
int count=0;
FILE * filein;
filein=fopen(name,"wb");
while(count&lt;size)
{
byte=rand() % 256;
fprintf(filein,"%c",byte);
count++;
}
fclose(filein);
}[ 6]

4.KESIMPULAN

Kesimpulan yang didapat bahwa one time pad (OTP) :

1) System OTP tidak dapat dipecahkan,karena


Barisan kunci acak + plainteks yang tidak acak = cipherteks yang seluruhnya
acak.
Mendekripsi cipherteks dengan beberapa kunci berbeda dapat menghasilkan
plainteks yang bermakna, sehingga kriptanalis tidak punya cara untuk
menentukan plainteks mana yang benar.
2) Algoritma Vernam atau One-time pad merupakaalgoritma pengenkripsian data
dan informasi yang relative sederhana dan mudah digunakan namun cukup aman
dalam menjamin kerahasiaan informasi atau data yang ingin dikirimkan oleh
pengirim pesan kepada penerima pesan tanpa dapat diketahui oleh pihak lain.
3) Karena algoritma OTP memiliki karakteristik besar key sama dengan besar
message, maka sistem ini memiliki keterbatasan akan ukuran message.

4) Keamanan algoritma pengenkripsian ini sangat bergantung pada kerahasiaan


kunci rahasia ( secret key ) dan pad yang digunakan baik dalam mengenkripsi
maupun mendekripsi data atau informasi, karena walaupun untuk memecahkan
sandi yang dibuat sangat sulit namun apabila kunci telah ditemukan akan sangat
mudah untuk memecahkan sandi tersebut.
5) Untuk menjamin kerahasiaan data dana informasi serta menjamin keamanan
kunci rahasia yang digunakan maka kunci yang digenerate harus benar-benar
random atau acak dan hanya dapat dipergunakan sebanyak satu kali saja.
Akan tetapi One Time Pad memiliki kelemahan, Meskipun OTP adalah algoritma yang
sempurna aman, tetapi ia tidak banyak digunakan dalam praktek. Kelemahanya antara
lain :

1) Tidak efisien, karena panjang kunci =


panjang pesan.
Masalah yang timbul:
-penyimpanan kunci
-pendistribusian kunci
2) Jika sebuah kunci telah dipergunakan maka kunci tersebut sudah tidak boleh
dipergunakan kembali. Akibatnya jumlah kunci yang masih dapat dipergunakan
akan semakin berkurang seiring dengan semakin seringnya penggunaan metode
enkripsi ini. Penggunaan kunci yang sama lebih dari satu kali jelas akan
berpengaruh buruk bagi kerahasiaan data atau informasi yang dienkripsikan.
3) pertukaran kunci yang terjadi antara pihak pengirim pesan dan penerima pesan
juga merupakan titik rentan dalam metode pengenkripsian ini, karena terjadinya
kebocoran kunci dapat terjadi pada saat terjadinya pertukaran informasi mengenai
kunci rahasia tersebut.
4) OTP hanya dapat digunakan jika tersedia saluran komunikasi kedua yang cukup
aman untuk mengirim kunci. Saluran kedua ini umumnya lambat dan mahal.
DAFTAR PUSTAKA

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

You might also like