Kriptografi Elgamal Menggunakan Metode Fermat
BAB I
PENDAHULUAN
1.1
Latar Belakang
Kemajuan dan perkembangan teknologi informasi dewasa ini telah berpengaruh
pada hampir semua aspek kehidupan manusia, tak terkecuali dalam hal
berkomunikasi. Dengan adanya internet, komunikasi jarak jauh dapat dilakukan
dengan cepat dan murah. Namun di sisi lain, ternyata internet tidak terlalu aman
karena merupakan media komunikasi umum yang dapat digunakan oleh siapapun
sehingga sangat rawan terhadap penyadapan informasi oleh pihak-pihak yang
tidak berhak mengetahui informasi tersebut. Oleh karena pengguna internet yang
sangat luas seperti pada bisnis, perdagangan, bank, industri dan pemerintahan
yang umumnya mengandung informasi yang bersifat rahasia maka keamanan
informasi menjadi faktor utama yang harus dipenuhi. Berbagai hal yang telah
dilakukan untuk mendapatkan jaminan keamanan informasi rahasia ini. Salah satu
cara yang digunakan adalah dengan menyandikan isi informasi menjadi suatu
kode-kode yang tidak dimengerti sehingga apabila disadap maka akan kesulitan
untuk mengetahui isi informasi yang sebenarnya.
Masalah keamanan merupakan suatu aspek penting dalam pengiriman data
maupun informasi melalui jaringan. Hal ini disebabkan karena kemajuan di
bidang jaringan komputer dengan konsep open system-nya sehingga memudahkan
seseorang untuk masuk kedalam jaringan tersebut. Hal tersebut dapat
mengakibatkan proses pengiriman data menjadi tidak aman dan dapat saja
1
dimanfaatkan oleh orang maupun pihak lain yang tidak bertanggungjawab, untuk
mengambil data ataupun informasi ditengah jalan. Oleh karena itu, dibutuhkan
suatu sistem keamanan yang dapat menjaga kerahasiaan suatu data maupun
informasi, sehingga data tersebut dapat dikirimkan aman.(Tjiharjadi,et.al.2009)
Metode penyandian yang pertama kali dibuat masih menggunakan metode
algoritma rahasia. Metode ini menumpukan keamanannya pada kerahasiaan
algoritma yang digunakan. Namun metode ini tidak efisien saat digunakan untuk
berkomunikasi dengan banyak orang. Oleh karena itu seseorang harus membuat
algoritma baru apabila akan bertukar informasi rahasia dengan orang lain.
Karena penggunaanya yang tidak efisien maka algoritma rahasia mulai
ditinggalkan dan diperkenalkan suatu metode baru yang disebut dengan algoritma
kunci. Metode ini tidak menumpukan keamanan pada algoritmanya, tetapi pada
kerahasiaan kunci yang digunakan pada proses penyandian. Algoritmanya dapat
diketahui, digunakan dan dipelajari oleh siapapun. Metode algoritma kunci
mempunyai tingkat efisiensi dan keamanan yan lebih baik dibandingkan dengan
algoritma rahasia. Sampai sekarang algoritma kunci masih digunakan secara luas
di internet dan terus dikembangkan untuk mendapatkan keamanan yang lebih
baik.
Algoritma ElGamal merupakan salah satu dari algoritma kunci. Algoritma
ini dikembangkan pertama kali oleh Taher ElGamal pada tahun 1984. Sampai saat
ini, algoritma ElGamal masih dipercaya sebagai metode penyandian, seperti
aplikasi PGP dan GnuPG yang dapat digunakan untuk pengamanan email dan
tanda tangan digital (Mollin,2007).
Algoritma ElGamal merupakan salah satu algoritma asimetris dalam
kriptografi. Algoritma ini memiliki tingkat keamanan dalam pemecahan masalah
logaritma diskret pada group pergandaan bilangan prima yang besar, maka upaya
untuk memecahkan pesan yang telah dienkripsi menjadi sangat sulit. Selain
2
tingkat keamanan pada pemecahan logaritma diskret, algoritma ElGamal memiliki
kelebihan dalam menghasilkan cipherteks (pesan yang telah tersamarkan) yang
berbeda untuk plainteks (pesan belum disamarkan, masih dapat dibaca dengan
jelas) yang sama pada proses enkripsi, tetapi ketika cipherteks di dekripsi akan
menghasilkan plainteks (pesan belum disamarkan, masih dapat dibaca dengan
jelas) yang sama pada proses enkripsi, tetapi ketika cipherteks di dekripsi akan
menghasilkan plainteks yang sama. Proses algoritma ElGamal terdiri atas 3 proses
yaitu proses pembentukan kunci, proses enkripsi dan proses dekripsi. Setiap
proses dalam algoritma ini menggunakan teori bilangan terutama bilangan prima
dan modulo bilangan (Ifanto, 2009).
Pembangkitan bilangan prima adalah sebuah permasalahan yang esensial
di dalam ilmu komputer dan teori bilangan, terutama dalam bidang kriptografi.
Hal ini dikarenakan protokol-protokol enkripsi kunci publik didasarkan pada
penggunaan dari bilangan prima dengan ukuran besar. Sedangkan keamanan
sistem kriptografi kunci publik sering didasarkan pada kesulitan untuk
mendpatkan faktor-faktor prima dari suatu bilangan prima yang sangat besar.
Dalam dunia komputer sudah ditemukan beberapa cara untuk mencari
bilangan prima tersebut, oleh karena itu penulis mencoba untuk menggunakan
metode Fermat untuk mencari bilangan prima tersebut.
Berdasarkan latar belakang yang telah diuraikan diatas, maka penelitian ini
mengangkat judul “ Kriptografi Elgamal menggunakan Bilangan Fermat”.
3
1.2
Perumusan Masalah
Berdasarkan latar belakang di atas, maka dapat dirumuskan masalah yang akan
dibahas dalam penelitian ini adalah sebagai berikut:
a. Bagaimana membangkitkan keacakan bilangan prima menggunakan
metode Fermat.
b. Bagaimana
menetapkan
kunci publik
dan
kunci privat,
proses
mengenkripsi dan proses mendekripsi menggunakan algoritma ElGamal.
1.3
Batasan Masalah
Dikarenakan sangat luasnya masalah yang akan dihadapi oleh penulis, maka perlu
dibuatkan batasan masalah dari penelitian ini. Berikut batasan masalah yang
dirangkum antara lain
1. Dalam penelitian ini penulis tidak meneliti serangan terhadap Kriptografi.
Penulis merancang aplikasi untuk pembangkitan bilangan prima dan
bilangan acak.
2. Rancangan ini hanya dapat mengenkripsi dan mendekripsi data yang
berupa teks atau tulisan, bukan suara maupun gambar.
1.4
Tujuan Penelitian
Tujuan yang akan dicapai dari penelitian ini adalah :
a. Mencari, menelusuri pada trial berapa maka metode Fermat akan
menghasilkan bilangan prima yang bukan pseudo-prime .
b. Melakukan pengujian bilangan prima acak beberapa kali untuk lebih
menjamin sebuah bilangan prima tersebut adalah prima (non-composit).
4
1.5
Manfaat Penelitian
Manfaat dari penelitian ini dapat disampaikan sebagai berikut:
1. Mengetahui
cara
membangkitkan
bilangan
prima
acak
dengan
menggunakan Fermat yang nantinya akan digunakan sebagai kunci untuk
melakukan enkripsi dan dekripsi di dalam simulasi program.
2. Dapat meningkatkan keabsahan sebuah bilangan yang telah ditentukan
tersebut adalah prima, yang nantinya dapat digunakan sebagai kunci untuk
melakukan enkripsi dan dekripsi.
3. Menjaga keaslian isi dokumen tersebut menggunakan fungsi kriptografi
ElGamal.
5
PENDAHULUAN
1.1
Latar Belakang
Kemajuan dan perkembangan teknologi informasi dewasa ini telah berpengaruh
pada hampir semua aspek kehidupan manusia, tak terkecuali dalam hal
berkomunikasi. Dengan adanya internet, komunikasi jarak jauh dapat dilakukan
dengan cepat dan murah. Namun di sisi lain, ternyata internet tidak terlalu aman
karena merupakan media komunikasi umum yang dapat digunakan oleh siapapun
sehingga sangat rawan terhadap penyadapan informasi oleh pihak-pihak yang
tidak berhak mengetahui informasi tersebut. Oleh karena pengguna internet yang
sangat luas seperti pada bisnis, perdagangan, bank, industri dan pemerintahan
yang umumnya mengandung informasi yang bersifat rahasia maka keamanan
informasi menjadi faktor utama yang harus dipenuhi. Berbagai hal yang telah
dilakukan untuk mendapatkan jaminan keamanan informasi rahasia ini. Salah satu
cara yang digunakan adalah dengan menyandikan isi informasi menjadi suatu
kode-kode yang tidak dimengerti sehingga apabila disadap maka akan kesulitan
untuk mengetahui isi informasi yang sebenarnya.
Masalah keamanan merupakan suatu aspek penting dalam pengiriman data
maupun informasi melalui jaringan. Hal ini disebabkan karena kemajuan di
bidang jaringan komputer dengan konsep open system-nya sehingga memudahkan
seseorang untuk masuk kedalam jaringan tersebut. Hal tersebut dapat
mengakibatkan proses pengiriman data menjadi tidak aman dan dapat saja
1
dimanfaatkan oleh orang maupun pihak lain yang tidak bertanggungjawab, untuk
mengambil data ataupun informasi ditengah jalan. Oleh karena itu, dibutuhkan
suatu sistem keamanan yang dapat menjaga kerahasiaan suatu data maupun
informasi, sehingga data tersebut dapat dikirimkan aman.(Tjiharjadi,et.al.2009)
Metode penyandian yang pertama kali dibuat masih menggunakan metode
algoritma rahasia. Metode ini menumpukan keamanannya pada kerahasiaan
algoritma yang digunakan. Namun metode ini tidak efisien saat digunakan untuk
berkomunikasi dengan banyak orang. Oleh karena itu seseorang harus membuat
algoritma baru apabila akan bertukar informasi rahasia dengan orang lain.
Karena penggunaanya yang tidak efisien maka algoritma rahasia mulai
ditinggalkan dan diperkenalkan suatu metode baru yang disebut dengan algoritma
kunci. Metode ini tidak menumpukan keamanan pada algoritmanya, tetapi pada
kerahasiaan kunci yang digunakan pada proses penyandian. Algoritmanya dapat
diketahui, digunakan dan dipelajari oleh siapapun. Metode algoritma kunci
mempunyai tingkat efisiensi dan keamanan yan lebih baik dibandingkan dengan
algoritma rahasia. Sampai sekarang algoritma kunci masih digunakan secara luas
di internet dan terus dikembangkan untuk mendapatkan keamanan yang lebih
baik.
Algoritma ElGamal merupakan salah satu dari algoritma kunci. Algoritma
ini dikembangkan pertama kali oleh Taher ElGamal pada tahun 1984. Sampai saat
ini, algoritma ElGamal masih dipercaya sebagai metode penyandian, seperti
aplikasi PGP dan GnuPG yang dapat digunakan untuk pengamanan email dan
tanda tangan digital (Mollin,2007).
Algoritma ElGamal merupakan salah satu algoritma asimetris dalam
kriptografi. Algoritma ini memiliki tingkat keamanan dalam pemecahan masalah
logaritma diskret pada group pergandaan bilangan prima yang besar, maka upaya
untuk memecahkan pesan yang telah dienkripsi menjadi sangat sulit. Selain
2
tingkat keamanan pada pemecahan logaritma diskret, algoritma ElGamal memiliki
kelebihan dalam menghasilkan cipherteks (pesan yang telah tersamarkan) yang
berbeda untuk plainteks (pesan belum disamarkan, masih dapat dibaca dengan
jelas) yang sama pada proses enkripsi, tetapi ketika cipherteks di dekripsi akan
menghasilkan plainteks (pesan belum disamarkan, masih dapat dibaca dengan
jelas) yang sama pada proses enkripsi, tetapi ketika cipherteks di dekripsi akan
menghasilkan plainteks yang sama. Proses algoritma ElGamal terdiri atas 3 proses
yaitu proses pembentukan kunci, proses enkripsi dan proses dekripsi. Setiap
proses dalam algoritma ini menggunakan teori bilangan terutama bilangan prima
dan modulo bilangan (Ifanto, 2009).
Pembangkitan bilangan prima adalah sebuah permasalahan yang esensial
di dalam ilmu komputer dan teori bilangan, terutama dalam bidang kriptografi.
Hal ini dikarenakan protokol-protokol enkripsi kunci publik didasarkan pada
penggunaan dari bilangan prima dengan ukuran besar. Sedangkan keamanan
sistem kriptografi kunci publik sering didasarkan pada kesulitan untuk
mendpatkan faktor-faktor prima dari suatu bilangan prima yang sangat besar.
Dalam dunia komputer sudah ditemukan beberapa cara untuk mencari
bilangan prima tersebut, oleh karena itu penulis mencoba untuk menggunakan
metode Fermat untuk mencari bilangan prima tersebut.
Berdasarkan latar belakang yang telah diuraikan diatas, maka penelitian ini
mengangkat judul “ Kriptografi Elgamal menggunakan Bilangan Fermat”.
3
1.2
Perumusan Masalah
Berdasarkan latar belakang di atas, maka dapat dirumuskan masalah yang akan
dibahas dalam penelitian ini adalah sebagai berikut:
a. Bagaimana membangkitkan keacakan bilangan prima menggunakan
metode Fermat.
b. Bagaimana
menetapkan
kunci publik
dan
kunci privat,
proses
mengenkripsi dan proses mendekripsi menggunakan algoritma ElGamal.
1.3
Batasan Masalah
Dikarenakan sangat luasnya masalah yang akan dihadapi oleh penulis, maka perlu
dibuatkan batasan masalah dari penelitian ini. Berikut batasan masalah yang
dirangkum antara lain
1. Dalam penelitian ini penulis tidak meneliti serangan terhadap Kriptografi.
Penulis merancang aplikasi untuk pembangkitan bilangan prima dan
bilangan acak.
2. Rancangan ini hanya dapat mengenkripsi dan mendekripsi data yang
berupa teks atau tulisan, bukan suara maupun gambar.
1.4
Tujuan Penelitian
Tujuan yang akan dicapai dari penelitian ini adalah :
a. Mencari, menelusuri pada trial berapa maka metode Fermat akan
menghasilkan bilangan prima yang bukan pseudo-prime .
b. Melakukan pengujian bilangan prima acak beberapa kali untuk lebih
menjamin sebuah bilangan prima tersebut adalah prima (non-composit).
4
1.5
Manfaat Penelitian
Manfaat dari penelitian ini dapat disampaikan sebagai berikut:
1. Mengetahui
cara
membangkitkan
bilangan
prima
acak
dengan
menggunakan Fermat yang nantinya akan digunakan sebagai kunci untuk
melakukan enkripsi dan dekripsi di dalam simulasi program.
2. Dapat meningkatkan keabsahan sebuah bilangan yang telah ditentukan
tersebut adalah prima, yang nantinya dapat digunakan sebagai kunci untuk
melakukan enkripsi dan dekripsi.
3. Menjaga keaslian isi dokumen tersebut menggunakan fungsi kriptografi
ElGamal.
5