• Tidak ada hasil yang ditemukan

BAB 2 TINJAUAN PUSTAKA

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 TINJAUAN PUSTAKA"

Copied!
19
0
0

Teks penuh

(1)

TINJAUAN PUSTAKA

2.1 Pengertian Kriptografi

Kriptografi adalah merupakan ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data serta otentikasi. Kriptografi adalah proses penggunaan berbagai teknik dan atau ilmu dan seni untuk menjaga keamanan pesan. Cryptographic algorithm adalah fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Terdapat dua fungsi yang saling berhubungan yaitu satu untuk enkripsi dan satu lagi untuk dekripsi.

Enkripsi merupakan proses pengkodean sebuah pesan sehingga isi dari pesan tersebut tidak diketahui. Dekripsi adalah proses kebalikan dari enkripsi yaitu mentransformasi pesan yang dienkripsi kembali menjadi bentuk semula. Sebuah sistem enkripsi dan dekripsi disebut cryptosystem. Bentuk asli dari sebuah pesan disebutplaintextdan bentuk asli yang dienkripsi disebutciphertext.

2.2 Ancaman Keamanan

Terjadi banyak petukaran informasi setiap detiknya di internet. Juga banyak terjadi pencurian atas informasi oleh pihak ketiga. Ancaman keamanan yang terjadi terhadap informasi adalah : (Ariyus, 2008)

1. Interruption, yakni suatu ancaman terhadap ketersediaan suatu informasi, dari yang asalnya ada menjadi tidak ada atau rusak (ancaman terhadap aspek keamananavailability).

2. Interception, yakni suatu ancaman keamanan komputer terhadap kerahasian informasi, sehingga informasi tersebut menjadi diketahui atau diakses oleh orang lain yang tidak berhak.

(2)

3. Modification, yakni ancaman terhadap keaslian suatu informasi, yang mengakibatkan informasi yang diperoleh menjadi tidak asli karena telah mengalami perubahan / modifikasi oleh orang lain.

4. Fabrication, yakni suatu ancaman keamanan komputer pemalsuan informasi yang kita peroleh, sehingga kita menyangka bahwa informasi yang kita peroleh adalah asli padahal merupakan hasil tiruan informasi atau informasi palsu.

2.3 Pengenalan Kriptografi

2.3.1 Sejarah kriptografi

Kriptografi (cryptography) berasal dari bahasa yunani: “ cryptos” yang artinya “ secret” (rahasia) dan “ graphein” yang artinya “ writing” (tulisan). Jadi Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan (Cryptography is the art and science of keeping message secure). (Munir, 2008) Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, serta otentikasi.

Kata “ seni” didalam definisi diatas berasal dari fakta sejarah bahwa pada masa-masa awal sejarah kriptografi, setiaporang mungkin mempunyai cara yang unikuntuk merahasiakan pesan. Cara-caraunik tersebut berbeda-beda pada setiap pelaku kriptografi sehingga setiap cara menulis pesan rahasia, pesan mempunyai nilai estetika tersendiri sehingga kriptografi berkembang menjadi sebuah seni merahasiakan pesan. Kriptografi mempunyai sejarah yang sangat menarik dan panjang. Kriptografi sudah digunakan lebih dari 4000 tahun yang lalu, diperkenalkan olehorang-orang mesir lewat hieroglyph. Jenis tulisan ini bukanlah bentuk standard untuk menulis pesan. Dikisahkan pada zaman romawi kuno, pada suatu saat JuliusCaesar ingin mengirimkan pesan rahasia kepada seorang jenderal di medan perang. Pesan tersebut harus di kirim melalui seorang kurir. Karena pesan tersebutmengandung rahasia, Julius Caesar tidak ingin pesan rahasia tersebut sampai terbuka di jalan. Julius Caesar kemudian memikirkan bagaimana mengatasinya. Kemudian mengacak pesan tersebut hingga menjadi suatu pesan yang tidak dapat dipahami oleh siapapun terkecuali oleh Jenderalnya saja. Tentu Sang Jenderal telah diberi tahu sebelumnya bagaiman cara membaca pesan teracak tersebut yang dilakukan Julius Caesar adalah mengganti

(3)

semua susunan alfabet dari a, b, cyaitu a menjadi b, b menjadi c dan c menjadi d dan seterusnya hingga kalimat tersebut tidak bisa dibaca siapapun.

2.3.2 Konsep kriptografi

Konsep kriptografi sendiri telah lama digunakan oleh manusia misalnya pada peradaban Mesir dan Romawi walau masih sangat sederhana. Prinsip-prinsip yang mendasari kriptografi yakni:

1. 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.

2. 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 data lain kedalam data yang sebenarnya

3. 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.

4. Non repudiasi, adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat informasi tersebut.

2.3.3 Elemen kriptografi

Pada dasarnya kriptografi terdiri dari beberapa elemen seperti : (Dony Ariyus, 2008) 1. Pesan, Plainteks dan Cipherteks.

Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks. Agar pesan tidak bisa dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks

(4)

2. Pengirim dan Penerima

Pengirim adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima adalah entitas yang menerima pesan. Entitas di sini dapat berupa orang, mesin (komputer), kartu kredit dan sebagainya.

3. Enkripsi dan dekripsi

Proses menyandikan plainteks menjadi cipherteks disebut enkripsi. Sedangkan proses mengembalikan cipherteks menjadi plainteks semula dinamakan dekripsi

4. Cipher

Algoritma kriptografi disebut juga cipher yaitu aturan untuk enciphering

dan deciphering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Konsep matematis yang mendasari algoritma kriptografi adalah relasi antara dua buah himpunan yaitu himpunan yang berisi elemen-elemen plainteks dan himpunan yang berisi cipherteks. Enkripsi dan dekripsi adalah fungsi yang memetakan elemen-elemen antara kedua himpunan tersebut.

5. Sistem kriptografi

Sistem kriptografi merupakan kumpulan yang terdiri dari algoritma kriptografi, semua plainteks dan cipherteks yang mungkin dan kunci. 6. Penyadap

Penyadap adalah orang yang berusaha mencoba menangkap pesan selama ditransmisikan dengan tujuan mendapatkan informasi sebanyak-banyaknya mengenai sistem kriptografi yang digunakan untuk berkomunikasi dengan maksud untuk memecahkan cipherteks.

7. Kriptanalisis dan kriptologi

Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalis. Kriptologi adalah studi mengenai kriptografi dan kriptanalisis.

(5)

2.3.4 Algoritma kriptografi

Algoritma kriptografi merupakan langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut. Algoritma kriptografi terdiri dari tiga fungsi dasar yaitu : (Ariyus, 2008)

1. Enkripsi merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data yang dikirimkan agar terjaga kerahasiannya. Pesan asli disebut plaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan dengan cipher atau kode. Untuk mengubah teks asli ke bentuk teks kode digunakan algoritma yang dapat mengkodekan data. 2. Dekripsi merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi

dikembalikan ke bentuk asalnya (teks asli/plaintext) disebut dengan dekripsi.

3. Kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian yaitu kunci rahasia (private key) dan kunci umum (public key)

Biasanya algoritma kriptografi dapat dinotasikan sebagai berikut :

Plaintext(M)

Ciphertext(C)

Enkripsi(fungsi E)

Dekripsi(fungsi D)

Kriptografi itu sendiri terdiri dari dua proses utama yakni proses enkripsi dan proses dekripsi. Seperti yang telah dijelaskan di atas, proses enkripsi mengubah plaintextmenjadi

ciphertext(dengan menggunakan kunci tertentu) sehingga isi informasi pada pesan tersebut sukar dimengerti. Adapun alur dari proses enkripsi dan dekripsi pada kriptografi dapat dilihat pada gambar 2.1

Plaintext ciphertext plaintext

Kunci enkripsi Kunci Dekripsi Gambar 2.1Diagram proses enkripsi dan dekripsi

(6)

Peranan kunci sangatlah penting dalam proses enkripsi dan dekripsi (disamping pula algoritma yang digunakan) sehingga kerahasiaannya sangatlah penting, apabila kerahasiaannya terbongkar, maka isi dari pesan dapat diketahui.

Secara matematis, proses enkripsi merupakan pengoperasian fungsi E (enkripsi) menggunakan e (kunci enkripsi) pada M (plaintext) sehingga dihasilkan C (ciphertext),

notasinya :

Ee(M)C (2.1)

Sedangkan untuk proses dekripsi, merupakan pengoperasian fungsi D (dekripsi) menggunakan d (kunci dekripsi) pada C (ciphertext) sehingga dihasilkan M

(plaintext),notasinya :

Dd(C) = M (2.2)

Sehingga dari dua hubungan diatas berlaku :

Dd(Ee(M)) = M (2.3)

2.4 Kriptografi Klasik

Kriptografi klasik adalah kriptografi yang paling sederhana, mengingat kriptografi ini sudah ada sejak ribuan tahun yang lalu, bahkan salah satu kriptografi paling tua yang ditemukan adalah kriptografi yang digunakan oleh Julius Caesar dan scytale kriptografi dengan melilitkan pesan pada tabung yang digunakan oleh bangsa Sparta. Kriptografi klasik terbagi atas dua jeniscipher, substitusi dan transposisi.

2.4.1 Cipher substitusi

Sistem cipher substitusi adalah sebuah algoritma enkripsi dan dekripsi yang mensubstitusi unit-unit sebuah text dengan unit-unit lain berdasarkan aturan tertentu. Unit-unit ini bisa saja sebuah huruf, sepasang huruf, sebuah kata, dan sebagainya.

Cipher subtitusi ini memiliki beberapa jenis, di antaranya adalah sebagai berikut:

- Monoalfabetik : Sistem cipher substitusi monoalfabetik memetakan tiap huruf satu per satu dimana tiap huruf alfabet dipetakan ke huruf setelahnya.

- Polialfabetik : Pada cipher ini, beberapa alfabet cipher digunakan sekaligus yang kemudian ditulis di sebuah tabel.

(7)

- Homofonik : Cipher ini memetakan huruf pada plaintext yang sering keluar ke dalam lebih dari sebuah huruf ciphertext dengan tujuan mengacaukan hasil analisa frekuensi (yang cara kerjanya adalah dengan menganalisa huruf yang paling sering muncul).

- Polygram : suatu teknik dimana blok karakter dienkripsi dalam kelompok.

2.4.2 Cipher tranposisi

Sistem cipher transposisi adalah sebuah metode enkripsi dan dekripsi dengan cara mengubah susunan huruf pada plaintext berdasarkan aturan tertentu.

2.5 Kriptografi Modern

Setelah adanya komputer berkembanglah Kriptografi modern yang merupakan suatu metoda kriptografi yang menggunakan algoritma matematika dan suatu kunci. Informasi atau berita asli yang belum mengalami perubahan oleh proses kriptografi dikenal sebagai plaintext, dan berita hasil dari perubahan atau proses kriptografi dikenal sebagai ciphertext. Ada dua jenis algoritma pada kriptografi modern yaitu algoritma simetris dan algoritma asimetris.

2.5.1 Algoritma simetris

Algoritma simetrisatau disebut juga secret key algorithm adalahalgoritma yang kunci enkripsinya dapat dihitung dari kunci dekripsi dan begitupula sebaliknya, kunci dekripsi dapat dihitung dari kunci enkripsi. Pada sebagianbesar algoritma simetris kunci enkripsi dan kunci dekripsi adalah sama. algoritma simetris memerlukan kesepakatan antara pengirim dan penerima pesan pada suatu kunci sebelum dapat berkomunikasi secara aman.

Mekanismenya dapat digambarkan melalui contoh sebagai berikut : 1. Rudi dan Alice menyepakati suatu algoritma kriptografi. 2. Rudi dan Alice menyepakati sebuah kunci

3. Rudi mengambil plaintextnya dan mengenkripsikannya dengan menggunakan algoritma kriptografi dan kunci yang sudah disepakati. 4. Rudi mengirimkan ciphertext tersebut kepada Alice

(8)

5. Alice mendekripsikan ciphertext tersebut dengan algoritma dan kunci yang sama. Alice kemudian mendapatkan plaintext dan membacanya. Adapaun proses enkripsi dan dekripsi pada algoritma simetris dapat dilihat pada gambar 2.2

Gambar 2.2 Proses Enkripsi dan Dekripsi pada algoritma simetris

Keamanan algoritma simetris tergantung pada rahasia kunci. Pemecahan kunci berartimemungkinkan setiap orang dapat mengenkripsi dan mendekripsi pesan dengan mudah. Symmetric algorithm dapat dikelompokkan menjadi dua jenis, yaitu stream cipherdanblock cipher.Stream cipherberoperasi bit per bit (atau byte per byte) pada satu waktu. Sedangkan block cipher beroperasi per kelompok. Kelompok bit yang disebut blok (block) pada satu waktu.

Adapun beberapa algoritma yang menggunakan algoritma asimetris adalah sebagai berikut :

- Data Encryption Standard(DES) - Advance Encryption Standard(AES)

- International Data Encryption Algorithm(IDEA)

- A5

- RC4

2.5.2 Algoritma asimetris

Algoritma Asimetris atau disebut juga algoritma public key didesain agar memudahkan dalam distribusi kunci yang digunakan untuk enkripsi dan dekripsi. Kunci dekripsi pada public key algorithm secara praktis tidak dapat dihitung dari kunci enkripsi. Algoritma ini disebut “public key” karena kunci dapat dibuatmenjadi

(9)

publik. Setiap orang dapat menggunakan kunci enkripsi untuk mengenkripsi pesan, tetapi hanya orang yang memiliki kunci dekripsi yang dapat mendekripsi pesan tersebut. Pada sistem ini kunci enkripsi sering disebut kunci publik (public key), dan kunci dekripsi disebut kunci rahasia (private key).

2.5.3 Perbandingan Algoritma Simetris dan Algoritma Asimetris

Baik kriptografi kunci simetris maupun kunci asimetris, keduanya mempunyai kelebihan dan kelemahan masing-masing yaitu :

Kelebihan kriptografi kunci simetris

1. Algoritma kriptografi simetris dirancang sehingga proses enkripsi/dekripsi membutuhkan waktu yang singkat.

2. Ukuran kunci simetris relatif pendek. Algoritma kriptografi simetris dapat digunakan untuk membangkitkan bilangan acak.

3. Algoritma kunci simetris dapat disusun untuk menghasilakan cipher yang lebih kuat.

4. Otentikasi pengirim pesan langsung diketahui dari cipherteks yang diterima, karena kunci hanya diketahui oleh pengirim dan penerima pesan saja.

Kelemahan kriptografi kunci simetris

1. Kunci simetris harus dikirim melalui saluran yang aman. Kedua entitas yang berkomunikasi harus menjaga kerahasiaan kunci ini.

2. Kunci harus sering diubah, mungkin setiap sesi komunikasi.

Kelebihan kriptografi kunci asimetris

1. Hanya kunci privat yang perlu dijaga kerahasiaanya oleh setiap entitas yang berkomunikasi (tetapi otentikasi kunci public harus tetap terjamin). Tidak ada kebutuhan untuk mengirim kunci privat sebagaimana kriptografi kunci simetris.

2. Pasangan kunci publik/kunci privat tidak perlu diubah, bahkan dalam periode waktu yang panjang.

(10)

3. Dapat digunakan untuk mengamankan pengiriman kunci simetris

4. Beberapa algoritma kunci publik dapat digunakan untuk memberi tanda tangan digital pada pesan.

Kelemahan kriptografi kunci asimetris

1. Enkripsi dan dekripsi data umumnya lebih lambat daripada sistem kriptografi simetris, karena enkripsi dan dekripsi menggunakan bilangan yang besar dan melibatkan operasi perpangkatan yang besar.

2. Ukuran cipherteks lebih besar daripada plainteks.

3. Ukuran kunci relatif lebih besar daripada ukuran kunci simetris.

4. Karena kunci publik diketahui secara luas dan dapat digunakan setiap orang maka cipherteks tidak memberikan informasi mengenai otentikasi pengirim. Karena kelebihan dan kelemahan yang ada pada masing-masing kriptografi, maka belum tentu benar bahwa kriptografi kunci publik dapat menggantikan kriptografi kunci simetris. Karena kriptografi kunci publik mempunyai kelemahan terutama dari segi waktu komputasi dan ukuran cipherteks dibandingkan dengan kriptografi kunci simetris, maka hal ini mempunyai implikasi dalam praktek dan penggunaan.

2.6 Konsep Acak

Yang dimaksud dengan sifat acak (randomness) dalam kriptografi adalah sifat bebas dari kecendrungan sehingga tidak mudah untuk diterka. Dari segi matematika, jika sudau variabel dianggap bersifat acak, maka teori probabilitas dapat digunakan untuk memprediksi “ kelakuan” dari variabel tersebut, antara lain variabel akan memenuhi beberapa kreteria statistic. Metode statistika dapat digunakan, berdasarkan apa yang sudah terjadi, untuk menilai apakah variabel memenuhi kriteria statistik untuk variabel acak. Akan tetapi jika kriteria statistik terpenuhi, belum tentu variabel benar acak, karena sesuatu yang deterministik seperti pseudo-random number generator dapat memenuhi kriteria statistik untuk variabel acak. Jadi kriteria statistik bukan merupakan definisi untuk variabel acak.(Kromodimoeljo, 2010)

Sifat acak dapat dikaitkan dengan urutan event, dimaka event berikutnya dalam suatu urutan tidak mudah untuk diterka berdasarkan apa yang sudah lalu. Sifat

(11)

ini diperlukan dalam pembuatan kunci (key generator) supaya kunci dekripsi tidak mudah untuk diterka.

Sifat acak juga dikaitkan dengan tidak adanya korelasi(atau korelasi yang mendekati nol). Dalam kriptografi, tidak diinginkan adanya korelasi antara naskah asli dengan naskah acak atau kunci dengan naskah acak. Ini untuk mempersulit analisa seperti analisa frekuensi(frequency analysis)atau analisa lebih canggih sepertilinear cryptanalysis ataudifferential cryptanalysis.

Meskipun tidak sebenarnya acak, sesuatu yang pseudo-random berguna dan digunakan dalam kriptografi, tetapi harus dikombinasikan dengan sesuatu yang benar acak. Sebagai contoh, pseudo-random number generator dikombinasikan dengan sumber entropi yang benar acak sebagai seed, untuk mendapatkan sesuatu yang praktis bersifat random number generator.

2.7. Pembangkit Bilangan Acak Semu

Pembangkit Bilangan Acak-Semu atau yang biasa dikenal dengan singkatan PRNG (Pseudo-Random Number Generator) adalah sebuah algoritma untuk menghasilkan suatu urutan bilangan yang terlihat acak, namun sebenarnya urutan tersebut tidak benar-benar acak karena urutan tersebut ditentukan oleh suatu nilai awal. Urutan bilangan yang terlihat acak ini sangat penting karena bisa dimanfaatkan untuk suatu parameter bagi percobaan atau simulasi dan juga menjadi pusat pake praktik kriptografi.

Sebuah pembangkit bilangan acak-semu bisa dimulai dengan memberikan nilai umpan. Pembangkit bilangan acak-semu ini akan selalu memberikan urutan bilangan yang sama jika diberikan nilai umpan yang sama, dengan jumlah bilangan yang dihasilkan bergantung kepada besar nilai umpan yang diukur dengan satuan bit.

Keuntungan dari penggunaan pembangkit bilangan acak-semu ini adalah efisien, algoritma ini mampu menghasilkan banyak angka dalam waktu singkat, dan tertentu, urutan yang digunakan bisa dimunculkan kembali dengan mudah jika nilai awalnya diketahui. Efisien adalah karakteristik yang sangat baik jika aplikasi kita membutuhkan banyak angka. Tertentu juga akan berguna jika kita perlu mengulang suatu urutan bilangan.

(12)

Berikut ini beberapa contoh PRNG pembangkit bilangan acak semu : 1.Linear Congruential Generators (LCG)

2.Blum Blum Shub

3.Lagged Fibonacci generators

4.Linear feedback shift registers

5.Generalised feedback shift registers

6. Mersenne twister

7.Well Equidistributed Long-period Linear

2.8. Linier Congruential Generator(LCG)

Bilangan acak adalah bilangan yang tidak dapat diprediksi kemunculannya. Tidak ada komputasi yang benar-benar menghasilkan deret bilangan acak secara sempurna. Banyak algoritma atau metode yang dapat digunakan untuk membangkitkan bilangan acak salah satunya adalah pembangkit bilangan acak Linear Congruential Generators

(LCG). Linear Congruential Generators (LCG) adalah salah satu pembangkit bilangan acak tertua dan sangat terkenal. LCG adalah algoritma yang sering diimplementasikan pada beberapa bahasa pemrograman untuk membangkitkan bilangan acak. LCG didefinisikan dalam relasi rekurens :

Xn= (aXn-1+b) modm (2.4)

yang dalam hal ini,

Xn= bilangan acak ke-n dari deretnya

Xn- 1= bilangan acak sebelumnya

a= factor pengali

b= penambah (increment)

m= modulus

(13)

Kunci pembangkit adalah X0yang disebut seed (secret seed).Dalam hal inix0bersifat

rahasia .LCG mempunyai periode tidak lebih besar dari m, dan pada kebanyakan kasus periodenya kurang dari itu. kasus periodenya kurang dari itu. Periode penuh (m-1) kepunyaan LCG dapat terjadi jika memenuhi syarat sebagai berikut:

1. b relative prima terhadap m

2. a–1 dapat dibagi dengan semua faktor prima dari m 3. a–1 adalah kelipatan 4 jika m adalah kelipatan 4 4. m > maks (a, b, X0)

5. a > 0, b > 0

Meskipun LCG secara teoritis mampu menghasilkan bilangan acak yang lumayan, namun terhadap pemilihan nilai-nilai a, b, dan m sangatlah sensitive. Implementasi pada LCG dapat terpengaruhi jika pemilihan nilainya tidak sesuai.

2.9. Probabilistic Encryption

Probabilistic encryption adalah penggunaan keadaan acak pada sebuah algoritma kriptografi, sehingga ketika mengenkripsi pesan yang sama beberapa kali, secara umum akan menghasilkan cipher text yang berbeda. Bentuk probabilistic encryption

secara khusus digunakan pada algoritma kriptografi kunci public. Ide probabilistic encryptionpertama kali ditemukan oleh Shafi Gold Wasser dan Silvia Micali.

Inti dari metode probabilistic encryption adalah untuk meminimalisasi kebocoran informasi dengan kriptografi kunci public, karena metode ini menerapkan konsep acak dalam proses enkripsinya sehingga setiap kali proses enkripsi terhadap pesan yang sama akan menghasilkan nilai cipher text yang berbeda. Hal ini menyebabkan cryptanalyst tidak dapat menerka bentuk pesan dari ciphertext yang diperolehnya, karena setiap kali proses percobaan akan selalu menghasilkan yang berbeda-beda

2.10. Pembangkit Bilangan Prima

Sebagian besar algoritma kunci-publik menggunakan bilangan prima sebagai salah satu nilai parameternya. Bilangan prima yang disarankan berkuran besar sehingga penggunaan tipe data bilangan bulat yang besar mutlak diperlukan.

(14)

memori dan waktu.

Secara umum pembangkitan bilangan prima dapat dibagi menjadi dua, yaitu dengan membangkitkan bilangan prima dari bilangan prima terkecil dengan pengujian yang akan menghasilkan bilangan prima dengan persentase 100% atau dengan menguji bilangan acak dan kemudian menguji apakah bilangan tersebut termasuk bilangan prima.

2.11. One Time Pad

One Time Pad termasuk dalam kriptografi klasik yang berkunci simetris. One Time Pad disebut juga sebagai algoritma yang tidak terpecahkan atau juga diketahui sebagai

holy grail algorithm. (Horstmeyer, Judkewitz, Vellekoop, Assawawarrarit & Yamg, 2013).

Algoritma One Time Pad mempunyai cara kerja dimana penerima pesan mempunya salinan kunci yang sama dan kunci tersebut hanya dipakai satu kali (one time) untuk enkripsi dan dekripsi dan setelah digunakan maka pad (kertas

blocknot)harus segera dihancurkan agar tidak bisa dipakai lagi untuk enkripsi dan dekripsi pesan yang lain.Pengirim danpenerimaharus sama-samamemiliki satu set materi kunci yang besar dan juga acak, selamakombinasi dari semuapesan yang pernah dikirimkan. Jadi secara teori alasan OTP tidak dapat dipecahkan jika kuncinya secara sempurna diacak, dirahasiakan dan hanya dipakai sekali saja. (Nemati & Yang, 2011)

Pada algoritma OTP mempunyai panjang kunci yang sama dengan panjang

plaintext.Sehingga tidak ada kebutuhan untuk mengulang penggunaaan kunci selama proses enkripsi.

2.11.1. Sejarah One Time Pad

AlgoritmaOne Time Pad (OTP) pertama kali ditemukan oleh Frank Miller pada tahun 1882. Pada tahun 1882 Frank Miller pertama kali menggunakanOne Time Pad untuk mengamankan pesan telegrap.

One Time Pad berikutnya berupa sistem elektrik. Gilbert Vernam pada tahun 1917 yang dipatenkan pada tahun 1919 menemukan sebuah cipher yang berdasarkan teknologi teleprinter. Dimana setiap karakter dalam pesan dikombinasi secara elektrik dengan karakter yang menggunakan kunci pita kertas. Joseph Mauborgne yang

(15)

merupakan kapten dari U.S Army menyadari bahwa urutan pada karakter yang ada pada kunci pita dapat benar-benar diacak dan jika benar maka kriptanalis akan sulit dilakukan. Dengan begitu Joseph Mauborgne dan Gilbert Vernam bergabung dan menciptakan sebuah sistem baru yang diberi nama one time tape.

Perkembangan selanjutnya adalahpaper padsystem. Para diplomat telah lama menggunakan kode dan cipher untuk kerahasiaan dan untuk meminimalkan biaya telegraf. Untuk kode, kata-kata dan frase yang dikonversi ke kelompok nomor menggunakan codebook yang seperti kamus. Untuk keamanan, nomor rahasia dapat dikombinasikan dengan setiap grup kode sebelum ditransmisi dengan cara nomor rahasia berubah secara berkala. Di awal tahun 1920, Tiga orang ahli kriptografi yaitu Werner Kunze, Rudolf Schauffler and Erich Langlotz, yang terlibat dalam memecahkan sistem tersebut, menyadari bahwa mereka tidak akan pernah bisa merusaknya jika sejumlah nomor terpisah yang dipilih secara acak digunakan untuk setiap kelompok kode. Mereka membuat duplikasi pad yang dicetak dengan grup nomor yang acak. Dimana setiap halaman mempunyai nomor seri dan delapan garis. Setiap garis memiliki enam angka lima digit.Halaman akan digunakan sebagai lembar kerja untuk mengkodekan pesan dan kemudian dihancurkan. Nomor seri dari halaman tersebut akan dikirimkan bersamaan dengan pesan yang telah dikodekan. Penerima akan membalikkan prosedurnya dan menghancurkan salinan dari halaman yang dikirim. Kantor luar negeri Jerman menerapkan sistem ini pada tahun 1923.

Percobaan terakhir dilakukan oleh Claude Shannon pada tahun 1940 dia mengetahui dan mencoba membuktikan signifikasi dari teori pada sistem one time pad. Shannon mengirimkan hasilnya dalam bentuk laporan rahasia pada tahun 1945 dan mempublikasikannya ke masyarakat luar pada tahun 1949. Pada waktu yang bersamaan Vladimir Kotelnikovmembuktikan keamanan yang sempurna secara independen dari algoritma one time pad. Pada tahun 1941 hasil dari pembuktiannya dikirimkannya dalam bentuk yang tetap dirahasiakan. (Dooley, 2013)

2.11.2. Proses Kerja One Time Pad

Pada algoritma OTP mempunyai panjang kunci yang sama dengan panjang plaintext.

Sehingga tidak ada kebutuhan untuk mengulang penggunaaan kunci selama proses enkripsi.

(16)

Adapun aturan enkripsi dan dekripsi darione time pad adalah sebagai berikut: 1. EnkripsiCi=(Pi+ Ki)mod 26

2. Dekripsi Ci=(Pi–Ki) mod 26

Dimana Piadalahplaintextdan Kiadalah kunci.

Contoh :

Bila diketahui Plainteks : FASILKOM Dengan kunci : “ MFDAFGJF”

Jika kita asumsikan A = 0, B = 1, ….., Z = 25.

Dengan menggunakan rumus diatas maka diperolehlah ciphertext RFVIQQXR yang didapat dari perhitung sebagai berikut :

(F + M) mod 26 = (5 + 12) mod 26 = 17 = R (A + F) mod 26 = (0 + 5) mod 26 = 5 = F (S + D) mod 26 = (18 + 3) mod 26 = 21 = V (I + A) mod 26 = (8 + 0) mod 26 = 8 = I (L + F) mod 26 = (11 + 5) mod 26 = 16 = Q (K + G) mod 26 = (10 + 6) mod 26 = 16 = Q (O + J) mod 26 = (14 + 9) mod 26 = 23 = X (M + F) mod 26 = (12 + 5) mod 26 = 17 = R

Kemudian untuk mendekripsikannya lakukan lagi perhitungan diatas dengan menggunakan ci =(piki) mod 26 (R - M) mod 26 = (17 - 12) mod 26 = 5 = F (F - F) mod 26 = (5 - 5) mod 26 = 0= A (V - D) mod 26 = (21 - 3) mod 26 = 18 = S (I - A) mod 26 = (8 - 0) mod 26 = 8 = I (Q - F) mod 26 = (16 - 5) mod 26 = 11 = L (Q - G) mod 26 = (16 - 6) mod 26 = 10 = K (F - J) mod 26 = (23 - 9) mod 26 = 14 = O (R - F) mod 26 = (17 - 5) mod 26 = 14 = M

(17)

Skema OTP tidak dapat dipecahkan karena alasan sebagai berikut : (Ariyus, 2008) 1. Barisan kunci acak + teks asli yang tidak acak = teks kode yang seluruhnya acak. 2. Mendekripsi teks kode dengan berbagai kunci berbeda dapat menghasilkan plainteks yang beragam sehingga kripnatalis tidak punya cara untuk menemukan plainteks mana yang benar.

Meskipun OTP merupakan suatu algoritma yang sempurna dan aman, tetapi dalam praktik modern jarang digunakan karena disebabkan oleh panjang kunci = panjang pesan, sehingga timbul masalah dalam menjaga kerahasiaan kunci selama proses pendistribusian kunci (Stamp, 2011).

2.12. ElGamal

Algoritma ElGamal ditemukan pada tahun 1985 oleh ilmuwan Mesir yaitu Taher ElGamal. Algoritma ElGamal merupakan algoritma berdasarkan konsep kunci publik. Algoritma ini pada umumnya digunakan untuk digital signature, namun kemudian dimodifikasi sehingga bisa digunakan untuk enkripsi dan dekripsi. Algoritma kriptografi kunci publik ElGamal merupakan algoritma blok chipper yaitu algoritma yang melakukan proses enkripsi pada blok-blok plainteks yang kemudian menghasilkan blok-blok chipertext, yang nantinya blok-blok chipertext tersebut akan didekripsi kembali dan hasilnya kemudian digabungkan menjadi plainteks semula. Keamanan algoritma ElGamal terletak pada kesulitan perhitungan logaritma diskrit pada modulo prima yang besar, sehingga upaya untuk menyelesaikan masalah logaritma ini menjadi sulit untuk dipecahkan.Algoritma ini memiliki kelebihan yaitu 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. Kekurangan algoritma ini adalah membutuhkan resource yang baik dan processor yang mampu untuk melakukan komputasi yang besar. (Caroline, 2011)

Dari beberapa banyak algoritma kriptografi kunci-publik yang pernah dibuat, algoritma El-gamal juga termasuk algoritma yang populer. Algoritma ini melakukan pemfaktoran bilangan yang sangat besar. Oleh karena alasan tersebut El-gamal dianggap aman. Untuk membangkitkan dua kunci, dipilih dua bilangan prima acak yang besar. (Ariyus, 2008).

(18)

2.12.1. Prinsip kerja Algoritma Elgamal

2.12.1.1. Proses pembentukan kunci

Proses pertama adalah pembentukan kunci yang terdiri dari kunci private dan kunci public. Pada proses ini dibutuhkan sebuah bilangan prima p, bilangan acak g dan sembarang bilangan acak x. kunci publik algoritma Elgamal berupa pasangan 3 bilangan, yaitu (p, g, y), dengan y = gx mod p sedangkan kunci rahasianya adalah bilangan acak x. karena pada algoritma Elgamal menggunakan bilangan desimal dalam prosesnya maka plaintext terlebih dahulu dikonversi ke dalam suatu bilangan desimal.

Untuk mengubah plaintext,maka digunakan tabel ASCII (American Standard for Information Interchange). Tabel ASCII merupakan representasi numerik dari karakter-karakter yang digunakan pada komputer, serta memiliki nilai mulai dari 0 samapai dengan 255.

Algoritma pembangkitan kunci :

1. Pilih sembarang bilangan prima p besar dan bilangan acak dengan syarat g < p 2. Pilih bilangan bulat acak x, dengan syarat 1 ≤ x ≤ p –2.

3. Hitung y = gxmod p.

4. Publikasikan nilai (p, g, y), dan rahasiakan nilai (x).

2.12.1.2. Proses Enkripsi

Pada proses ini pesan dienkripsi menggunakan kunci publik (y, g, p) dan sembarang bilangan acak rahasia x ∈ { 1, 2, ….., p-2}. Misalkan m adalah pesan yang akan dikirim. Selanjutnya, m diubah ke dalam blok-blok karakter dan setiap karakter dikonversikan ke dalam kode ASCII, sehingga diperoleh plainteks m1, m2, …., mn

dengan mi∈{ 1, 2, …., p-1} , I = 1, 2, …, n. Proses emkripsi pada algoritma Elgamal

dilakukan dengan menghitung a= gk mod p dan b = yk.m mod p dengan k ∈{1, 2, ….., p-2} dimana nilai k digunakan saat melakukan enkripsi dan tidak perlu disimpan. Algoritma enkripsi pesan : (Caroline, 2011).

1. Susun plainteks menjadi blok-blok, m1, m2, …, mn sehingga setiap blok

mempresentasikan nilai di dalam rentang 0 sampai p – 1 (dengan mengubah nilai m menjadi kode ASCII).

(19)

3. Setiap blok m deienkripsi dengan rumusa = gkmod p dan b = yk.m mod p dimana pasangan a dan b adalah cipherteks untuk blok pesan m.

2.12.1.3. Proses Dekripsi

Setelah menerima cipherteks (a, b), proses selanjutnya adalah mendekripsi ciperteks menggunakan kunci publikpdan kunci rahasia x

Diberikan (p, g, y) sebagai kunci publik dan x sebagai kunci rahasia pada algoritma ElGamal. Jika diberikan cipherteks (a, b), maka untuk mendekripsi a dan b digunakan kunci rahasia x, dan plainteks m diperoleh kebali dengan persamaan : mi= bi. aip-1-xmod p

Alur dekripsi pesan : (Caroline, 2011). 1. Untuk I dari 1 sampai n :

Hitung mi= bi. aip-1-xmod p

2. Diperoleh plainteks m1, m2, …, mn.

3. Konversikan masing-masing bilangan m1, m2, …, mn ke dalam karakter sesuai

Gambar

Gambar 2.2 Proses Enkripsi dan Dekripsi pada algoritma simetris

Referensi

Dokumen terkait

Permasalahan pada penelitian ini adalah belum semua guru mampu menerapkan pendekatan atau model pembelajaran yang dapat membuat siswa aktif dan sekaligus

adalah suatu konsep peren&amp;anaan pelayanan terpadu yang merangkum setiap langkah yang di#erikan kepada pasien #erdasarkan standar pelayanan medis dan asuhan

Hasil dari penelitian ini, menunjukkan bahwa subjek belum mampu melakukan interaksi sosial dalam kelas inklusi, baik dengan guru maupun dengan temannya saat dalam kelas,

Suatu metode yang digunakan untuk mengumpulkan data, dimana data yang diambil berasal dari teori yang didapat dari buku – buku penunjang dengan jalan literatur – literatur yang

Bertolak dari pandangan tersebut, maka kompetensi gerak yang akan dibekalkan kepada anak-anak dalam pendidikan jasmani tidak semata-mata untuk mempersiapkan anak agar berkompeten

Menerima, mengolah dan memproses data yang dilengkapi dengan hasil laporan sebagai bahan untuk pemrosesan selanjutnya terkait organisasi dan ketatalaksanaan di lingkungan Universitas

Sesuai dengan kriteria diterima atau ditolaknya hipotesis maka dalam hal ini dapat disimpulkan bahwa menerima hipotesis yang diajukan terbukti atau dengan kata lain variabel

Dari hasil analisis dan perancangan yang telah dilakukan, telah berhasil dibuat suatu Sistem Informasi Penjualan Rokok Pada PR1. Syihab Aji Putra Berbasis