BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

BAB III PENGERTIAN DAN SEJARAH SINGKAT KRIPTOGRAFI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

Bab 2: Kriptografi. Landasan Matematika. Fungsi

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB 2 LANDASAN TEORI. Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi.

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman)

BAB II TINJAUAN PUSTAKA

BAB 3 KRIPTOGRAFI RSA

Pengantar Kriptografi

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

BAB 2 LANDASAN TEORI Keamanan Informasi

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

BAB 2 TINJAUAN PUSTAKA

Pengantar Kriptografi

BAB II LANDASAN TEORI

Pengenalan Kriptografi

Algoritma RSA dan ElGamal

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

BAB II LANDASAN TEORI

Pengantar Kriptografi

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

BAB II TINJAUAN PUSTAKA

BAB Kriptografi

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014)

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II LANDASAN TEORI

Perhitungan dan Implementasi Algoritma RSA pada PHP

BAB II LANDASAN TEORI

Penerapan Matriks dalam Kriptografi Hill Cipher

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

BAB II TINJAUAN PUSTAKA

BAB II DASAR TEORI. membahas tentang penerapan skema tanda tangan Schnorr pada pembuatan tanda

BAB III ANALISIS DAN PERANCANGAN

BAB II TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

Modifikasi Algoritma RSA dengan Chinese Reamainder Theorem dan Hensel Lifting

APLIKASI ENKRIPSI DATA PADA FILE TEKS DENGAN ALGORITMA RSA (RIVEST SHAMIR ADLEMAN)

RSA (Rivest, Shamir, Adleman) Encryption

BAB 2 LANDASAN TEORI

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

Aplikasi Perkalian dan Invers Matriks dalam Kriptografi Hill Cipher

BAB 2 TINJAUAN PUSTAKA

Penerapan algoritma RSA dan Rabin dalam Digital Signature

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik

BAB 2 LANDASAN TEORI. 2.1 Pengertian Kriptografi

Perbandingan Algoritma RSA dan Rabin

Public Key Cryptography

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya

Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

RUANG LINGKUP KRIPTOGRAFI UNTUK MENGAMANKAN DATA Oleh: Budi Hartono

Tanda Tangan Digital Majemuk dengan Kunci Publik Tunggal dengan Algoritma RSA dan El Gamal

Perancangan Aplikasi Pembelajaran Kriptografi Kunci Publik ElGamal Untuk Mahasiswa

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

(pencurian, penyadapan) data. Pengamanan data dapat dilakukan dengan dua cara, yaitu steganography dan cryptography.

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

Mengenal Kriptografi:

Kriptografi Dan Algoritma RSA

MODUL PERKULIAHAN EDISI 1 MATEMATIKA DISKRIT

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

ALGORITMA DAN BILANGAN BULAT

+ Basic Cryptography

PERANCANGAN SIMULASI MAN IN THE MIDDLE ATTACK PADA ALGORITMA KRIPTOGRAFI RSA DAN PENCEGAHANNYA DENGAN INTERLOCK PROTOCOL NASKAH PUBLIKASI

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

BAB 2 LANDASAN TEORI Interaksi Manusia dan Komputer. interaktif untuk digunakan oleh manusia. Golden Rules of Interaction Design, yaitu:

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK

Penerapan Algoritma Modulo dan Bilangan Prima dalam Algoritma Kriptografi Rivest-Shamir-Adleman (RSA)

BAB II TINJAUAN PUSTAKA

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

KRIPTOGRAFI SISTEM KEAMANAN KOMPUTER

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

BAB I PENDAHULUAN. mempunyai makna. Dalam kriptografi dikenal dua penyandian, yakni enkripsi

Rusmala 1, Islamiyah 2

KRIPTOGRAFI MATERI KE-2

Cryptography. Abdul Aziz

BAB 2 LANDASAN TEORI

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom

BAB 2 LANDASAN TEORI

Teknik-Teknik Kriptanalisis Pada RSA

Transkripsi:

BAB 2 LANDASAN TEORI 2.1 Kriptografi 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 Ada empat tujuan mendasar dari kriptografi yang juga merupakan aspek keamanan informasi, yaitu sebagai berikut (Menezes,1996) :

7 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 Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks (plaintext) atau teks-jelas (cleartext). Pesan dapat berupa data atau informasi yang dikirim (melalui kurir, saluran telekomunikasi, dsb) atau yang disimpan di dalam media perekaman (kertas, storage, dsb). Pesan yang tersimpan tidak hanya berupa teks, tetapi juga dapat berbentuk citra (image), suara/bunyi (audio), dan video, atau berkas biner lainnya.

8 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 atrest 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 Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchipering dan dechipering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi.

9 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 sebanyakbanyaknya 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 Kriptografi berkembang sedemikian rupa sehingga melahirkan bidang yang berlawanan yaitu kriptanalisis. Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan chiperteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalis. Jika seorang kriptografer (cryptographer) mentransformasikan plainteks menjadi cipherteks dengan suatu algoritma dan kunci maka sebaliknya seorang kriptanalis berusaha untuk memecahkan cipherteks tersebut untuk menemukan plainteks atau kunci. Kriptologi (cryptology) adalah studi mengenai kriptografi dan kriptanalisis. Baik kriptografi maupun kriptanalisis keduanya saling berkaitan. Gambar 2.1 memperlihatkan pohon kriptologi.

10 KRIPTOLOGI KRIPTOGRAFI Ilmu dan seni untuk menjaga kemananan pesan KRIPTANALISIS Ilmu untuk memecahkan chipertext 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

11 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. Pada Abad ke-17, sejarah kriptografi mencatat korban ketika ratu Skotlandia, Queen Mary, dipancung setelah surat rahasianya dari balik penjara (surat terenkripsi yang isinya rencana membunuh Ratu Elizabeth I) berhasil dipecahkan oleh seorang pemecah kode.

12 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. Kriptografi modern dipicu oleh perkembangan peralatan komputer digital. Dengan komputer digital, cipher yang lebih kompleks menjadi sangat mungkin untuk dapat dihasilkan. Tidak seperti kriptografi klasik yang mengenkripsi karakter per karakter (dengan menggunakan alfabet tradisionil), kriptografi modern beroperasi pada string biner.

13 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. Yang paling penting lagi, dalam bukunya ini ia mengenalkan penggunaan beberapa teknik statistika untuk memecahkan kode-kode rahasia. Apa yang dilakukan oleh Al-Kindi didalam kriptanalisis dikenal dengan nama teknik analisis frekuensi, yaitu teknik untuk memecahkan cipherteks berdasarkan frekuensi kemunculan karakter di dalam pesan dan kaitannya dengan frekuensi kemunculan karakter di dalam alfabet. Analisis frekuensi dilatarbelakangi oleh fakta bahwa cipher gagal menyembunyikan statistik kemunculan karakter di dalam cipherteksnya. Misalnya, di dalam Bahasa Inggris huruf E adalah huruf paling sering muncul di dalam kalimat kalimat berbahasa Inggris. Jika di dalam cipherteks terdapat huruf yang paling sering muncul, maka kemungkinan besar huruf tersebut di dalam plainteksnya adalah huruf E. Berbagai cipher klasik berhasil dipecahkan dengan teknik analisis frekuensi ini.

14 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). Perkembangan lain di bidang matematika yang telah mempengaruhi kriptografi adalah penggunaan elliptic curves over finite field. Di masa yang akan datang, kriptografi kunci public yang berdasarkan pada penggunaan elliptic curve berpotensi mengambil alih posisi RSA sebagai algoritma yang dominan. Ini karena dengan kemajuan di bidang hardware, besarnya kunci yang diperlukan akan meningkat. Keunggulan kriptografi kunci publik versi elliptic curve adalah keperluan peningkatan besar kunci tidak sedrastis untuk RSA, seperti terlihat di tabel berikut yang menunjukkan perbandingan besar kunci dalam bit untuk kekuatan yang sama.

15 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. Dengan perkembangan hardware di masa depan yang akan semakin cepat dan semakin murah, besar kunci untuk enkripsi mungkin perlu ditingkatkan. Saat ini enkripsi simetris dengan kunci 256 bit masih memiliki ruang cukup besar. Akan tetapi bisa saja terjadi terobosan di bidang hardware yang akan mengancam keamanan enkripsi simetris dengan kunci 256 bit. Perkembangan hardware di

16 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: a. Superposition dari quantum states, dan b. Quantum entanglement.

17 2.2 Algoritma 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. Kelebihan algoritma simetris ini adalah proses enkripsi dan deskripsinya yang jauh lebih cepat dibandingkan dengan algoritma asimetris. Sedangkan kelemahan algoritma ini adalah permasalahan distribusi kunci (key distribution). Seperti yang telah dibahas, proses enkripsi dan deskripsi menggunakan kunci yang sama. Sehingga muncul persoalan menjaga kerahasian kunci, yaitu pada saat pengiriman kunci pada media yang tidak aman seperti internet. Tentunya jika kunci ini sampai hilang atau sudah dapat ditebak oleh orang lain (orang yang tidak berhak), maka kriptosistem ini sudah tidak aman lagi.

18 Skema yang digunakan dalam algoritma simetris adalah (Munir,2006): Kunci privat, K Kunci privat, K Plainteks, P Enkripsi E K (P) = C Cipherteks, C Dekripsi D K (C) = P Plainteks, P 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 kuncipublik diantaranya RSA, Elgamal, DSA, dan sebagainya. (Munir,2006): Skema yang digunakan dalam algoritma asimetris adalah Kunci publik, K1 Kunci privat, K2 Plainteks, P Enkripsi E K1 (P) = C Cipherteks, C Dekripsi D K2 (C) = P Plainteks, P Gambar 2.4 Skema Kriptografi Nirsimteri

19 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 k pb dan kunci rahasia k rb. b) Pengirim A dengan kunci publik B dan pesan x, pesan dienkripsi dan diperoleh cipherteks c = E kpb (x) c) Penerima B untuk mendekripsi cipherteks menggunakan kunci privat B untuk mendapatkan kembali pesan aslinya d krb d krb x d krb c = x d) Dengan mengetahui kunci publik k pb, bagi penyerang akan kesulitan dalam melakukan untuk mendapatkan kunci rahasia. e) Dengan mengetahui kunci publik k pb 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. Kedua, jumlah kunci dapat ditekan. Untuk berkomunikasi secara rahasia dengan banyak orang tidak perlu kunci rahasia sebanyak jumlah orang tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi para koresponden untuk mengenkripsi pesan, dan kunci privat untuk mendekripsi pesan. Berbeda dengan kriptografi kunci-simetris dimana jumlah kunci yang dibuat adalah sebanyak jumlah pihak yang diajak berkorespondensi.

20 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. Tandatangan 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 tandatangan 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.3 Algoritma 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. Sebetulnya sistem serupa telah dilaporkan oleh Clifford Cocks tahun 1973 meskipun informasi mengenai ini baru dipublikasi tahun 1997 karena merupakan hasil riset yang diklasifikasikan sangat rahasia oleh pemerintah Britania Raya (Clifford Cocks bekerja untuk GCHQ, suatu badan di Britania Raya yang fungsinya serupa

21 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 = p 2 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 d = 1 + kφ(n) e Hasil dari algoritma di atas: a. Kunci publik adalah pasangan (e, n) b. Kunci privat adalah pasangan ( d, n)

22 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/p 1 )(1-1/p 2 ) (1-1/p n ), yang dalam hal ini p 1, p 2,, p n 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 m 0, m 1,..., m n-1 sedemikian sehingga setiap blok merepresentasikan nilai di dalam selang [0, n - 1]. 3. Setiap bok m i dienkripsi menjadi blok c i dengan rumus : c i = m i e mod n 2.3.3 Proses Dekripsi Algoritma RSA Pada proses dekripsi pesan, dilakukan langkah sebagai berikut: 1. setiap blok chiperteks c i didekripsikan kembali menjadi blok m i dengan rumus m i = c i d mod n 2. menggabungkan kembali blok-blok m 1, m 2,..., m n-1 menjadi plainteks m. 2.3.4 Flowchart Algoritma RSA Berdasarkan urutan langkah-langkah dalam proses pembangkitan kunci, enkripsi dan dekripsi, maka flowchart dari algoritma RSA adalah :

23 Algoritma Rivest Samir Adleman Pembangkitan Kunci Enkripsi Dekripsi START Input p, q dan e plainteks m m i = c i d mod n n=pq φ(n) =(p-1)(q-1) Pecah plainteks m menjadi blok m 0, m 1, m 2,., m n-1 Gabungkan kembali blok m 0, m 1,m 2,..., m n-1 menjadi plainteks m gcd(e,n)=1, e<n tdk c i = m i e mod n Plainteks m ya d = (1+kφ(n))/e END kunci publik (e, n) Kunci privat (d, n) Gambar 2.5 Flowchart Algoritma RSA 2.3.5 Keamanan Algoritma RSA 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. Metode pendekatan yang diyakini dapat menyelesaikan problem RSA saat ini adalah memfaktor nilai n. Dengan kemampuan untuk mengembalikan faktor yang merupakan bilangan prima, sebuah serangan dapat menghitung eksponen rahasia d dari kunci publik (e, n), lalu mendekripsi c menggunakan prosedur standar.

24 2.4 Algoritma 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 = g x mod p. 4. Kunci publik adalah y, kunci rahasia adalah x.

25 2.4.2 Proses Enkripsi Algoritma ElGamal Langkah-langkah dalam proses enkripsi algoritma ElGamal adalah : 1. Plainteks m disusun menjadi blok-blok m 1, m 2,, m p-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 m i dienkripsi dengan rumus a i = g k mod p b i = y k m i mod p 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, m = b i mod p a x i a x g xk mod p b a d ek m a d gdk m g dk m (mod p) yang berarti bahwa plainteks ditemukan kembali dari pasangan cipherteks a dan b. Kemudian menggabungkan lagi blok m 1, m 2,.. menjadi plainteks yang utuh.

26 2.4.4 Flowchart Algoritma ElGamal Algoritma ElGamal Pembangkitan Kunci Enkripsi Dekripsi START Input p, g, dan x Input k; plainteks m m i = b i /a i x mod p g < p 1 x p-2 N 1 k p-2 N Gabungkan kembali blok m 0, m 1,m 2,..., m i menjadi plainteks m Y Y y = g x mod p Pecah plainteks m menjadi blok m 0, m 1, m 2,., m i Plainteks m kunci publik ( y, g, p) Kunci privat (x, p) a i = g k mod p b i = y k m i mod p END Gambar 2.6 Flowchart Algoritma ElGamal 2.4.5 Keamanan 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 : g x y (mod p) Keamanan dari algoritma ElGamal bergantung pada properti dari group besaran besaran yang digunakan serta skema padding yang digunakan untuk mengenkripsi pesan.

27 2.5 Konsep 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 m mod n=r 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 x y mod n. Dalam proses enkripsi dan dekripsi, biasanya digunakan y ataupun pangkat yang cukup besar, sehingga apabila kita menghitung secara langsung x y dapat menyebabkan x y cukup besar hingga tidak bisa disimpan dalam variable yang ada dalam bahasa pemograman. Untuk menyelesaikan masalah ini digunakanlah algoritma big mod dimana untuk mencari nilai dari x y mod n, dilakukan proses membagi dan mengurangi pangkat yang ada.

28 Contoh : Hitung hasil dari 4 30 mod 10 Bila pangkatnya genap, maka pangkatnya dibagi 2, jika pangkatnya ganjil, maka pangkat dikurangi 1, sampai dengan pangkatnya menjadi 1. 4 30 / \ 4 15 4 15 karena sama, yang dicari hanya salah satu saja / \ 4 1 4 14 / \ 4 7 4 7 / \ 4 1 4 6 / \ 4 3 4 3 / \ 4 1 4 2 / \ 4 1 4 1 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 : 4 30 = (4 15 x4 15 = 4 x 4 = 16 mod 10 = 6), jadi 4 30 = 6 / \ 4 15 4 15 = (4 1 x4 14 = 4 x 6 = 24 mod 10 = 4), jadi 4 15 = 4 / \ 4 1 4 14 = (4 7 x4 7 = 4 x 4 = 16 mod 10 = 6), jadi 4 14 = 6 / \ 4 7 4 7 = (4 1 x4 6 = 4 x 6 = 24 mod 10 = 4), jadi 4 7 = 4 / \ 4 1 4 6 = (4 3 x4 3 = 4 x 4 = 16 mod 10 = 6), jadi 4 6 = 6 / \ 4 3 4 3 = (4 1 x4 2 = 4 x 6 = 24 mod 10 = 4), jadi 4 3 = 4 / \ 4 1 4 2 = (4 1 x4 1 = 16 mod 10 = 6), jadi 4 2 = 6 / \ 4 1 4 1 Sehingga didapat 4 30 mod 10 = 6. 2.5.3 Algoritma Euclidean Algoritma ini digunakan untuk mencari nilai pembagi persekutuan terbesar (PBB) dari dua bilangan bulat (Munir, 2006). Algoritma ini didasarkan pada pernyataan bahwa

29 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 a sedemikian sehingga aa 1 (mod m) a Bukti: Dari definisi relatif prima diketahui bahwa PBB (a, m) = 1, dan terdapat bilangan bulat p dan q sedemikian sehingga:

30 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: 2. 4 1 (mod 9) (9 habis membagi 2. 4 1 = 9)

31 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 2 756839-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 m = 2 dan n = 13.

32 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); 3. Jika a b (mod n) dan b c (mod n), maka a c (mod n) (relasi transitif).

33 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 Z * adalah 2, 6, 7 dan 11. Misalkan p = 2579 yang merupakan bilangan prima aman. Oleh karena itu, dapat ditentukan bilangan prima q = 2579 1 2 = 1289. Untuk menunjukkan bahwa suatu bilangan bulat a merupakan elemen primitif Z 2579 *, harus ditunjukkan bahwa a 2 mod 2579 1 dan a 1289 mod 2579 1. Berikut diberikan tabel perhitungan untuk beberapa nilai a yang diberikan. Tabel 2.2. Perhitungan a 2 mod 2579 dan a 1289 mod 2579 Dari Tabel 2.2 diperoleh bahwa 2, 6 dan 8 merupakan elemen primitif, serta 3, 4, 5 dan 7 bukan merupakan elemen primitif.