• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI 2.1 Kriptografi - Kombinasi Algoritma Rsa Dan Elgamal Dalam Implementasi Algoritma Kriptografi

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB 2 LANDASAN TEORI 2.1 Kriptografi - Kombinasi Algoritma Rsa Dan Elgamal Dalam Implementasi Algoritma Kriptografi"

Copied!
28
0
0

Teks penuh

(1)

LANDASAN TEORI

2.1Kriptografi

Kriptografi (cryptography) berasal dari Bahasa Yunani: “cryptós” artinya “secret

(rahasia), sedangkan “gráphein” artinya “writing” (tulisan). Jadi, kriptografi berarti

secret writing” (tulisan rahasia) (Munir, 2006).

Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta otentikasi data ( Menezes et all, 1996).

Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi (Kromodimoeljo, 2009).

Dalam kamus bahasa Inggris Oxford diberikan pengertian kriptografi sebagai berikut:

“Sebuah teknik rahasia dalam penulisan, dengan karakter khusus, dengan

menggunakan huruf dan karakter di luar bentuk aslinya, atau dengan metode-metode lain yang hanya dapat dipahami oleh pihak-pihak yang memproses kunci, juga semua

hal yang ditulis dengan cara seperti ini”.

2.1.1 Aspek Keamanan Informasi

(2)

a) Kerahasiaan ( Confidentiality )

Kerahasiaan layanan yang digunakan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak.

b) Integritas Data ( Data Integrity)

Integritas data adalah layanan yang menjamin bahwa pesan masih asli/utuh atau belum pernah dimanipulasi selama pengiriman.

c) Otentikasi ( Authentication )

Otentikasi adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication atau entity authentication). Dua pihak yang saling berkomunikasi harus dapat mengontentikasi satu sama lain sehingga dapat memastikan sumber pesan.

d) Nirpenyangkalan (non-repudiation)

Nirpenyangkalan (non-repudiation) adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman pesan atau penerima pesan menyangkal telah menerima pesan.

2.1.2 Terminologi Kriptografi

Terdapat beberapa terminologi atau istilah yang sering ditemukan dalam Kriptografi, beberapa diantaranya adalah (Munir, 2006) :

a) Pesan, Plainteks, dan Cipherteks

(3)

Agar pesan tersembunyi dari pihak lain, maka pesan disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks (ciphertext) atau kriptogram (cryptogram). Pesan dapat terbaca bila chiperteks dikembalikan lagi menjadi plainteks.

b) Pengirim dan Penerima

Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima (receiver) adalah entitas yang menerima pesan. Entitas di sini dapat berupa orang, mesin (komputer), kartu kredit, dan sebagainya. Jadi, orang bisa bertukar pesan dengan orang lainnya (contoh: Alice berkomunikasi dengan Bob), sedangkan di dalam jaringan komputer mesin (komputer) berkomunikasi dengan mesin (contoh: mesin ATM berkomunikasi dengan komputer server di bank). Pengirim tentu menginginkan pesan dapat dikirim secara aman, yang ia yakini bahwa pihak lain tidak dapat membaca isi pesan yang ia kirim. Solusinya adalah dengan cara menyandikan pesan menjadi cipherteks.

c) Enkripsi dan dekripsi

Proses menyandikan plainteks menjadi cipherteks disebut enkripsi (encryption) atau enciphering (standard nama menurut ISO 7498-2). Sedangkan proses mengembalikan cipherteks menjadi plainteks semula dinamakan dekripsi (decryption) atau deciphering (standard nama menurut ISO 7498-2). Enkripsi dan dekripsi dapat diterapkan baik pada pesan yang dikirim maupun pada pesan tersimpan. Istilah encryption of data in motion mengacu pada enkripsi pesan yang ditransmisikan melalui saluran komunikasi, sedangkan istilah enrypton of data at-rest mengacu pada enkripsi dokumen yang disimpan di dalam storage. Contoh encryption of data in motion adalah pengiriman nomor PIN dari mesin ATM ke komputer server di kantor bank pusat. Contoh encryption of data at-rest adalah enkripsi file basis data di dalam hard disk.

d) Algoritma Kriptografi dan kunci

(4)

Beberapa cipher memerlukan algoritma yang berbeda untuk enciphering dan deciphering. Kunci (key) adalah bagian dari fungsi matematika tersebut, yang memastikan hasil dekripsi pesan dapat mengembalikan pesan asal.

e) Sistem Kriptografi

Kriptografi membentuk sebuah sistem yang dinamakan sistem kriptografi. Sistem kriptografi (cryptosystem) adalah kumpulan yang terdiri dari algoritma kriptografi, semua plainteks dan cipherteks yang mungkin, dan kunci.

f) Penyadap

Penyadap (eavesdropper) adalah orang yang mencoba menangkap pesan selama ditransmisikan. Tujuan penyadap adalah untuk mendapatkan informasi sebanyak-banyaknya mengenai sistem kriptografi yang digunakan untuk berkomunikasi dengan maksud untuk memecahkan cipherteks. Nama lain penyadap: enemy, adversary, intruder, interceptor, bad guy.

g) Kriptanalisis dan kriptologi

(5)

Gambar 2.1 Kriptografi dan Kriptanalisis adalah cabang ilmu Kriptologi

2.1.3 Sejarah Kriptografi

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

KRIPTOLOGI

KRIPTOGRAFI

Ilmu dan seni untuk menjaga kemananan pesan

KRIPTANALISIS

(6)

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. Sedangkan 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 alfabet dengan karakter yang terletak pada tiga posisi berikutnya di dalam susunan alfabet.

Kriptografi juga digunakan untuk tujuan keamanan. Kalangan gereja pada masa awal agama Kristen menggunakan kriptografi untuk menjaga tulisan relijius dari gangguan otoritas politik atau budaya yang dominan saat itu. Mungkin yang sangat

terkenal adalah “Angka si Buruk Rupa (Number of the Beast)” di dalam Kitab

Perjanjian Baru. Angka “666” menyatakan cara kriptografik (yaitu dienkripsi) untuk menyembunyikan pesan berbahaya; para ahli percaya bahwa pesan tersebut mengacu pada Kerajaan Romawi.

Di India, kriptografi digunakan oleh pencinta (lovers) untuk berkomunikasi tanpa diketahui orang. Bukti ini ditemukan di dalam buku Kama Sutra yang merekomendasikan wanita seharusnya mempelajari seni memahami tulisan dengan cipher.

(7)

Gambar 2.2 Mesin Enigma

Seperti yang telah disebutkan di atas bahwa kriptografi umum digunakan di kalangan militer. Pada Perang Dunia ke II, Pemerintah Nazi Jerman membuat mesin enkripsi yang dinamakan Enigma. (Gambar 2.2). Mesin yang menggunakan beberapa buah rotor (roda berputar) ini melakukan enkripsi dengan cara yang sangat rumit. Namun Enigma cipher berhasil dipecahkan oleh pihak Sekutu dan keberhasilan memecahkan Enigma sering dikatakan sebagai faktor yang memperpendek perang dunia ke-2.

(8)

Cipher yang kompleks seperti DES (Data Encryption Standard) dan penemuan algoritma RSA adalah algoritma kriptografi modern yang paling dikenal di dalam sejarah kriptografi modern. Kriptografi modern tidak hanya berkaitan dengan teknik menjaga kerahasiaan pesan, tetapi juga melahirkan konsep seperti tanda-tangan digital dan sertifikat digital. Dengan kata lain, kriptografi modern tidak hanya memberikan aspek keamanan confidentiality, tetapi juga aspek keamanan lain seperti otentikasi, integritas data dan nirpenyangkalan

Sejarah kriptografi paralel dengan sejarah kriptanalisis (cryptanalysis) , yaitu

bidang ilmu dan seni untuk memecahkan cipherteks. Kata “kriptanalisis” sendiri

relatif masih baru (pertama kali diungkapkan oleh William Friedman pada tahun 1920), namun sebenarnya teknik kriptanalisis sudah ada sejak abad ke-9. Adalah seorang ilmuwan Arab pada Abad IX bernama Abu Yusuf Yaqub Ibnu Ishaq Ibnu As-Sabbah Ibnu 'Omran Ibnu Ismail Al- Kindi, atau yang lebih dikenal sebagai Al-Kindi yang menulis buku tentang seni memecahkan kode. Dalam buku yang berjudul

„Risalah fi Istikhraj al-Mu'amma‟ (Manuscript for the Deciphering Cryptographic Messages), ia menuliskan naskah untuk menguraikan kode-kode. Di dalam buku tersebut Al-Kindi memperkenalkan teknik penguraian kode atau atau sandi yang sulit dipecahkan. Ia juga mengklasifikasikan sandi rahasia itu serta menjelaskan ilmu fonetik Arab dan sintaksisnya.

(9)

Teknik analisis frekuensi masih digunakan di dalam kriptanalisis modern, tetapi karena cipher semakin rumit, maka pendekatan matematik masih tetap dominan dalam melakukan kriptanalisis. Perkembangan komputer pun ikut membantu kegiatan kriptanilisis. Sejarah kriptanalisis mencatat hasil gemilang seperti pemecahan Telegram Zimmermann yang membawa Amerika Serikat ke kancah Perang Dunia I, dan pemecahan cipherteks dari mesin Enigma ikut andil mengakhiri Perang Dunia II.

2.1.4 Masa Depan Kriptografi

Masa depan kriptografi akan dipengaruhi oleh perkembangan ilmu dan teknologi terkait. Ilmu dan teknologi yang perkembangannya akan sangat berpengaruh pada masa depan kriptografi termasuk (Kromodimoeljo, 2009):

a) Matematika

Tahun 1976, Martin Gardner menulis dalam Scientific American bahwa kunci RSA sebesar 129 digit akan aman untuk sekitar 40 quadrillion tahun. Kurang dari 20 tahun kemudian, tepatnya tahun 1994, kunci tersebut dapat diuraikan menggunakan metode quadratic sieve. Ini adalah contoh bagaimana terobosan di bidang matematika dan algoritma dapat mempengaruhi kriptografi secara signifikan. Dewasa ini metode number field sieve bahkan lebih efisien dibandingkan metode quadratic sieve dalam menguraikan bilangan yang sangat besar (lebih dari 100 digit).

(10)

Tabel 2.1 Perbandingan Kunci RSA dan ECDS/ECES

RSA ECDSA/ECES

1024 160

2048 224

3072 256

7680 384

15360 512

RSA menggunakan kunci 1024 bit kekuatannya ekuivalen dengan kriptografi versi elliptic curve (ECDSA/ECES) menggunakan kunci 160 bit. RSA menggunakan kunci 15360 bit kekuatannya ekuivalen dengan ECDSA/ECES menggunakan kunci 512 bit. Dimana kunci RSA besarnya naik menjadi 15 kali lipat,untuk ECDSA/ECES kunci hanya diperlukan naik menjadi sekitar 3 kali lipat. Ini jelas menunjukkan keunggulan kriptografi kunci publik versi elliptic curve.

Perkembangan dimasa depan dalam matematika dan algoritma, terutama dalam:

a. penguraian bilangan bulat, b. komputasi logaritma diskrit, dan c. aljabar abstrak;

akan terus mempengaruhi kriptografi.

b) Hardware

DES sudah tidak digunakan lagi bukan karena algoritmanya lemah, melainkan besar kunci terlalu kecil. Saat ini kunci sebesar 56 bit dapat dicari secara brute force menggunakan hardware kini, dalam waktu yang tidak terlalu lama, dengan ongkos yang relatif murah.

(11)

masa depan tidak akan hanya berfokus pada peningkatan clock speed, namun juga pada peningkatan parallelism. Peningkatan parallelism akan terjadi di berbagai bagian, mulai dari bagian terkecil processor yang dapat dibuat parallel, sampai dengan multi-processor yang mempunyai interkoneksi dengan bandwidth yang sangat tinggi. Jenis parallelism juga akan ada yang bersifat simetris dan akan ada yang bersifat asimetris misalnya menggunakan co-processor. Tentunya peningkatan parallelism di hardware juga akan diiringi dengan peningkatan penggunaan parallelism di software, baik yang secara otomatis dilakukan oleh compiler, maupun yang dilakukan secara manual oleh programmer misalnya menggunakan threads.

Tentunya jika quantum computing menjadi realitas, jenis kriptografi yang dapat digunakan secara efektif akan berbeda dari yang digunakan sekarang.

c) Quantum Computing.

Sekitar tahun 1982, Richard Feynman sedang mencoba melakukan simulasi interaksi beberapa partikel dalam fisika kuantum. Yang ia temukan adalah, jika menggunakan cara komputasi klasik (ekuivalen dengan penggunaan Turing machine), maka secara umum simulasi memerlukan sumber daya yang bersifat eksponensial. Untuk interaksi n partikel, simulasi menggunakan komputasi klasik membutuhkan sumber daya yang eksponensial dalam n, sedangkan alam dapat melakukannya hanya menggunakan n partikel dalam real time. Ini mengindikasikan bahwa komputasi klasik bukanlah cara paling efisien untuk melakukan komputasi, dan menjadi inspirasi untuk konsep quantum computing (komputasi kuantum). Ada komputasi yang mempunyai kompleksitas eksponensial dalam komputasi klasik tetapi mempunyai kompleksitas linear dalam komputasi kuantum. Persoalannya adalah bagaimana ini dapat dimanfaatkan.

Ada dua konsep fisika kuantum yang menjadi dasar dari komputasi kuantum:

(12)

2.2Algoritma Kriptografi

Berdasarkan kunci yang digunakan untuk enkripsi dan dekripsi, kriptografi dapat dibedakan menjadi 2 (dua) jenis yaitu kriptografi kunci-simetri (symmetric-key cryptography) dan kriptografi kunci-asimetris (asymmetric-key cryptography) (Munir,2006)(Menezes,1996).

2.2.1 Kriptografi Kunci Simetris (symmetric key cryptography)

Algoritma simetris adalah algoritma kriptografi yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya. Istilah lain untuk kriptografi kunci-simetris adalah kriptografi kunci privat (private-key cryptography), kriptografi kunci rahasia (secret-key cryptography), atau kriptografi konvensional (conventional cryptography). Sistem kriptografi kunci-simetris (atau disingkat menjadi “kriptografi simetris” saja), mengasumsikan pengirim dan penerima pesan sudah berbagi kunci yang sama sebelum bertukar pesan. Keamanan sistem kriptografi simetris terletak pada kerahasiaan kuncinya.

Kriptografi simetris merupakan satu-satunya jenis kriptografi yang dikenal dalam catatan sejarah hingga tahun 1976. Semua algoritma kriptografi klasik termasuk ke dalam sistem kriptografi simetris.

(13)

Skema yang digunakan dalam algoritma simetris adalah (Munir,2006):

Gambar 2.3 Skema Kriptogtrafi Simetris

2.2.2 Kriptografi kunci asimetris (asymmetric key cryptography)

Jika kunci untuk enkripsi tidak sama dengan kunci untuk dekripsi, maka kriptografinya dinamakan sistem kriptografi asimetris (Munir, 2006). Nama lainnya adalah kriptografi kunci-publik (public-key cryptography), sebab kunci untuk enkripsi tidak rahasia dan dapat diketahui oleh siapapun (diumumkan ke publik), sementara kunci untuk dekripsi hanya diketahui oleh penerima pesan (karena itu rahasia). Pada kriptografi jenis ini, setiap orang yang berkomunikasi mempunyai sepasang kunci, yaitu kunci privat dan kunci publik. Pengirim mengenkripsi pesan dengan menggunakan kunci publik si penerima pesan (receiver).

Hanya penerima pesan yang dapat mendekripsi pesan karena hanya ia yang mengetahui kunci privatnya sendiri (Gambar 2.4). Contoh algoritma kriptografi kunci-publik diantaranya RSA, Elgamal, DSA, dan sebagainya.

(14)

Algoritma asimetris pertama kali dipublikasikan oleh Diffie dan Hellman pada

tahun 1976 dalam papernya yang berjudul “New Directions in Cryptography”. Menurut Diffie dan Hellman, ada beberapa syarat yang perlu diperhatikan pada algoritma asimetris, yaitu:

a) Penerima B membuat pasangan kunci, yaitu kunci publik kpB dan kunci rahasia krB.

b) Pengirim A dengan kunci publik B dan pesan x, pesan dienkripsi dan diperoleh cipherteks 𝑐= 𝐸𝑘𝑝𝐵(𝑥)

c) Penerima B untuk mendekripsi cipherteks menggunakan kunci privat B untuk

mendapatkan kembali pesan aslinya 𝑑𝑘𝑟𝐵 𝑑𝑘𝑟𝐵 𝑥 𝑑𝑘𝑟𝐵 𝑐 =𝑥

d) Dengan mengetahui kunci publik kpB , bagi penyerang akan kesulitan dalam melakukan untuk mendapatkan kunci rahasia.

e) Dengan mengetahui kunci publik kpB dan cipherteks c, bagi penyerang akan mengalami kesulitan untuk mengetahui pesan x.

Keuntungan sistem ini ada dua. Pertama, tidak ada kebutuhan untuk mendistribusikan kunci privat sebagaimana pada sistem kriptografi simetris. Kunci publik dapat dikirim ke penerima melalui saluran yang sama dengan saluran yang digunakan untuk mengirim pesan. Saluran untuk mengirim pesan umumnya tidak aman.

(15)

Meski berusia relatif muda (sejak 1976), kriptografi kunci-publik mempunyai kontribusi yang luar biasa dibandingkan dengan sistem kriptografi simetris. Kontribusi yang paling penting adalah tanda-tangan digital pada pesan untuk memberikan aspek keamanan otentikasi, integritas data, dan nirpenyangkalan. Tanda-tangan digital adalah nilai kriptografis yang bergantung pada isi pesan dan kunci yang digunakan. Pengirim pesan mengenkripsi pesan (yang sudah diringkas) dengan kunci privatnya, hasil enkripsi inilah yang dinamakan tanda-tangan digital. Tanda-tangan digital dilekatkan (embed) pada pesan asli. Penerima pesan memverifikasi tanda-tangan digital dengan menggunakan kunci publik.

Contoh penggunaan, misalkan jaringan komputer menghubungkan komputer karyawan di kantor cabang dengan komputer manejer di kantor pusat. Seluruh kepala cabang diberitahu bahwa kalau mereka mengirim laporan ke manejer di kantor pusat, mereka harus mengenkripsi laporan tersebut dengan kunci publik manejer (kunci publik menejer diumumkan kepada seluruh kepala cabang). Untuk mengembalikan laporan tersandi ke laporan semula, hanya manejer yang dapat melakukan dekripsi, karena hanya dialah yang memegang kunci privat. Selama proses transmisi cipeherteks dari kantor cabang ke kantor pusat melalui saluran komunikasi mungkin saja data yang dikirim disadap oleh pihak ketiga, namun pihak ketiga ini tidak dapat mengembalikan cipherteks ke plainteksnya karena ia tidak mengetahui kunci untuk dekripsi.

2.3Algoritma Rivest Samir Adleman (RSA)

Tahun 1978, Len Adleman, Ron Rivest dan Adi Shamir yang merupakan peneliti MIT (Massachussets Institute of Technology), mempublikasikan sistem RSA. Semula sistem ini dipatenkan di Amerika Serikat dan seharusnya masa paten habis tahun 2003, akan tetapi RSA Security melepaskan hak paten setelah 20 September 2000.

(16)

dengan fungsi NSA di Amerika Serikat), jadi validitas paten patut dipertanyakan karena adanya prior art.

Algoritma RSA memiliki besaran-besaran sebagai berikut: 1. p dan q bilangan prima (rahasia)

2. n = p . q (tidak rahasia) 3. φ(n) = (p - 1) (q - 1) (rahasia) 4. e = kunci enkripsi (tidak rahasia) 5. d = kunci dekripsi (rahasia) 6. m = plainteks (rahasia) 7. c = cipherteks (tidak rahasia)

2.3.1 Proses pembangkitan kunci Algortima RSA

Dalam membuat suatu sandi, RSA mempunyai cara kerja dalam membuat kunci publik dan kunci privat adalah sebagai berikut:

1. Pilih dua bilangan prima sembarang, p dan q.

2. Hitung n = p . q (sebaiknya p ≠ q, sebab jika p = q maka n = p2 sehingga p dapat diperoleh dengan menarik akar pangkat dua dari n).

3. Hitung φ(n) = (p - 1) (q - 1).

4. Pilih kunci publik e, yang relatif prima terhadap φ(n).

5. Bangkitkan kunci privat d dengan menggunakan persamaan e.d ≡ 1 mod φ(n). Perhatikan bahwa e . d ≡ 1 (mod φ(n)).

Hitung d hingga d.e ≡ 1 (mod φ(n)) ekivalen dengan e . d = 1 + k φ(n), sehingga secara sederhana d dapat dihitung dengan

𝒅=𝟏+𝒌𝛗(𝒏) 𝒆

Hasil dari algoritma di atas:

(17)

Algoritma RSA didasarkan pada teorema Euler yang menyatakan bahwa nilai aφ(n) ≡ 1 (mod n) yang dalam hal ini:

1. a harus relatif prima terhadap n atau gcd(a,n) = 1.

2. φ(n) = n(1-1/p1)(1-1/p2) … (1-1/pn), yang dalam hal ini p1, p2, …, pn adalah faktor

prima dari n. φ(n) adalah fungsi yang menentukan berapa banyak bilangan 1, 2, 3,

…, n yang relatif prima terhadap n.

2.3.2 Proses Enkripsi Algoritma RSA

Proses enkripsi pesan sebagai berikut:

1. Ambil kunci publik penerima pesan e, dan n.

2. Nyatakan plainteks m menjadi blok-blok m0, m1, ..., mn-1 sedemikian sehingga

setiap blok merepresentasikan nilai di dalam selang [0, n - 1]. 3. Setiap bok mi dienkripsi menjadi blok ci dengan rumus :

𝒄𝒊 =𝒎𝒊𝒆𝒎𝒐𝒅𝒏

2.3.3 Proses Dekripsi Algoritma RSA

Pada proses dekripsi pesan, dilakukan langkah sebagai berikut:

1. setiap blok chiperteks ci didekripsikan kembali menjadi blok mi dengan rumus

𝒎𝒊=𝒄𝒊𝒅𝒎𝒐𝒅𝒏

2. menggabungkan kembali blok-blok m1, m2, ..., mn-1 menjadi plainteks m.

2.3.4 Flowchart Algoritma RSA

(18)

Algoritma Rivest Samir Adleman

Keamanan dari sistem kriptografi RSA adalah didasari problem teori bilangan matematika yaitu Problem dalam faktorisasi bilangan besar menjadi faktor-faktor prima. Proses dekripsi penuh dari sebuah ciphertext RSA dianggap sesuatu hal yang tidak mudah karena problem ini diasumsikan sulit. Belum ada algoritma yang mangkus untuk menyelesaikannya.

(19)

2.4Algoritma ElGamal

Algoritma Elgamal 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.

Sistem kriptografi ElGamal menjadi populer ketika pengembang open source software untuk kriptografi mencari alternatif dari RSA yang ketika itu patennya masih berlaku. Seperti halnya dengan Diffie-Hellman dan DSA, keamanan ElGamal didasarkan atas sukarnya mengkomputasi logaritma diskrit. Akan tetapi berbeda dengan Diffe-Hellman yang khusus dirancang untuk key agreement dan DSA yang khusus dirancang untuk digital signature, ElGamal lebih seperti RSA karena fungsinya untuk enkripsi umum.

Besaran-besaran yang digunakan pada algoritma ElGamal adalah: 1. p bilangan prima (tidak rahasia) 2. g ( g < p), bilangan acak (tidak rahasia) 3. y (kunci enkripsi) (tidak rahasia) 4. x (x < p), bil. Acak (kunci dekripsi) (rahasia)

5. m (plainteks) (rahasia)

6. a dan b (cipherteks) (tidak rahasia)

2.4.1 Proses Pembangkitan Kunci Algoritma ElGamal

Proses pembangkitan kunci pada algoritma elGamal dilakukan dengan langkah sebagai berikut :

1. Pilih sembarang bilangan prima p.

2. Pilih dua buah bilangan acak, g dan x, dengan syarat g < p dan x < p. 3. Hitung y = gx mod p.

(20)

2.4.2 Proses Enkripsi Algoritma ElGamal

Langkah-langkah dalam proses enkripsi algoritma ElGamal adalah :

1. Plainteks m disusun menjadi blok-blok m1, m2, …, mp-1 sedemikian sehingga setiap blok merepresentasikan nilai di dalam rentang 0 sampai p – 1.

2. Pilih bilangan acak k, yang dalam hal ini 0 ≤ k ≤ p – 1, sedemikian sehingga k relatif prima dengan p – 1.

3. Setiap blok mi dienkripsi dengan rumus

𝒂𝒊= 𝒈𝒌𝐦𝐨𝐝𝒑 𝒃𝒊 =𝒚𝒌𝒎𝒊 𝐦𝐨𝐝𝒑

Pasangan a dan b adalah cipherteks untuk blok pesan m. Jadi, ukuran cipherteks dua kali ukuran plainteksnya.

2.4.3 Proses Dekripsi Algoritma ElGamal

Untuk mendekripsi a dan b digunakan kunci rahasia d, dan plainteks m diperoleh kembali dengan persamaan

𝒎 = 𝒃𝒊

𝒂𝒊𝒙𝐦𝐨𝐝𝒑 Catatlah bahwa karena :

𝒂𝒙 𝒈𝒙𝒌 𝐦𝐨𝐝𝒑 maka,

𝒃 𝒂𝒅 ≡

𝒆𝒌𝒎 𝒂𝒅 ≡

𝒈𝒅𝒌𝒎

𝒈𝒅𝒌 ≡ 𝒎 (𝒎𝒐𝒅𝒑)

(21)

2.4.4 Flowchart Algoritma ElGamal

Kekuatan algoritma ini berbasis pada salah satu permasalahan teori bilangan yaitu logaritma diskrit. Masalah logaritma diskrit yang dimaksud adalah jika p adalah bilangan prima dan g dan y adalah sembarangan bilangan bulat, maka carilah x sedemikian sehingga :

𝒈𝒙 𝒚 (𝒎𝒐𝒅𝒑)

(22)

2.5Konsep Dasar Perhitungan Matematis

Dalam mempelajari sebuah algoritma kriptografi, sebaiknya kita memahami terlebih dahulu konsep-konsep dasar perhitungan matematis yang akan digunakan dalam suatu algoritma kriptografi tersebut.

2.5.1 Aritmatika Modular

Aritmatika modular sering dicontohkan sebagai pemahaman aritmatika jam. Misalkan dalam operasi a mod m berarti menghasilkan sisa jika a dibagi dengan m. Bilangan m disebut modulus atau modulo, dan hasil arimetika modulo m terletak di dalam himpunan {0, 1, 2, …, n-1} sehingga dapat dinotasikan 𝑚 𝑚𝑜𝑑 𝑛=𝑟 sedemikian sehingga:

m = n * q + r, 0 ≤ r < n

2.5.2 Teori Modulo Fast Eksponensial

Modulo fast eksponensial adalah pemangkatan yang dilakukan bersamaan dengan operasi modulo. Modulo eksponensial sering digunakan dalam bidang kriptografi untuk menghitung hasil enkripsi maupun hasil dekripsi. Adapun yang dihitung dalam dalam modulo Fast eksponensial adalah sisa dimana bila sebuah bilangan x dipangkatkan y, kemudian dibagi dengan n, dengan bentuk umum xy mod n.

Dalam proses enkripsi dan dekripsi, biasanya digunakan y ataupun pangkat yang cukup besar, sehingga apabila kita menghitung secara langsung xy dapat menyebabkan xy cukup besar hingga tidak bisa disimpan dalam variable yang ada dalam bahasa pemograman.

(23)

Contoh :

Hitung hasil dari 430 mod 10

Bila pangkatnya genap, maka pangkatnya dibagi 2, jika pangkatnya ganjil, maka pangkat dikurangi 1, sampai dengan pangkatnya menjadi 1.

430

Karena pangkat terbawah sudah 1 maka dihitung kembali ke atas sambil dimodulo 10, maka dilakukan perhitungan dari bawah ke atas, seperti yang bisa dilihat berikut ini :

430  = (415x415 = 4 x 4 = 16 mod 10 = 6), jadi 430 = 6

(24)

ada dua buah bilangan bulat tak negatif yakni m dan n dimana nilai m n. Adapun tahap-tahap pada algoritma Euclidean adalah:

1. Jika n = 0 maka m adalah PBB (m, n); stop.

Kalau tidak (yaitu n ≠ 0) lanjutkan ke langkah nomor 2. 2. Bagilah m dengan n dan misalkan sisanya adalah r.

3. Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali ke langkah nomor 1.

Algoritma Euclidean dapat digunakan untuk mencari dua buah bilangan bulat yang relatif prima.

Contoh :

Tentukan gcd (108, 360) Tentukan gcd (45, 13)

360 mod 108 = 36 45 mod 13 = 6

108 mod 36 = 0 (STOP) 13 mod 6 = 1

Jadi gcd (108, 360) = 36 6 mod 1 = 0 (STOP)

Jadi gcd (45, 13) = 1

2.5.4 Modulo Invers

Modulo Invers untuk menghitung balikan dari modulo. Jika a dan m relatif prima dan m > 1, maka kita dapat menemukan balikan (invers) dari a modulo m. Balikan dari a modulo m adalah bilangan bulat 𝑎 sedemikian sehingga

a𝑎 ≡ 1 (mod m) a

Bukti:

(25)

pa + qm = 1

yang mengimplikasikan bahwa

pa + qm ≡ 1 (mod m)

karena qm ≡ 0 (mod m), maka

pa ≡ 1 (mod m)

Kekongruenan yang terakhir ini berarti bahwa p adalah balikan dari a modulo m.

Pembuktian di atas juga menceritakan bahwa untuk mencari balikan dari a modulo m, kita harus membuat kombinasi lanjar dari a dan m sama dengan 1. Koefisien a dari kombinasi lanjar tersebut merupakan balikan dari a modulo m.

Contoh :

Tentukan balikan dari 4 (mod 9).

Karena PBB(4, 9) = 1, maka balikan dari 4 (mod 9) ada. Dari algoritma Euclidean diperoleh bahwa :

9 = 2 .4 + 1

Susun persamaan di atas menjadi

–2 . 4 + 1 . 9 = 1

Dari persamaan terakhir ini kita peroleh –2 adalah balikan dari 4 modulo 9. Periksalah bahwa:

(26)

2.5.5 Bilangan Prima

Sebuah bilangan prima adalah bilangan bulat yang besar dari 1 yang hanya mempunyai faktor 1 dan bilangan itu sendiri. Tidak ada bilangan pembagi lainnya. 2 (dua) adalah bilangan prima (Schneier, 1996).

Contoh :

73, 2521, 2365347734339, dan 2756839 - 1.

Kriptografi, khususnya kunci publik biasanya menggunakan bilangan prima yang besar (512 bits atau lebih besar). Bilangan selain bilangan bilangan prima disebut bilangan komposit. Misalnya, 20 adalah bilangan komposit karena 20 dapat dibagi oleh 2, 4, 5, 10, selain 1 dan 20 sendiri.

2.5.6 Bilangan Relatif Prima

Dua buah bilangan bulat a dan b dikatakan relatif prima jika PBB atau gcd (greatest common divisor) dari a dan b bernilai 1.

Contoh :

20 dan 3 relatif prima sebab PBB (20, 3) = 1. Begitu juga 7 dan 11 relatif prima

karena PBB (7, 11) = 1. Tetapi 20 dan 5 tidak relatif prima sebab PBB (20, 5) = 5 ≠ 1.

Jika a dan b relatif prima, maka terdapat bilangan bulat m dan n sedemikian sehingga ma + nb = 1

Contoh :

Bilangan 20 dan 3 adalah relatif prima karena PBB (20, 3) =1, atau dapat ditulis 2 . 20 + (–13) . 3 = 1

dengan

(27)

Tetapi 20 dan 5 tidak relatif prima karena PBB (20, 5) = 5 ≠ 1 sehingga 20 dan 5 tidak dapat dinyatakan dalam m . 20 + n . 5 = 1.

2.5.7 Kekongruenan (Congruence)

Misalkan a dan b adalah bilangan bulat dan m adalah bilangan bulat > 0, maka a ≡ b (mod m) jika m habis membagi a – b ditulis (m|a − b). Jika a tidak kongruen dengan b dalam modulus m, maka di tulis a ≡/ b (mod m) (Oppliger, 2005).

Contoh :

17 ≡ 2 (mod 3) (3 habis membagi 17 - 2 = 15) -7 ≡ 15 (mod 11) (11 habis membagi -7 - 15= -22)

12 ≡ / 2 (mod 7) (7 tidak habis membagi 12-2 = 10)

Kekongruenan a ≡ b (mod m) dapat juga di tuliskan hubungan

a = b + km

yang dalam hal ini k adalah bilangan bulat. Berdasarkan definisi aritmetika modulo, dapat dituliskan a ≡ b mod m.

Contoh :

17 ≡ 2 (mod 3), dapat ditulis sebagai 17 = 2 + 5 . 3

-7 ≡ 15 (mod 11), dapat ditulis sebagai -7 = 15 + (-2) .11.

Persamaan kongruen modulo n merupakan relasi ekuivalensi pada bilangan bulat. Hal ini berarti untuk setiap n ∈ N dan a, b, c ∈ Z

1. a ≡ a (mod n) (relasi refleksif);

2. Jika a ≡ b (mod n), maka b ≡ a (mod n) (relasi simetriss);

(28)

2.5.8 Elemen Primitif

Suatu elemen yang membangun Zp* disebut elemen primitif (primitive root) mod p (Buchmann, 2000).

Contoh :

Diberikan p = 13. Karena 13 adalah bilangan prima, maka diperoleh φ(13) =12 -1 =12. Kemudian dihitung order dari masing-masing elemen Z13*. Dari sini diperoleh

empat elemen yang mempunyai order 12 dan sama dengan order dari Z13*, yaitu 12.

Oleh karena elemen yang mempunyai order 12 adalah pembangun, maka elemen tersebut adalah elemen primitif. Empat elemen tersebut adalah 2, 6, 7 dan 11. Dengan demikian, elemen primitif 13 ℤ * adalah 2, 6, 7 dan 11.

Misalkan p = 2579 yang merupakan bilangan prima aman. Oleh karena itu, dapat ditentukan bilangan prima 𝑞= 2579−1

2 = 1289. Untuk menunjukkan bahwa suatu

bilangan bulat amerupakan elemen primitif Z2579*, harus ditunjukkan bahwa 𝑎2𝑚𝑜𝑑 2579 1 dan 𝑎1289𝑚𝑜𝑑 2579 1. Berikut diberikan tabel perhitungan

untuk beberapa nilai ayang diberikan.

Tabel 2.2. Perhitungan 𝒂𝟐𝒎𝒐𝒅𝟐𝟓𝟕𝟗 dan 𝒂𝟏𝟐𝟖𝟗𝒎𝒐𝒅𝟐𝟓𝟕𝟗

Gambar

Gambar 2.1 Kriptografi dan Kriptanalisis adalah cabang ilmu Kriptologi
Gambar 2.2 Mesin Enigma
Tabel 2.1 Perbandingan Kunci RSA dan ECDS/ECES
Gambar 2.3  Skema Kriptogtrafi Simetris
+4

Referensi

Dokumen terkait

Tujuan dari paper ini adalah untuk memperlihatkan bagaimana pemimpin NU, Abdurrahman Wahid (selanjutnya ditulis Gus Dur), menggunakan wacana dialog antaragama sebagai: pertama

The incorporation of Epoxidized Natural Rubber also enhanced the rubber-filler interaction and tensile properties of the silica-filled Styrene Butadiene. Rubber

3 Tahun adalah kesatuan masyarakat hukum adat di Provinsi Bali yang mempunyai satu kesatuan tradisi dan tata krama pergaulan hidup masyarakat umat Hindu secara turun-temurun

Berdasarkan spektra percepatan puncak di batuan dasar hasil PSHA untuk setiap probabitas terlampaui dan periode spektral, selanjutnya dilakukan analisa deagregasi

Dalam praktik jual beli roti rijekan yang ada di Pasar kebakkramat peneliti dapat menarik kesimpulan bahwa, faktor yang mempengaruhi maraknya jual beli roti rijekan di

Further, the Sinarmas Group, and/or its officers, directors and employees, including persons, without limitation, involved in the preparation or is suance of this material may, to

Judul Skripsi : “ Pengaruh Kerja Sama Tim, Motivasi dan Komunikasi terhadap Kinerja Pegawai pada Puskesmas Desa Lampur ”.. Pembimbing Utama

Kata kunci : Ikan keli lokal, induksi, hormon GnRH analog + antidopamin, gonad, IKG,