ALGORITMA KRIPTOGRAFI A5 DAN ELGAMAL Nama Penulis 1

advertisement
ALGORITMA KRIPTOGRAFI A5 DAN ELGAMAL
Nama Penulis 1
Yus Jayusman, S.Kom
[email protected]
Nama Penulis 2
Uro Abdulrohim, S.Kom, MT
[email protected]
Abstrak
Sejarah kriptografi mulai dari penggunaan kriptografi oleh Bangsa Mesir 4000 tahun yang lalu (berupa
hieroglyph yang tidak standard pada priamid) hingga penggunaan kriptografi pada abad ke-20. Secara
historis ada empat kelompok orang yang berkontribusi terhadap perkembangan kriptografi, dimana mereka
menggunakan kriptografi untuk menjamin kerahasiaan dalam komunikasi pesan penting, yaitu kalangan
militer (termasuk intelijen dan mata-mata), kalangan diplomatik, penulis buku harian, dan pencinta (lovers).
Algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup
sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad
ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada
aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab.
Algoritma chiper A5 adalah algoritma enkripsi yang digunakan untuk mengamankan komunikasi dan aliran
data pada system GSM pada jaringan seluler. Algoritma ini sudah dikenal memiliki banyak kelemahan dan
tidak jarang serangan terhadapnya berhasil dilakukan. Algoritma Elgamal merupakan salah satu algoritma
kriptografi kunci-publik yang dibuat oleh Taher ElGamal pada tahun 1984. Algoritma ini pada umumnya
digunakan untuk digital signature, namun kemudian dimodifikasi sehingga juga bisa digunakan untuk enkripsi
dan deskripsi. ElGamal digunakan dalam perangkat lunak sekuriti yang dikembangkan oleh GNU, program
PGP, dan pada
sistem sekuriti lainnya. Kekuatan algoritma ini terletak pada sulitnya
menghitung logaritma diskrit.
dan deskripsi. ElGamal digunakan dalam perangkat lunak sekuriti yang dikembangkan oleh GNU, program
PGP, dan pada sistem sekuriti lainnya. Kekuatan algoritma ini terletak pada sulitnya menghitung logaritma
diskrit.
Kata kunci: Kriptografi, Algoritma, A5, Elgamal
1. Pendahuluan
Kriptografi mempunyai sejarah yang panjang.
Informasi yang lengkap mengenai sejarah
kriptografi dapat ditemukan di dalam buku David
Kahn yang berjudul The Codebreakers. Buku yang
tebalnya 1000 halaman ini
menulis secara rinci sejarah kriptografi mulai dari
penggunaan kriptografi oleh Bangsa Mesir 4000
tahun yang lalu (berupa hieroglyph yang tidak
standard pada priamid) hingga penggunaan
kriptografi pada abad ke-20. Secara historis ada
empat
kelompok orang yang berkontribusi
terhadap
perkembangan kriptografi, dimana
mereka menggunakan kriptografi untuk menjamin
kerahasiaan dalam komunikasi pesan penting,
yaitu kalangan militer (termasuk intelijen dan
mata-mata), kalangan diplomatik, penulis buku
harian, dan pencinta (lovers). Di antara keempat
kelompok ini, kalangan militer yang memberikan
kontribusi paling penting
penting karena
pengiriman pesan di dalam
suasana perang
membutuhkan teknik enkripsi dan dekripsi yang
rumit. Sejarah kriptografi sebagian besar
merupakan sejarah kriptografi klasik, yaitu metode
enkripsi yang menggunakan kertas dan pensil atau
mungkin dengan bantuan alat mekanik sederhana.
Secara umum algoritma
kriptografi klasik
dikelompokkan menjadi
dua kategori, yaitu
algoritma transposisi (transposition cipher) dan
algoritma substitusi (substitution cipher). Cipher
transposisi mengubah susunan huruf-huruf di
dalam pesan, sedangkan cipher substitusi
mengganti setiap huruf atau kelompok huruf
dengan sebuah huruf atau kelompok huruf lain.
Sejarah kriptografi klasik mencatat penggunaan
cipher transposisi oleh tentara Sparta di Yunani
pada permulaan tahun 400
SM. Mereka
menggunakan alat yang namanya scytale. Scytale
terdiri dari sebuah kertas panjang dari daun
papyrus yang dililitkan pada sebuah silinder dari
diameter tertentu (diameter silender menyatakan
kunci
penyandian). Pesan ditulis secara
horizontal, baris per baris. Bila pita dilepaskan,
maka huruf-huruf di dalamnya telah tersusun
secara acak membentuk pesan rahasia. Untuk
membaca pesan, penerima pesan harus melilitkan
kembali melilitkan kembali kertas tersebut ke
silinder yang diameternya sama dengan diameter
silinder pengirim. Sedangkang algoritma substitusi
paling awal dan paling sederhana adalah Caesar
cipher, yang digunakan oleh raja Yunani kuno,
Julius Caesar. Caranya adalah dengan mengganti
setiap karakter di dalam alphabet dengan karakter
yang terletak pada tiga posisi berikutnya di dalam
susunan alfabet.
Gambar 1.1.
Sebuah scytale, Pesan ditulis secara horizontal,
baris per baris. Bila kertas dilepaskan, maka
pesan yang terbentuk adalah cipherteks.
Dan di abad 20 ini Kriptografi sangat berperan
penting dalam hal pengamanan data. Salah satu
manfaat nyata Kriptografi adalah penentuan hasil
perang dunia pertama dan kedua. Contoh nyata
pengaplikasian Kriptografi yang berperan sangat
penting dalam perang dunia pertama dan kedua
adalah mesin ENIGMA. Mesin ENIGMA ini
dipatenkan oleh serang insinyur kebangsaan
Jerman, Arthur Scherbius. Pada awalnya ENIGMA
ini ditujukan untuk keperluan komersial. Namun
nama ENIGMA ini mulai dikenal dalam perang
dunia setelah digunakan oleh tentara pemerintah
NAZI. sebelum dan selama perang dunia kedua.
ENIGMA sendiri mengambil nama Latin
AENIGMA yang berarti teka-teki. Mesin
ENIGMA mulai digunakan pada tahun 1928, tetapi
dalam perjalannya tehnik kriptografi ENIGMA
dapat dipecahkan atau dibuka oleh Biuro Szyfrow
(Kantor Sandi) Polandia. Hal ini sangatlah
merugikan pihak Jerman dalam perang dunia.,
karena dengan terbukanya atau terpecahkannya
teknik kriptografi ENIGMA menyebabkan Jerman
kalah perang melawan sekutu.
Gambar 1.2.
Enigma Chiper Machine
Kriptografi tidak akan lepas dengan adanya
algoritma, merupakan kumpulan perintah untuk
menyelesaikan suatu masalah. Perintah-perintah
ini dapat diterjemahkan secara bertahap dari awal
hingga akhir. Masalah tersebut dapat berupa apa
saja, dengan catatan untuk setiap masalah, ada
kriteria kondisi awal yang harus dipenuhi sebelum
menjalankan algoritma. Kata algoritma berasal
dari latinisasi nama seorang ahli matematika dari
Uzbekistan Al Khawārizmi (hidup sekitar abad
ke-9), sebagaimana tercantum pada terjemahan
karyanya dalam bahasa latin dari abad ke-12
"Algorithmi de numero Indorum". Pada awalnya
kata algorisma adalah istilah yang merujuk kepada
aturanaturan aritmetis untuk menyelesaikan
persoalan dengan menggunakan bilangan numerik
arab (sebenarnya dari India, seperti tertulis pada
judul di atas). Pada abad ke-18, istilah ini
berkembang menjadi algoritma, yang mencakup
semua prosedur atau urutan langkah yang jelas dan
diperlukan
untuk
menyelesaikan
suatu
permasalahan. Masalah timbul pada saat akan
menuangkan bagaimana proses yang harus dilalui
dalam suatu/sebuah sistem (program) bagi
komputer sehingga pada saat eksekusinya,
komputer dapat bekerja seperti yang diharapkan.
Programer komputer akan lebih nyaman
menuangkan prosedur komputasinya atau urutan
langkah proses dengan terlebih dahulu membuat
gambaran (diagram alur) diatas kertas.
2. Tujuan Kriptografi
Ada empat tujuan mendasar dari ilmu kriptografi
ini yang juga merupakan aspek keamanan
informasi yaitu :




Kerahasiaan, adalah layanan yang digunakan
untuk menjaga isi dari informasi dari siapapun
kecuali yang memiliki otoritas atau kunci
rahasia untuk membuka/mengupas informasi
yang telah disandi.
Integritas data, adalah berhubungan dengan
penjagaan dari perubahan data secara tidak
sah. Untuk menjaga integritas data, sistem
harus memiliki kemampuan untuk mendeteksi
manipulasi data oleh pihak-pihak yang tidak
berhak, antara lain penyisipan, penghapusan,
dan pensubsitusian datalain kedalam data
yang sebenarnya.
Autentikasi, adalah berhubungan dengan
identifikasi/pengenalan, baik secara kesatuan
sistem maupun informasi itu sendiri. Dua
pihak yang saling berkomunikasi harus saling
memperkenalkan diri. Informasi yang
dikirimkan melalui kanal harus diautentikasi
keaslian, isi datanya, waktu pengiriman, dan
lain-lain.
Non-repudiasi, atau nirpenyangkalan adalah
usaha
untuk
mencegah
terjadinya
penyangkalan
terhadap
pengiriman
/
terciptanya suatu informasi
mengirimkan/membuat.
oleh
yang
Gambar 2.1
Bagan kriptografi
3. Jenis-Jenis Algoritma
Jenis algoritma dibagi menjadi dua bagian
algoritma sandi kunci yaitu:
1. Algoritma Sandi kunci simetris
Skema
algoritma sandi akan disebut
kunci-simetris
apabila untuk setiap proses enkripsi maupun
dekripsi data secara keseluruhan digunakan kunci
yang sama. Skema ini berdasarkan jumlah data
per proses dan alur pengolahan data didalamnya
dibedakan menjadi dua kelas, yaitu block-cipher
dan stream-cipher.
2. Algoritma sandi kunci Asimetris Skema ini
adalah algoritma yang menggunakan kunci yang
berbeda
untuk
proses
enkripsi
dan
dekripsinya.Skema ini disebut juga sebagai system
kriptografi kunci publik karena kunci untuk
enkripsi dibuat untuk diketahui oleh umum
(public-key) atau dapat diketahui siapa saja, tapi
untuk proses dekripsinya hanya dapat dilakukan
oleh yang berwenang yang memiliki kunci rahasia
untuk mendekripsinya, disebut private-key. Dapat
dianalogikan seperti kotak pos yang hanya dapat
dibuka oleh tukang pos yang memiliki kunci tapi
setiap orang dapat memasukkan surat ke dalam
kotak tersebut. Keuntungan algoritma model ini,
untuk berkorespondensi secara rahasia dengan
banyak pihak tidak diperlukan kunci rahasia
sebanyak jumlah pihak tersebut, cukup membuat
dua buah kunci, yaitu kunci publik bagi para
korensponden untuk mengenkripsi pesan, dan
kunci privat untuk mendekripsi pesan. Berbeda
dengan skema kunci-simetris, jumlah kunci yang
dibuat adalah sebanyak jumlah pihak yang diajak
berkorespondensi.
3. Algoritma A5
Algoritma ini pertama kali dikembangkan pada
tahun 1987 ketika penggunaan GSM hanya
terbatas di wilayah Eropa. Pada saat itu algoritma
ini bernama A5/1. Kemudian pengembangan terus
dilakukan
untuk
meningkatkan
keamanan
algoritma hingga pada tahun 1989 A5/2 berhasil
dikembangkan. Kedua algoritma ini pada saat itu
sangat dirahasiakan oleh pihak-pihak yang
mengembangkannya dan oleh penyedia layanan
GSM sampai pada akhirnya informasi mengenai
algoritma ini dapat diketahui oleh masyarakat
umum pada tahun 1994 dan berhasil di reverse
engineered oleh Marc Briceno pada tahun 1999
melalui sebuah telepon genggam biasa. Walaupun
demikian algoritma A5/1 akhirnya tetap digunakan
untuk mengamankan komunikasi suara pada tahun
2000
ketika
layanan
telepon
selular
mulaiberkembang pesat dan penggunaannya
semakin luas. Sampai saat ini pengembangannya
sudah sampai pada generasi ketiga yaitu
algoritmaA5/3. Berbeda dengan algoritma A5/1
dan A5/2, algoritma A5/3 merupakan algoritma
block chipper yang diadaptasi dari algoritma
KASUMI.
KASUMI dibuat oleh Secure Algorithms Groups
of Experts (SAGE, bagian dari ETSI, sebuah
badan standar di Eropa. KASUMI sendiri adalah
pengembangan dari algoritma
MISTY1. GSM
(Global System for Mobile) adalah jaringan selular
yang paling banyak digunakan saat ini. GSM
adalah telepon selular digital pertama setelah era
analog. Masalah dari sistem analog adalah
kemungkinan untuk melakukan pengkloningan
telepon untuk melakukan panggilan telepon
terhadap orang lain dengan maksud penipuan,
selain itu system analog juga berpotensi dapat
melakukan penyadapan (eavesdrop) panggilan
telepon. Jaringan GSM bertujuan untuk
memperbaiki
masalah
tersebut
dengan
mengimplementasikan autentifikasi yang kuat
antara telepon selular dan MSC (mobile service
switch center), mengimplementasikan enkripsi
data yang kuat pada transmisi udara antara MS dan
BTS. GSM adalah standar eropa untuk komunikasi
selular digital. GSM dideklarasikan pada tahun
1982 pada European Conference of Post and
Telecommunication Administrations (CEPT).
Lebih lanjut, sejarah GSM sebagai standar
komunikasi digital disepakati dalam GSM MoU
pada tahun 1987, dimana 18 negara sepakat untuk
mengimplementasikan jaringan selular yang
berbasis GSM. Pada tahun 1991 Jaringan GSM
pertama kali muncul. Jaringan GSM saat ini
digunakan algoritma A3, A8, dan A5 dalam
system pengamanannya. Algoritma A3 dan A8
digunakan dalam proses autentikasi, yaitu proses
pengenalan identitas pelanggan, yang terjadi
pada MS (Mobile Station) dan AUC
(Authentication Centre). Sedangkan algoritma A5
digunakan dalam proses pengiriman informasi
pada link radio antara MS dengan BTS (Base
Transceiver Station). Namun pada sistem
pengamanan dengan menggunakan algoritma ini
ditemukan
kelemahan-kelemahan
yang
memungkinkan terjadinya penyadapan data
ataupun penipuan identitas pelanggan.digunakan
pula jaringan feistel atau dan chiper berulang.
Algoritma A5 adalah cipher aliran yang digunakan
untuk mengenkripsi pesan dalam transmisi udara.
Cipher aliran ini diinisialisasi setiap frame dikirim.
Cipher aliran ini diinisialisasi dengan kunci sesi,
Kc, dan jumlah frame yang akan dienkripsi. Kunci
sesi yang sama digunakann sepanjang panggilan
berlangsung, tetapi 22 bit nomor frame berubah
selama
proses
berlangsung,
kemudian
membangkitkan keystream yang unik untuk setiap
frame.
Gambar 3.1
Pembangkitan keystream
Kunci yang digunakan dalam algoritma ini adalah
64 bit Kc, ditambah inputan berupa nomer frame
TDMA dalam suatu multiframe. Output yang
dihasilkan berupa sepasang 114 bit codeword (S1
dan S2) untuk arah downlink dan uplink.
Selanjutnya masing-masing codeword di-XOR
dengan 114 bit plain text untuk menghasilkan 114
bit chipertext yang akan dikirimkan.
4. Algoritma Elgamal
Algoritma Elgamal merupakan salah satu
algoritma kriptografi kunci-publik yang dibuat
oleh Taher ElGamal pada tahun 1984. Algoritma
ini pada umumnya digunakan untuk digital
signature, namun kemudian dimodifikasi sehingga
juga bisa digunakan untuk enkripsi dan deskripsi.
ElGamal digunakan dalam perangkat lunak
sekuriti yang dikembangkan oleh GNU, program
PGP, dan pada sistem sekuriti lainnya. Kekuatan
algoritma ini terletak pada sulitnya menghitung
logaritma diskrit. Algoritma Elgamal tidak
dipatenkan. Tetapi, algoritma ini didasarkan pada
algoritma Diffie – Hellman, sehingga hak paten
algoritma Diffie – Hellman juga mencakup
algoritma ElGamal. Karena hak paten algoritma
Diffie – Hellman berakhir pada bulan April 1997,
maka
algoritma
ElGamal
dapat
diimplementasikan untuk aplikasi komersil.
Besaran-besaran yang digunakan di dalam
algoritma ElGamal:
1. Bilangan prima, p (tidak rahasia)
2. Bilangan acak, g ( g < p) (tidak rahasia)
3. Bilangan acak, x (x < p) (rahasia)
4. M (plainteks) (rahasia)
5. a dan b (cipherteks) (tidak rahasia)
Prosedur Membuat Pasangan Kunci




Pilih sembarang bilangan prima p.
Pilih dua buah bilangan acak, g dan
x, dengan syarat g < p dan 1 ≤ x ≤ p
– 2.
Hitung y = g x mod p.
Kunci publik adalah y, kunci rahasia adalah x.
Nilai g dan p tidak dirahasiakan dan dapat
diumumkan kepada anggota kelompok.
a.
Banyak kemungkinan untuk melakukan
serangan pada sistem keamanan GSM,
serangan itu dapat dilakukan pada algoritma
A5.
b.
Perlunya metoda kriptografi yang lain untuk
melindungi parameter-parameter keamanan
GSM.
Kelebihan algoritma Elgamal :
a.
belum ada yang berhasil memecahkan
algoritma ElGamal. Karena kekomplesitasan
algoritma ini, maka
penyerangan yang
dilakukan dari segala sisi tidak mampu
menembus pertahanan algoritma ElGamal
ini.Tingkat keamanan algoritma ini didasarkan
pada kesulitan pemecahan masalah logaritma
diskret pada penggandaan bilangan bulat
modul prima yang besar.
b.
pembangkitan kunci yang menggunakan
logaritma diskrit dan metode enkripsi dekripsi
yang menggunakan proses komputasi yang
besar sehingga hasil enkripsinya berukuran
dua kali dari ukuran semula
Enkripsi



Plainteks disusun menjadi blok-blok m1, m2,
…, sedemikian sehingga setiap blok
merepresentasikan nilai di dalam rentang 0
sampai p – 1.
Pilih bilangan acak k, yang dalam hal ini 0 £ k
£ p – 1, sedemikian sehingga k relatif prima
dengan p – 1.
Setiap blok m dienkripsi dengan rumus
a = gk mod p
b = ykm mod p
Pasangan a dan b adalah cipherteks untuk blok
pesan m. Jadi, ukuran cipherteks dua kali ukuran
plainteksnya.
Dekripsi
Untuk mendekripsi a dan b digunakan kunci
rahasia, x, dan plainteks m diperoleh kembali
dengan persamaan
m = b/ax mod p
Catatlah bahwa karena
ax º gkx (mod p)
maka
b/ax º ykm/ax
º gxkm/gxk
º m (mod p)
yang berarti bahwa plainteks dapat ditemukan
kembali dari pasangan cipherteks a dan b.
Kelebihan dan Kekurangan Algoritma A5
dan Elgamal
Kelebihan Algoritma A5 :
a. Algoritma A5 adalah cipher aliran yang
digunakan untuk mengenkripsi pesan dalam
transmisi udara (jaringan GSM).
b.
Algoritma A5 dalam pengembangannya
terdapat 3 macam yaitu A5/1, A5/2 dan A5/3.
Kekurangan Algoritma A5 :
Kekurangan algoritma Elgamal :
Membutuhkan resource yang baik dan processor
yang mampu untuk melakukan komputasi yang
besar.
6. Daftar Pustaka
1. Munir,
Rinaldi,
Perancanagn
Algoritma Stram Cipher denga
Chaos,
Institut
Teknologi
Bandung, 2005
2. Munir,
Rinaldi,
Image
Watermarking untuk memproteksi
citri digital dan aplikasinya pada
citra medis, Institut Teknologi
Bandung, 2005
3. Kurniawan, Yusuf, Kriptografi,
Keamanan Internet dan Jaringan
Komunikasi, Penerbit Informatika,
2005
4. www.wikipedia.org,
diakses
selama Juli – Agustus 2012.
Download