BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...
Transcript of BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...
![Page 1: BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi ...](https://reader033.fdokumen.com/reader033/viewer/2022051123/58677c001a28ab1c578b71b0/html5/thumbnails/1.jpg)
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 ...](https://reader033.fdokumen.com/reader033/viewer/2022051123/58677c001a28ab1c578b71b0/html5/thumbnails/2.jpg)
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 ...](https://reader033.fdokumen.com/reader033/viewer/2022051123/58677c001a28ab1c578b71b0/html5/thumbnails/3.jpg)
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 ...](https://reader033.fdokumen.com/reader033/viewer/2022051123/58677c001a28ab1c578b71b0/html5/thumbnails/4.jpg)
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 ...](https://reader033.fdokumen.com/reader033/viewer/2022051123/58677c001a28ab1c578b71b0/html5/thumbnails/5.jpg)
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 ...](https://reader033.fdokumen.com/reader033/viewer/2022051123/58677c001a28ab1c578b71b0/html5/thumbnails/6.jpg)
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 ...](https://reader033.fdokumen.com/reader033/viewer/2022051123/58677c001a28ab1c578b71b0/html5/thumbnails/7.jpg)
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 ...](https://reader033.fdokumen.com/reader033/viewer/2022051123/58677c001a28ab1c578b71b0/html5/thumbnails/8.jpg)
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 ...](https://reader033.fdokumen.com/reader033/viewer/2022051123/58677c001a28ab1c578b71b0/html5/thumbnails/9.jpg)
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 ...](https://reader033.fdokumen.com/reader033/viewer/2022051123/58677c001a28ab1c578b71b0/html5/thumbnails/10.jpg)
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 ...](https://reader033.fdokumen.com/reader033/viewer/2022051123/58677c001a28ab1c578b71b0/html5/thumbnails/11.jpg)
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 ...](https://reader033.fdokumen.com/reader033/viewer/2022051123/58677c001a28ab1c578b71b0/html5/thumbnails/12.jpg)
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 ...](https://reader033.fdokumen.com/reader033/viewer/2022051123/58677c001a28ab1c578b71b0/html5/thumbnails/13.jpg)
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 ...](https://reader033.fdokumen.com/reader033/viewer/2022051123/58677c001a28ab1c578b71b0/html5/thumbnails/14.jpg)
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 ...](https://reader033.fdokumen.com/reader033/viewer/2022051123/58677c001a28ab1c578b71b0/html5/thumbnails/15.jpg)
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