BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

15
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 Universitas Sumatera Utara

Transcript of BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

Page 1: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

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

Universitas Sumatera Utara

Page 2: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

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

Universitas Sumatera Utara

Page 3: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

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.

enkripsi dekripsiPlainteks PlainteksCipherteks

Kunci Privat Kunci Publik

Gambar 2.1 Proses enkripsi dan dekripsi tanda tangan digital

Universitas Sumatera Utara

Page 4: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

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 :

DSeK(EPK

D

(M)) = M (2.1)

PK(ESK

Dimana PK = kunci publik dan SK = kunci privat.

(M)) = M (2.2)

Misalkan M adalah pesan yang akan dikirim. Pesan M ditandatangani menjadi

pesan terenkripsi S dengan menggunakan kunci privat SK si pengirim.

S = ESK

Kemudian pesan dikirimkan dengan menggunakan kunci publik (PK) pengirim.

(M) (2.3)

M = DPK

dimana D adalah fungsi enkripsi dari algoritma kunci-publik. S dikatakan absah

apabila pesan M mempunyai makna.

(S) (2.4)

Universitas Sumatera Utara

Page 5: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

Untuk lebih jelasnya dapat dilihat pada diagram di bawah :

Dokumen

Kunci privat

Enkripsi dokumen

dengan RSA

Dokumen yang telah

ditandatangani

Pengirim pesan Penerima pesan

Dekripsi pesan

Kunci publik Pesan valid

Dokumen

ya

tidak

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

5. Perhitungan nilai L akan diulang sampai seberapa banyak digit nilai prima yang

dimasukkan. Misalnya 231 ( terdapat 3 digit bilangan, maka pencarian nilai L

≡ 1 atau - 1 (mod p), maka p kemungkinan prima lebih besar 50%.

Universitas Sumatera Utara

Page 6: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

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/2t

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

L = 1240 (bukan bilangan prima)

mod 2337

2. Apakah 971 bilangan prima?

Ambil nilai a, misal a = 5

L = 5 (971-1)

Kemudian bangkitkan nilai a untuk mencari kepastian dari bilangan tersebut,

misal a = 10

mod 971 = 1

L =10 (971-1)/2

= 970

mod 971

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

Universitas Sumatera Utara

Page 7: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

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). Syarat-

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

bilangan 1, 2, 3, …, n yang relatif prima terhadap n.

Universitas Sumatera Utara

Page 8: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

Proses enkripsi dapat dilakukan dengan :

Ci = Pie

Sedangkan proses dekripsi dilakukan dengan :

mod n (2.11)

Pi = Cid

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 :

m1

m

= 38

2

m

= 90

3

m

= 17

4

m

= 94

5

m

= 32

6

kemudian setelah mengetahui nilai m, kemudian ditentukan berapa nilai dari c,

sehingga :

= 05

Universitas Sumatera Utara

Page 9: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

c1 = m1 e mod n = 38 79

c

mod 437 = 304

2 = m2 e mod n = 90 79

c

mod 437 = 364

3 = m3 e mod n = 17 79

c

mod 437 = 309

4 = m4 e mod n = 94 79

c

mod 437 = 303

5 = m5 e mod n = 32 79

c

mod 437 = 219

6 = m6 e mod n = 5 79

hingga c = 304 364 309 303 219 320

mod 437 = 320

Proses dekripsi akan menjadi sebagai berikut :

m1 = c1 d mod n = 304 391

m

mod 437 = 38

2 = c2 d mod n = 364 391

m

mod 437 = 90

3 = c3 d mod n = 309 391

m

mod 437 = 17

4 = c4 d mod n = 303 391

m

mod 437 = 94

5 = c5 d mod n = 219 391

m

mod 437 = 32

6 = c6 d mod n = 320 391

maka pesan akan menjadi seperti semula, yaitu 38901794325

mod 437 = 5

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

Universitas Sumatera Utara

Page 10: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

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

a = q

ϵ

Z sehingga :

1 × b + r1 dengan 0 < r1

b = q

< b

2 × r1 + r2 dengan 0 < r2 < r

r

1

1 = q3 × r2 + r3 dengan 0 < r3 < r2

r

2 = q4 × r3 + r4 dengan 0 < r4 < r.

3

.

. rm-1 = qm+1 × rm + r

rm+1

m = qm+2 × r

Jadi rm+1

m+1 = gcd(rm, rm+1) = gcd(rm-1, rm) = gcd(rm-2, rm-1

) = … = gcd(a, b)

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 rm+1

Definisi :

= 1.

Diberikan qj seperti pada Algoritma Euclidean, didefinisikan

Universitas Sumatera Utara

Page 11: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

Berdasarkan pada qj hasil algoritma Euclidean dan pendefinisian tj dan sj diperoleh

hubungan rj, tj, dan sj yang diberikan oleh :

Jika j = 0, 1, 2, …, m maka r

Teorema :

j = sja + tjb dengan tj dan sj seperti yang didefinisikan

dan rj

Akibat :

Jika gcd (a, b) = 1, maka b

diperoleh di Algoritma Euclidean.

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

t0

t

= 0

1

t

= 1

2 = t0 – q1t1

t

= 0 – 4 × 1 = -4

3 = t1 – q2t2 = 1 – 2 × (-4) = 9

Universitas Sumatera Utara

Page 12: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

t4 = t2 – q3t3

t

= -4 – 3 × 9 = -31

5 = t3 – q4t4

Maka 25

= 9 – 1 × (-31) = 40

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

Universitas Sumatera Utara

Page 13: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

2.4.3 Modulo Eksponensial

Untuk melakukan komputasi sesuai dengan algoritma RSA ada salah satu bagian

penting, yaitu eksponensiasi modulo. Dalam Eksponensiasi Modular, C = Me 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 = Me

mod n.

Semakin sedikit operasi perkalian modular yang dilakukan maka hal itu semakin baik.

Untuk menghitung C = Me mod n , dapat menggunakan memory efficient-

method. 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 = Me

mod n, untuk lebih jelasnya dapat dilihat berikut ini:

Sebagai contoh dengan menggunakan algoritma di atas, maka untuk mencari

nilai dari 412

Ditentukan nilai dari b = 4, e = 12, dan m = 497, maka :

mod 497 adalah sebagai berikut :

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

function modular_pow(base, exponent, modulus)

c:=1

for e_prime = 1 to exponent

c:= (c* base) mod modulus

return c

Universitas Sumatera Utara

Page 14: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

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 412

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

Actor1

UseCase

Actor2

Sistem

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

Universitas Sumatera Utara

Page 15: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...

resepsionis

catat booking

tampilkan booking

<<include>>

Gambar 2.4 Use Case Inclusion

Pelayan

Catat yanglangsung datang

catat kedatangan

<<extends>>

Gambar 2.5 Use Case Extension

Universitas Sumatera Utara