BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

Tandatangan Digital. Yus Jayusman STMIK BANDUNG

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

BAB II LANDASAN TEORI

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB II TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

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

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

Otentikasi dan Tandatangan Digital (Authentication and Digital Signature)

BAB 2 TINJAUAN PUSTAKA

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

Bab 2: Kriptografi. Landasan Matematika. Fungsi

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

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

BAB III ANALISIS DAN PERANCANGAN

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

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

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

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 3 KRIPTOGRAFI RSA

BAB 2 LANDASAN TEORI Keamanan Informasi

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

Perhitungan dan Implementasi Algoritma RSA pada PHP

BAB 2 LANDASAN TEORI

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

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

BAB II TINJAUAN PUSTAKA

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Rusmala 1, Islamiyah 2

BAB 2 TINJAUAN TEORETIS

BAB II TINJAUAN PUSTAKA

BAB II BAB II TINJAUAN PUSTAKA

Algoritma RSA dan ElGamal

PENGGUNAAN ALGORITMA KRIPTOGRAFI POHLIG HELLMAN DALAM MENGAMANKAN DATA

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

+ Basic Cryptography


SISTEM PENGAMBILAN KEPUTUSAN PERMOHONAN KREDIT SEPEDA MOTOR DENGAN MENGGUNAKAN METODE DECISION TREE

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Keamanan Sistem Informasi. Girindro Pringgo Digdo

BAB II. Dasar-Dasar Kemanan Sistem Informasi

TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali:

I. PENDAHULUAN. Key Words Tanda Tangan Digital, , Steganografi, SHA1, RSA

Studi dan Implementasi Algoritma RSA dan MD5 pada Aplikasi Digital Signature (Studi Kasus pada Sistem Akademik Terpadu (SIAP) STMIK Sumedang)

2.1 Keamanan Informasi

BAB I PENDAHULUAN. 1.1 Latar Belakang

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA RSA BERBASIS WEB

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

BAB Kriptografi

RSA (Rivest, Shamir, Adleman) Encryption

VISUALISASI ALGORITMA RSA DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

Studi dan Implementasi Sistem Kriptografi Rabin

SISTEM KRIPTOGRAFI. Mata kuliah Jaringan Komputer Iskandar Ikbal, S.T., M.Kom

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Implementasi Algoritma RSA dan Three-Pass Protocol pada Sistem Pertukaran Pesan Rahasia

BAB III ANALISIS DAN DESAIN SISTEM

BAB 2 LANDASAN TEORI

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

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI DENGAN MENGGUNAKAN ALGORITMA RSA DAN MEMAKAI METODE LSB

BAB 2 LANDASAN TEORI

Algoritma Kriptografi Kunci-publik RSA menggunakan Chinese Remainder Theorem

IMPLEMENTASI DIGITAL SIGNATURE DENGAN ALGORITMA RSA DAN LEHMANN PRIME GENERATOR PADA PESAN TEKS SKRIPSI MIRNAWATI

BAB III BAB III METODE PENELITIAN

Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :

BAB 2 LANDASAN TEORI

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK

MODUL PERKULIAHAN EDISI 1 MATEMATIKA DISKRIT

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

PENERAPAN METODA CHINESE REMAINDER THEOREM PADA RSA

Penggunaan Digital Signature Standard (DSS) dalam Pengamanan Informasi

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

Tanda Tangan Digital Dengan Menggunakan SHA-256 Dan Algoritma Knapsack Kunci-Publik

BAB I PENDAHULUAN , 1.1. Latar Belakang

METODE ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN ALGORITMA ELGAMAL

BAB I PENDAHULUAN. dengan cepat mengirim informasi kepada pihak lain. Akan tetapi, seiring

BAB III KUNCI PUBLIK

BAB III ANALISIS. 3.1 Otentikasi Perangkat dengan Kriptografi Kunci-Publik

BAB III ANALISIS DAN DESAIN SISTEM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Elliptic Curve Cryptography (Ecc) Pada Proses Pertukaran Kunci Publik Diffie-Hellman. Metrilitna Br Sembiring 1

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Adi Shamir, one of the authors of RSA: Rivest, Shamir and Adleman

PENGAMANAN DOKUMEN MENGGUNAKAN METODE RSA (RIVEST SHAMIR ADLEMAN)BERBASIS WEB

BAB II TINJAUAN PUSTAKA

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

Transkripsi:

BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi terminologinya, kata kriptografi berasal dari bahasa Yunani yaitu crypto yang berarti secret (rahasia) dan graphia yang berarti writing (tulisan). Jadi kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain. Maka secara termonologi kriptografi merupakan langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut [1]. Kriptografi terdiri dari dua proses, yaitu enkripsi dan dekripsi. Sebuah pesan seolah tidak bermakna dengan merubahnya menurut prosedur tertentu maka disebut dengan enkripsi, dan dibuat bermakna kembali dengan prosedure yang disebut dengan istilah dekripsi. Pesan dalam istilah kriptografi disebut message, yang akak dirahasiakan disebut plaintext, sedangkan bentuk pesan hasil proses enkripsi disebut chipertext. Kunci yang digunakan dalam kriptografi terbagi menjadi 2 bagian yaitu kunci rahasia (private key) dan kunci publik (public key) [2]. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Algoritma simetris (symmetric algorithm) adalah suatu algoritma dimana kunci enkripsi yang digunakan sama dengan kunci dekripsi sehingga algoritma ini disebut juga sebagai single-key algorithm. Algoritma asimetris (asymmetric algorithm) adalah suatu algoritma dimana kunci enkripsi yang digunakan tidak sama dengan kunci dekripsi. Algoritma RSA menggunakan dua kunci, yaitu kunci publik dan kunci privat. Kunci publik disebarkan secara umum sedangkan kunci privat disimpan secara

rahasia oleh si pengguna. Walau kunci publik telah diketahui namun akan sangat sukar mengetahui kunci privat yang digunakan. Kriptografi bertujuan untuk memberi layanan keamanan sebagai berikut[8] : 1. Kerahasiaan (confidentiality), adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak. 2. Integritas data (data integrity), adalah layanan yang menjamin bahwa pesan masih asli/utuh belum pernah dimanipulasi selama pengiriman. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi pesan oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubstitusian data lain ke dalam data yang sebenarnya. 3. Otentikasi (authentication), adalah layanan yang berhubungan dengan identifikasi baik mengidentifikasi pihak-pihak yang berkomunikasi maupun mengidentifikasi kebenaran sumber pesan. 4. Nirpenyangkalan (non-repudiation), adalah layanan untuk mencegah etintas yang berkomusikasi melakukan penyangkalan, yaitu pengiriman pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan. Berdasarkan tujuan kriptografi yang telah dipaparkan sebelumnya, maka dapat diketahui bahwa digital signature atau tanda tangan digital memiliki konstribusi penting dalam integritas data, otentikasi, dan nirpenyangkalan. 2.2 Digital Signature Digital signature atau tanda tangan digital merupakan tanda tangan yang dilakukan memakai alat elektronik yang berfungsi sama dengan tanda tangan manual, tetapi berbeda dalam penerapannya. Tanda tangan digital yang dimaksud bukanlah tanda tangan yang di-digitasi dengan menggunakan alat scanner, tetapi suatu nilai kriptografis yang bergantung pada pesan dan pengirim pesan. Dengan tanda tangan digital, maka integritas data dapat dijamin, disamping itu digunakan juga untuk membuktikan asal pesan dan nirpenyangkalan[8].

Tanda tangan digital adalah suatu bagian dari aspek keamanan dalam kriptografi yang dibuat untuk mengatasi masalah otentikasi dan anti-penyangkalan. Seperti pada pesan atau data dalam bentuk cetak, tanda tangan digunakan sebagai otentikasi pesan atau data tersebut, pesan cetak yang ditandatangani juga menjamin keaslian pesan dan tidak bisa disangkal. Sejak berabad-abad lamanya, tanda tangan telah digunakan sebagai pembuktian keaslian pesan atau dokumen. Hal-hal yang menyebabkan tanda tangan menjadi sebagai bukti keabsahan suatu dokumen adalah sebagai berikut[13] : 1. Tanda tangan adalah asli. Tanda tangan meyakinkan penerima dokumen bahwa benar adanya pengirim pesan telah menandatangani dokumen tersebut. 2. Tanda tangan jarang terlupakan. Tanda tangan adalah bukti bahwa pengirim pesan, tidak ada orang lain, yang sengaja menandatangani pesan tersebut. 3. Tanda tangan tidak dapat digunakan ulang. Tanda tangan merupakan bagian dari dokumen, dimana tidak dapat dipindahkan ke dokumen yang berbeda. 4. Dokumen yang telah ditanda-tangani tidak dapat diubah. Setelah dokumen ditanda-tangani, maka dokumen tidak dapat diubah. 5. Tanda tangan tidak dapat disangkal. Walaupun begitu tanda tangan pada pesan atau data cetak tidak bisa menjamin seutuhnya. Tanda tangan cetak merupakan representasi dari pembuat pesan sedangkan tanda tangan digital adalah representasi dari isi pesan itu sendiri. Jadi tanda tangan cetak akan sama untuk pembuat pesan yang sama sedangkan tanda tangan digital akan berbeda walaupun pembuat pesan adalah orang yang sama, tanda tangan digital bergantung pada isi pesan bukan pada pembuat pesan. Kunci Privat Kunci Publik Plainteks enkripsi Cipherteks dekripsi Plainteks Gambar 2.1 Proses enkripsi dan dekripsi tanda tangan digital

Ada dua buah cara dalam menandatangani suatu pesan secara digital. Yang pertama adalah dengan menggunakan enkripsi pesan. Dan yang kedua adalah dengan menggunakan kombinasi fungsi hash dan kriptografi kunci publik[12]. Jika kriptografi kunci publik digunakan, maka enkripsi pesan dengan kunci publik tidak dapat digunakan untuk otentikasi, karena setiap orang berpotensial mengetahui kunci publik. Tetapi jika enkripsi pesan menggunakan kunci privat si pengirim dan dekripsi pesan menggunakan kunci publik si pengirim, maka kerahasiaan pesan (secrecy) dan otentikasi keduanya dicapai sekaligus. Ide ini ditemukan oleh diffie dan Hellman[8]. Beberapa algoritma kunci publik dapat digunakan untuk menandatangani pesan dengan cara mengenkripsikannya, asalkan algoritma tersebut memenuhi sifat : D SeK (E PK (M)) = M (2.1) DPK(E SK (M)) = M (2.2) Dimana PK = kunci publik dan SK = kunci privat. Misalkan M adalah pesan yang akan dikirim. Pesan M ditandatangani menjadi pesan terenkripsi S dengan menggunakan kunci privat SK si pengirim. S = E SK (M) (2.3) Kemudian pesan dikirimkan dengan menggunakan kunci publik (PK) pengirim. M = D PK (S) (2.4) dimana D adalah fungsi enkripsi dari algoritma kunci-publik. S dikatakan absah apabila pesan M mempunyai makna.

Untuk lebih jelasnya dapat dilihat pada diagram di bawah : Pengirim pesan Kunci privat Penerima pesan Dokumen Enkripsi dokumen dengan RSA Dokumen ya Kunci publik Pesan valid tidak Dokumen yang telah ditandatangani Dekripsi pesan Pesan disadap / eror Gambar 2.2 Diagram Pengiriman dan Penerimaan Pesan 2.3 Lehmann Prime Generator Sebagian besar algoritma kunci publik menggunakan bilangan prima sebagai salah satu nilai parameternya. Bilangan prima yang disarankan berukuran besar sehingga penggunaan tipe data bilangan bulat yang besar mutlak diperlukan [2]. Lehmann adalah salah satu cara untuk mencari bilangan prima. Syarat-syarat pembangkit bilangan prima Lehmann : 1. Ditentukan bilangan a dengan syarat 1 < a < p, dimana p adalah bilangan prima. 2. Hitung nilai L (Legendre), dimana : L a (p-1)/2 mod p (2.5) 3. Jika nilai L 1 dan L -1, maka p bukanlah bilangan prima. 4. Jika a (p- 1)/2 1 atau - 1 (mod p), maka p kemungkinan prima lebih besar 50%. 5. Perhitungan nilai L akan diulang sampai seberapa banyak digit nilai prima yang dimasukkan. Misalnya 231 ( terdapat 3 digit bilangan, maka pencarian nilai L

sebanyak 3 kali) yang apabila langkah ini diulang dan lolos sebanyak t kali maka akan menghasilkan sebuah bilangan prima p yang mempunyai kesalahan tidak lebih dari 1/2 t. Contohnya : 1. Misalnya untuk mencari apakah nilai 2337 adalah prima? Ambil nilai a dengan syarat 1<a<2337 Misal a = 2, maka L = 2 (2337-1)/2 mod 2337 L = 1240 (bukan bilangan prima) 2. Apakah 971 bilangan prima? Ambil nilai a, misal a = 5 L = 5 (971-1) mod 971 = 1 Kemudian bangkitkan nilai a untuk mencari kepastian dari bilangan tersebut, misal a = 10 L =10 (971-1)/2 mod 971 = 970 Kemudian dicari apakah nilai L -1 dengan cara mencari hasil L p = -1 970-971 = -1 Maka nilai L= -1 Sehingga dapat dibuktikan bahwa L adalah bilangan prima. Maka dengan menggunakan metode Lehmann, dapat dicari bilangan prima yang akan digunakan pada algoritma yang digunakan penulis untuk menandatangani pesan teks menggunakan RSA. 2.4 Algoritma RSA RSA ditemukan oleh tiga orang yaitu Ron (R)Rivest, Adi (S)Shamir, dan Leonard (A)Adleman, yang kemudian disingkat menjadi RSA, pada tahun 1976. RSA adalah sistem sandi yang barangkali paling mudah dimengerti cara kerjanya, tetapi juga sangat kokoh, baik untuk menyandi ataupun menterjemahkan sandi. RSA hanya

menggunakan operasi pemangkatan. RSA termasuk algoritma asimetri, yang berarti memiliki dua kunci, yaitu kunci publik dan kunci privat [4]. Berikut ini akan disampaikan pembentukan kunci privat dan kunci publik dengan RSA : 1. Pilih dua bilangan prima acak yang sangat besar, p dan q. kemudian hitung nilai n dan Ф(n) n = pq (2.6) Ф(n) = (p-1)(q-1) (2.7) 2. Kemudian secara acak pilih kunci enkripsi e, sehingga e dan Ф(n) relative prima. Relatif prima artinya faktor pembagi terbesar keduanya adalah 1. Relatif prima berarti : GCD(e, Ф(n)) = 1 (2.8) dengan syarat e (p-1), e (q-1) dan e < n. 3. Hitung nilai d, sehingga : d e -1 (mod Ф(n)) (2.9) dimana ekivalen dengan : e. d = 1 + k Ф(n) (2.10) Hasil algortima di atas menghasilkan kunci publik (e,n) dan kunci privat (d,n). Penurunan rumus RSA menggunakan prinsip teorema Euler Ф(n). Syaratsyarat yang harus dipenuhi dalam penggunaan teorema Euler dalam penurunan rumus RSA adalah sebagai berikut : 1. a harus relatif prima terhadap n 2. Nyatakan pesan menjadi blok-blok plainteks m1, m2, m3,..., mn, dengan syarat 0 < mi < n-1. 3. Ф(n) = Totient Euler = fungsi yang menentukan berapa banyak dari bilanganbilangan 1, 2, 3,, n yang relatif prima terhadap n.

Proses enkripsi dapat dilakukan dengan : e C i = P i mod n (2.11) Sedangkan proses dekripsi dilakukan dengan : P i = C d i mod n (2.12) Kekuatan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan menjadi faktor-faktor prima, dalam hal ini n = p * q. Bila p dan q diketahui, dan karena kunci enkripsi e tidak rahasia, maka kunci dekripsi d dapat diketahui. Mollin (2002) menyarankan nilai p dan q panjangnya lebih dari 100 digit, dengan demikian hasil n = pq bisa berukuran lebih dari 308 digit. Usaha untuk mencari faktor dari bilangan 308 digit membutuhkan waktu komputasi yang sangat lama, hinga bermilyar - milyar tahun. Oleh karena itu, RSA hanya aman jika nilai n cukup besar. Contoh algoritma RSA: Misalkan p = 19 dan q = 23 n = p * q = 437 Ф(n) = (18 * 22) = 396 e = 79 d e -1 (mod (Ф(n))) 391 Misalkan pesan yang akan dienkripsi dapat dinyatakan sebagai bilangan dalam pengkodean ASCII adalah sebagai berikut : m = 38901794325 karena m harus lebih kecil dari n dan n 3 digit, maka diambil 2 digit per blok pesan, sehingga : m 1 m m m m m 2 3 4 5 6 = 38 = 90 = 17 = 94 = 32 = 05 kemudian setelah mengetahui nilai m, kemudian ditentukan berapa nilai dari c, sehingga :

c 1 = m e 1 mod n = 38 79 mod 437 = 304 c2 = m e 2 mod n = 90 79 mod 437 = 364 c3 = m e 3 mod n = 17 79 mod 437 = 309 c4 = m e 4 mod n = 94 79 mod 437 = 303 c5 = m e 5 mod n = 32 79 mod 437 = 219 c6 = m e 6 mod n = 5 79 mod 437 = 320 hingga c = 304 364 309 303 219 320 Proses dekripsi akan menjadi sebagai berikut : m 1 = c d 1 mod n = 304 391 mod 437 = 38 m2 = c d 2 mod n = 364 391 mod 437 = 90 m3 = c d 3 mod n = 309 391 mod 437 = 17 m4 = c d 4 mod n = 303 391 mod 437 = 94 m5 = c d 5 mod n = 219 391 mod 437 = 32 m6 = c d 6 mod n = 320 391 mod 437 = 5 maka pesan akan menjadi seperti semula, yaitu 38901794325 2.4.1 Algoritma Euclidean Teorema Euclidean : Misalkan m dan b adalah dua buah bilangan bulat dengan syarat n > 0. Jika m dibagi dengan n maka terdapat dua buah bilangan bulat unik q (quotient) dan r (remainder) sedemikian sehingga m = nq + r dengan 0 r < n. Contoh : 1987 = 97 20 + 47, yaitu 1987 dibagi dengan 97 memberikan hasil 20 dan sisa 47 7420 = 391 18 + 382, yaitu 7420 dibagi dengan 391 memberikan hasil 18 dan sisa 382

Dengan dasar Theorem Euclidean sebelumnya, dikembangkan sebuah algoritma (yang disebut dengan algoritma Euclidean) untuk mencari gcd dari dua buah bilangan bulat. Definisi : Diberikan dua buah bilangan bulat tak negative a dan b (a b). Maka terdapat q i, r i ϵ Z sehingga : a = q1 b + r 1 dengan 0 < r 1 < b b = q2 r 1 + r 2 dengan 0 < r 2 < r r1 = q 3 r 2 + r 3 dengan 0 < r 3 < r 2 r 2 = q 4 r 3 + r 4... r m-1 = q m+1 r m + r m+1 r m dengan 0 < r 4 < r = q m+2 r Jadi rm+1 = gcd(r m, r m+1 ) = gcd(r m-1, r m ) = gcd(r m-2, r m-1 ) = = gcd(a, b) m+1 1 3 Contoh : a = 80, b = 12, dan dipenuhi syarat a b Dihitung dengan menggunakan algoritma Euclidean sbb. : 80 = 6 12 + 8 12 = 1 8 + 4 8 = 2 4 Jadi gcd (80, 12) = gcd (12, 8) = gcd (8,4) = 4 Algoritma Euclidean yang diperluas dapat digunakan untuk menentukan bilangan bulat positif b < a memiliki invers (terhadap operasi perkalian) modulo a dengan memeriksa jika r m+1 = 1. Definisi : Diberikan q j seperti pada Algoritma Euclidean, didefinisikan

Berdasarkan pada q j hasil algoritma Euclidean dan pendefinisian t j dan s j diperoleh hubungan r j, t j, dan s j yang diberikan oleh : Teorema : Jika j = 0, 1, 2,, m maka rj = s j a + t j b dengan t j dan s j seperti yang didefinisikan dan r j diperoleh di Algoritma Euclidean. Akibat : Jika gcd (a, b) = 1, maka b -1 = t j Contoh : a = 111, b = 25 Dengan menggunakan algoritma Euclidean dicari j dan dihitung apakah gcd (111, 25) = 1. 111 = 4 25 + 11 j=1 25 = 2 11 + 3 j=2 11 = 3 3 + 2 j=3 3 = 1 2 + 1 j=4 2 = 1 2 j=5 Dari algoritma Euclidean sebelumnya diketahui jika gcd (111, 25) = 1, maka : t 0 t 1 = 0 = 1 t2 = t 0 q 1 t 1 = 0 4 1 = -4 t3 = t 1 q 2 t 2 = 1 2 (-4) = 9

t 4 = t 2 q 3 t 3 = -4 3 9 = -31 t5 = t 3 q 4 t 4 = 9 1 (-31) = 40 Maka 25-1 terhadap modulo 111 adalah 40. 2.4.2 Fungsi Totient Euler Ф Fungsi Totient Euler Ф mendefinisikan Ф(n) untuk n 1 yang menyatakan jumlah bilangan bulat positif < n yang relatif prima n [4]. Contoh : 1. Ф(8) = 4; Perhitungannya adalah sebagai berikut : bilangan bulat positif yang lebih kecil dari 8 adalah 1 sampai 7. Diantara bilangan-bilangan tersebut, terdapat Ф(8) = 4 yang relatif prima dengan 20, yaitu 1, 3, 5, 7. 2. Ф(25) = 9; Perhitungannya adalah sebagai berikut : bilangan bulat positif yang lebih kecil dari 25 adalah 1 sampai 24. Diantara bilangan-bilangan tersebut, terdapat Ф(25) = 9 yang relatif prima dengan 25, yaitu 1, 3, 5, 7, 11, 13. 17. 19. 23. 3. Ф(40) = 12 ; Perhitungannya adalah sebagai berikut : bilangan bulat positif yang lebih kecil dari 40 adalah 1 sampai 39. Diantara bilangan-bilangan tersebut, terdapat Ф(40) = 9 yang relatif prima dengan 40, yaitu 1, 3, 5, 7, 11, 13. 17. 19. 23, 29, 31, 37. Jika n prima, maka setiap bilangan bulat yang lebih kecil dari n relatif prima terhadap n. Dengan kata lain, Ф(n) = n- 1 hanya jika n prima. Contoh: Ф(11) = 10; Ф(17) = 16, Ф(23) = 22.

2.4.3 Modulo Eksponensial Untuk melakukan komputasi sesuai dengan algoritma RSA ada salah satu bagian penting, yaitu eksponensiasi modulo. Dalam Eksponensiasi Modular, C = M e mod n tidak dihitung dengan memangkatkan M dengan e yang dilanjutkan dengan melakukan pembagian untuk memperoleh sisanya. Hal ini akan membutuhkan space yang sangat besar. Cara yang efisien adalah dengan mereduksi nilai sementara modulo n pada setiap langkah eksponensiasi. Dalam melakukan eksponensiasi harus diperhatikan berapa banyak perkalian modular untuk mencapai C = M e mod n. Semakin sedikit operasi perkalian modular yang dilakukan maka hal itu semakin baik. Untuk menghitung C = M e mod n, dapat menggunakan memory efficientmethod. Langkah awalnya dengan menetapkan nilai awal C= M mod n dan terus melakukan operasi perkalian modular C = C. M (mod n), sebanyak e kali sampai mencapai C = M e mod n, untuk lebih jelasnya dapat dilihat berikut ini: function modular_pow(base, exponent, modulus) c:=1 for e_prime = 1 to exponent c:= (c* base) mod modulus return c Sebagai contoh dengan menggunakan algoritma di atas, maka untuk mencari nilai dari 4 12 mod 497 adalah sebagai berikut : Ditentukan nilai dari b = 4, e = 12, dan m = 497, maka : e' = 1, c = (1 *4) mod 497 = 4 mod 497 = 4 e' = 2, c =(4*4) mod 497 = 16 mod 497 = 16 e' = 3, c = (16*4) mod 497 = 64 mod 497 = 64 e' = 4, c= (64 *4) mod 497 = 256 mod 497 = 256 e' = 5, c = (256 * 4) mod 497 = 1024 mod 497 = 30 e' = 6, c = (30 *4) mod 497 = 120 mod 497 = 120 e' = 7, c = (120*4) mod 497 = 480 mod 497 = 480 e' = 8, c = (480 * 4) mod 497 = 1920 mod 497 =429

e' = 9, c = (429 * 4) mod 497 = 1716 mod 497 = 225 e' = 10, c = (225 * 4) mod 497 = 900 mod 497 = 403 e' = 11, c =( 403 * 4) mod 497 = 1612 mod 497 = 121 e'= 12, c = (121 *4) mod 497 = 484 mod 497= 484 Maka nilai c yang dihasilkan adalah 484. Sehingga dapat diketahui bahwa hasil dari 4 12 mod 497 adalah 484. 2.5 Use Case Diagram Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antar pengguna sebuah sistem dengan sistemnya sendiri. Use case terdiri dari sekumpulan skenario yang dilakukan oleh seorang actor (orang/pengguna, perangkat keras, urutan waktu, atau sistem yang lain). Sedangkan use case diagram memfasilitasi komunikasi antara analis dan pengguna serta diantara analis dan klien[6]. Sistem UseCase Actor1 Actor2 Gambar 2.3 Pemodelan Use Case Sterotype adalah sebuah model khusus yang terbatas untuk kondisi tertentu. Simbolnya adalah << dan ditutup >>. <<extends>> digunakan untuk menunjukkan bahwa satu use case merupakan tambahan fungsional dari use cse yang lain jika kondisi atau syarat tertentu terpenuhi. Sedangkan <<include>> digunakan untuk menggambarkan bahwa suatu use case seluruhnya merupakan fungsionalitas dari use case yang lainnya. Contoh penggunaan <<include>> dan <<extends>> bisa dilihat pada gambar 2.4 dan gambar 2.5 di bawah ini[6].

catat booking <<include>> resepsionis tampilkan booking Gambar 2.4 Use Case Inclusion Catat yang langsung datang <<extends>> Pelayan catat kedatangan Gambar 2.5 Use Case Extension