6
LANDASAN TEORI
2.1.Sistem Keamanan Dalam dunia komunikasi data global yang selalu berubah, hubungan internet yang murah, dan cepatnya perkembangan software, keamanan menjadi isu yang semakin penting. Keamanan saat ini menjadi suatu kebutuhan dasar karena komputasi global tidak aman[13]. Sebagai contoh, dengan berpindahnya data dari titik A ke titik B di internet, ia akan melalui beberapa titik lain selama perjalanan, membuka kesempatan bagi pihak lain untuk memotong data, merubah data bahakan merubah tujuan data. Padahal fakta telah menunjukan bahwa tidak ada sistem komputer yang dapat diamankan secara total, yang dapat dilakukan hanya membuat kesulitan-kesulitan bagi orang lain untuk menggangu sistem komputer yang ada[13]. Menurut John D. Howard dalam bukunya “An Analysis of security incident on the internet”, menyatakan bahwa: keamanan komputer adalah tindakan pencegahan dari serangan pengguna komputer atau pengakses jaringan yang tidak bertanggung jawab[7]. Sementara menurut Gollmann pada tahun 1999 dalam bukunya “Computer Security” menyatakan bahwa: Keamanan komputer adalah berhubungan dengan pencegahan diri dari deteksi terhadap tindakan penggangu yang tidak dikenali sistem komputer. Agar suatu sistem komputer dapat terhindar dari serangan pihak asing ada beberapa aspek penting yang menjadi syarat sistem keamanan komputer bisa dikatakan baik. Adapun beberapa aspek-aspek keamanan komputer antara lain:
Universitas Sumatera Utara
7
1. Authentication: merupakan keadaan dimana penerima informasi dapat memastikan keaslian suatu pesan datang dari orang yang dimintai informasi. Dengan kata lain informasi datang dari orang yang dikehendaki. 2. Confidentiality: merupakan usaha untuk menjaga agar informasi dari orang yang tidak berhak mengakses. Confidentiality biasanya berhubungan dengan informasi yang diberikan kepada pihak lain. 3. Non-repudiation: merupakan layanan yang mencegah entitas yang berkomunikasi
melakukan
penyangkalan,
yaitu
pengirim
pesan
menyangkal melakukan pengiriman, atau penerima pesan menyangkal pesan telah dikirim. 4. Authority: informasi yang berada pada sistem jaringan tidak dapat dimodifikasi oleh pihak yang tidak berhak atas akses tersebut.[12] Semakin aman sistem yang ada semakin intrusif keamanan yang diperlukan.Perlu ditentukan tindakan yang membuat sistem masih dapat digunakan dan aman digunakan.Setiap individu mempunyai privasi yang berbeda.Sebelum mengamankan suatu sistem, perlu ditentukan tingkat ancaman yang di hadapi, resiko apa yang perlu atau tidak perlu diambil, dan seberapa rentan sistem terhadap gangguan. Adapun aspek-aspek ancaman terhadap keamanan antara lain:
1. Interruption Interruptionmerupakan suatu ancaman terhadap availaibility, informasi dan data yang ada dalam sistem komputer dirusak dan dihapus sehingga jika dibutuhkan, data dan informasi tidak ada lagi.
2. Interception Interceptionmerupakan ancaman terhadap kerahasiaan (secrecy).Informasi yang ada disadap atau orang yang tidak berhak mendapat akses kekomputer dimana informasi disimpan.
Universitas Sumatera Utara
8
3. Modification Modificationmerupakan ancaman terhadap integritas.Orang yang tidak berhak berhasil menyadap lalu lintas informasi yang sedang dikirim dan diubah sesuai keinginan orang tersebut.
4. Fabrication Fabricationmerupakan ancaman terhadap integritas. Orang yang tidak berhak meniru (memalsukan) suatu informasi yang ada sehingga orang yang menerimainformasi tersebut menyangka informasi tersebut berasal dari orang yang di hendaki oleh penerima informasi tersebut.[3]
2.2. Craker, Hacker,dan Motif Crakermerupakan individu maupun kelompok orang yang memanfaatkan penemuan penyusup terhadap komputer lain untuk melakukan eksploitasi dan mengambil manfaat dari hasilnya[6]. Seorang cracker dapat melakukan ekploitasi di mana saja dan kapan saja, tanpa harus mempunyai pengetahuan khusus. Cracker jenis ini dikenal sebagai “scriptkiddies”.Motivasi para cracker sangat beragam, diantaranya adalah untuk propaganda (deface web site/ email), kriminal murni, penyerangan destruktif (akibat dendam atau ketidaksukaan terhadap suatu insitusi), dan lain-lain. Apapun motif dari cracker selalu ada pihak yang dirugikan akibat tindakannya.[14] Berbeda dengan Cracker,Hackeradalah entitas yang menemukan kelemahan (vunerability) sistem dalam konteks securityincidents. Seorang hacker bisa menjadi seorang cracker, tetapi seorang cracker belum tentu menguasai kemampuan
yang
dipunyai
seorang
hacker.Motivasi
para
hackeruntuk
menemukan vunerability adalah untuk membuktikan kemampuannya atau sebagai bagian dari kontrol sosial terhadap sistem.[9]
Universitas Sumatera Utara
9
2.3. Kriptografi Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebutkata kriptografi dibagi menjadi dua, kripto dan graphia. Kripto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan itu dikirim dari suatu tempat ke tempat lainya. Dalam perkembanganya, kriptografi juga digunakan untuk mengidentifikasi pengiriman pesan dengan tanda tangan digital dan keaslian pesan dengan sidik jari digital (finger print).[3] Dalam kriptografi terdapat berbagai istilah atau terminologi. Beberapa istilah yang penting untuk diketahui antara lain: 1. Pesan, Plainteks, dan cipherteks Pesan (message) adalah data atau informasi yang dapat dibaca atau dimengertimaknanya. Nama lain untuk pesan adalah plainteks (plaintext) atauteks-jelas(cleartext).Bentuk
pesan
yang
tersandi
disebut
cipherteks(ciphertext) atau kriptogram(cryptogram).Cipherteksharusdapat ditransformasikan kembali menjadi plainteks semula agar pesan yang diterima bisa dibaca.[13] 2. Pengirim dan penerima Komunikasidatamelibatkan
pertukaran
pesanantaraduaentitas.Pengirim(sender) adalah entitas yang mengirim pesan kepada entitaslainnya. Penerima(receiver) adalah entitas yang menerima pesan. 3. Enkripsi dan dekripsi Prosesmenyandikanplainteksmenjadicipherteks
disebut
enkripsi
(encryption).Sedangkanprosesmengembalikancipherteksmenjadiplainteks dinamakan dekripsi (decryption). Enkripsi dan dekripsi dapat diterapkan baik pada pesan yang dikirim maupun pesan yang tersimpan.
Universitas Sumatera Utara
10
4. Cipher dan kunci Algoritma kriptografi disebut jugacipher yaitu aturan untukenkripsidan dekripsi, atau fungsi matematika yang digunakanuntuk enkripsi dekripsi.
Beberapaciphermemerlukan
dan
algoritmayangberbedauntuk
enkripsi dan dekripsi. Kunci Publik Plaintext format *.doc or *.txt
Algoritma
Kunci Privat Ciphertext format *.doc or *.txt
Enkripsi(RSA)
Algoritma Dekripsi (RSA)
Original Plaintext pada tampilan sistem
Gambar 2.1. Proses enkripsi dan dekripsi algoritma RSA Pada gambar 2.1 ditunjukkan gambaran bagaimana jalanya proses enkripsi dan dekripsi algoritma RSA pada sistem yang akan dibuat. Dimana proses dimulai dengan melakukan enkripsi pesan berformat *.txt atau *.doc hingga melakukan menghasilkan sebuah pesan yang acak (ciphertext), dan diakhiri dengan mengembalikan ciphertext kembali ke pesan awal yang disebut dengan dekripsi. e. Sistem kriptografi (cryptosystem) 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.[13] f. Penyadap (eavesdropper) Penyadap (eavesdropper) adalah orang yangmencoba menangkap pesan selama ditransmisikan. Tujuan penyadap adalah untuk mendapatkan informasi
sebanyak-banyaknya
mengenai
sistem
kriptografi
yang
digunakan untuk berkomunikasi dengan maksud untuk memecahkan cipherteks.[13]
Universitas Sumatera Utara
11
2.4. Cryptographic system (cryptosystem) Suatu cryptosystem terdiri dari sebuah algoritma, seluruh kemungkinan plaintext, ciphertextdan kunci-kunci.Secara umum cryptosystem dapatdigolongkan menjadi dua buah, yaitu: 1. Symmetric Cryptosystem Dalam symmetric cryptosystem ini, kunci yang digunakan untuk proses enkripsi dan dekripsi pada prinsipnya identik, tetapi satu buah kunci dapat pula diturunkan dari kunci yang lainnya. Kunci-kunci ini harus dirahasiakan, oleh karena itulah sistem ini sering disebut sebagai secretkey ciphersystem. Contoh dari sistem ini adalah Data Encryption Standard (DES), Blowfish, IDEA. Kunci Enkripsi dan Dekripsi
Ciphertext
Algoritma Enkripsi
Plaintext (Pesan)
Algoritma Dekripsi
Original Plaintext
Gambar 2.2. Proses enkripsi dan dekripsi pada Symmetric Cryptosystem 2. Assymmetric Cryptosystem Dalam assymmetric cryptosystem ini digunakan dua buah kunci. Satu kunci yang disebut kunci publik (public key) dapat dipublikasikan, sedang kunci yang lain yang disebut kunci privat (private key) harus dirahasiakan. Contoh
sistem
ini
antara
lain
RSA
Scheme
dan
Merkle-
HellmanScheme.[11] Kunci Publik Plaintext (Pesan)
Kunci Privat
Algoritma Enkripsi
Ciphertext
Algoritma Dekripsi
Original Plaintext
Gambar 2.3. Proses enkripsi dan dekripsi pada Assymmetric Cryptosystem
Universitas Sumatera Utara
12
2.5.Skema Pertukaran Kunci Deffie-Hellman Algoritma
pertukaran
kunci
Deffie-Hellman
merupakan
suatu
teknik
mempertukarkan kunci sesi (kunci rahasia untuk komunikasi dengan kriptografi simetri) antara 2 orang atau lebih.Teknik pertukaran ini bisa dipecahkan dengan perhitungan logaritma diskrit, walaupun hal tersebut sangat sulit dilakukan. Adapun langkah-langkah proses pertukaran kunci skema Deffie-Hellman adalah sebagai berikut: 1. Misalkan terdapat dua pihak yang saling berkomunikasi. Mula-mula kedua pihak menyepakati dua buah bilangan yang besar (sebaiknya prima) P dan Q, Sedemikian sehingga P
Universitas Sumatera Utara
13
Sender
Receiver P dan Q
Bangkitkan Bilangan X
Bangkitkan Bilangan Y X
Y
Hitung X = Py (mod Q)
Hitung Y= Px(mod Q)
Hitung Key = Yx(mod Q)
Hitung Key = Xy(mod Q)
Gambar 2.4. Proses pertukaran kunci Deffie-Hellman
2.6. Algoritma Rivest Shamir Adleman (RSA) RSA adalah salah satu dari public key criptosystem yang sangat sering digunakan untuk memberikan privasi terhadap keaslian suatu data digital. Keamanan enkripsi/dekripsi data model ini terletak pada kesulitan untuk memfaktorkan bilangan modulus n yang sangat besar. Besarnya bilangan yang digunakan mengakibatkan lambatnya operasi yang melibatkan algoritma RSA ini.[7] Sistem
pengenkripsian
RSA
mempunyai
kemungkinan-kemungkinan
kelemahan yang bisa diserang oleh paraeavesdropper (penyadap, penguping). Berikut adalah kelemahan-kelemahan dalam RSA antara lain: 1. Nilai n terlalu kecil, sehingga mudah untuk difaktorisasi, dimana n = modulus yang digunakan. 2. Jumlah nilai eksponen e, n (eksponen publik atau eksponen enkripsi) yang terlalu kecil. 3. Ukuran kunci yang terlalu kecil, sehingga sandi dapat dijebol dengan brute force attack. 4. Nilai dterlalu kecil, dimana d merupakan eksponen pribadi atau eksponen deskripsi, yang harus dijaga kerahasiaanya.
5. Pengunaan nilai modulus yang familiar, hal ini memudahkan para hacker untuk menjebol sandi yang ada.
Universitas Sumatera Utara
14
2.7. Fungsi Totien Euler φ Fungsi totien euler atau biasa disebut dengan fungsi euler merupakan salah satu fungsi yang dipakai dalam perhitungan matematika pada algoritma RSA. Fungsi euler mendefinisikan φ(n) untuk n ≥ 1menyatakanjumlah bilangan bulat positif < n yang relatif prima terhadap n. Dua bilangan misalnya a dan b dikatakan relatif prima jika gcd(a,b)=1 (pembagi terbesar dari a dan b adalah 1). -
Jika n = pq(p dan q bilangan prima), maka φ(n)= φ(p) φ(q)= (p - 1)(q - 1).
-
Contoh: φ(15)=φ(3)φ(5)=2x4=8 buah bilangan bulat yang relatif prima terhadap 15, yaitu: 1, 2, 4, 7, 8, 11, 13, dan 14.
2.8. Proses Pembuatan Kunci
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 2sehingga 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 dengan menggunakan persamaan e.d ≡ 1 (modφ(n)).
Hasil
dari
algoritma: Kunci publik adalah pasangan (e, n) sedangkan kunci privat adalah pasangan (d, n). 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 7. c = cipherteks
(rahasia) (tidak rahasia)
Universitas Sumatera Utara
15
Contoh: Misalkan A akan membangkitkan kunci publik dan kunci privat miliknya. A memilih p = 47 dan q = 71 (keduanya prima) Selanjutnya A menghitung: n = p. q = 3337 danφ ( n ) = ( p-1 ) ( q-1 ) = 3220 A memilih kunci publik e = 79 karena relatif prima dengan 3320. A mengumumkan nilai e dan n. Selanjutnya A menghitung kunci dekripsi d, sehingga dituliskan berdasarkan persamaan 𝑑𝑑(79) = 1((𝑚𝑚𝑚𝑚𝑚𝑚(3220))
Dengan mencoba nilai-nilai k = 1, 2, 3, …, diperoleh nilai d yang bulat adalah 1019. Ini adalah kunci privat untuk mendekripsi pesan.Kunci harus dirahasiakan A. - Kunci publik (e = 79, n = 3337) - Kunci privat (d = 1019, n = 3337)
2.9.Proses Enkripsi
Proses enkripsi pesan sebagai berikut:
1. Ambil kunci publik penerima pesan e, dan modulus n. 2.
Nyatakan
plainteks
m
menjadi
blok-blok
m1 ,
m2,
...,
sedemikiansehinggasetiap blok merepresentasikan nilai di dalam selang [0, n - 1]. 3.Setiap bok mi dienkripsi menjadi blok ci dengan rumus ci≡ mi e(mod n)…………..…………………..……...……(1). Contoh: Misalkan B mengirim pesan kepada A. Pesan (plainteks) yang akan dikirim ke A adalah m = MAHADI atau dalam desimal (pengkodean ASCII) adalah77 65 72 65 68 73.
Universitas Sumatera Utara
16
B memecah m menjadi blok yang lebih kecil, misalnya m dipecah menjadi 6 blok yang berukuran 2 digit. m1 = 77 m2 = 65
m3 = 72
m4 = 65
m5 = 68
m6 = 73.
Nilai-nilai mi ini masih terletak di dalam selang [0, 3337-1] agar transformasi menjadi satu-ke-satu. B mengetahui kunci publik A adalah e = 79 dan n = 3337. A dapat mengenkripsi setiap blok plainteks sebagai berikut: c1 ≡7779(mod 3337) ≡ 2228 c2≡65
79
( mod 3337) ≡ 541
≡7279(mod 3337) ≡ 285
c4≡ 6579(mod 3337) ≡ 541
≡6879(mod 3337) ≡ 2753
c6≡7379( mod 3337) ≡ 725
c3 c5
Jadi chiperteks yang dihasilkan adalah: c ≡2228 541 285 541 2753 725 2.10. Proses Dekripsi
Proses dekripsi pesan sebagai berikut:
1. Ambil kunci privat penerima pesan d, dan modulus n. 2. Nyatakan plainteks c menjadi blok-blok c1, c2, ..., sedemikian sehingga setiap blok merepresentasikan nilai di dalam selang [0, n - 1]. 3. Setiap blok mi dienkripsi menjadi blok ci dengan rumus mi≡ ci d(mod n)...……………………………………………….(2). Contoh: Dengan kunci privat d = 1019, cipherteks kembali di ubah kedalam plainteks: MAHADI m1≡ 22281019(mod 3337) ≡77
m2≡ 5411019(mod 3337) ≡65
m3 ≡ 2851019 (mod 3337) ≡ 72 m4 ≡5411019 (mod 3337) ≡ 65 m5 ≡ 27531019 (mod 3337)≡68
m6 ≡ 7251019(mod 3337) ≡73
Sehingga cipherteks yang dihasilkan m ≡77 65 72 65 68 73 ≡ MAHADI
Universitas Sumatera Utara
17
2.11.
RSA 512-Bit
RSA 512-bit disebut juga RSA-155, dimana algoritma ini menggunakan kunci sebesar 512-bituntuk mengamankan suatu cipherteks atau panjang kunci maksimal sebesar 64digit (dalam bilangan desimal). Algoritma ini disebut sebagai algoritma RSA 155 karena pada tahun 1999, sebuah grup peneliti berhasil menyelesaikan faktorisasi 155 digit (512-bit) dengan menggunakan metode General Number Field Sieve.Ada sekitar 124 722 179 hubungan dari sebelas situs yang berbeda.Total waktu yang dibutuhkan sekitar 6 bulan, diluar waktu pemilihan polynomial.RSA 512-bit juga ditetapkan sebagai RSA minimum yang masih aman digunakan untuk mengamankan suatu pesan. 2.12. Kriptanalisis (Cryptanalysis) Kriptografi berkembang sedemikian rupa sehingga melahirkan bidang yang berlawanan yaitu kriptanalisis.Kriptanalisis adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan.[13] 2.13. Metode Kriptanalisis pada RSA 2.13. 1. Serangan-serangan pada Algoritma RSA Ada beberapa serangan-serangan pada algoritma RSA dalam proses kriptanalisis antara lain 1. Serangan Greatest Common Divisor (GCD) Jika terdapat dua buah pesan yang dependen linear (m1dan m2,m2 = m1+Δ)dienkripsi dengan sistem kriptografi RSA yang sama, maka dimungkinkan untuk mendapatkan kedua pesan tersebut. Dengan cara
Universitas Sumatera Utara
18
mendapatkan kedua ciphertext, dan didefinisikan dua buah fungsi polynomial P dan Q yang didefinisikan sebagai berikut:
P ( x ) ≡ x2- c1 ( mod n )………………..……………………..………( 4 ) Q ( x ) ≡ ( x + Δ2 )
2
– c2 ( mod n)….………………………………….( 5 )
Dimana: P (x) dan Q(x) = fungsi Poliomial persamaan P dan Q x Δ
= variabel persamaan P dan Q = selisih nilai 2 buah pesan m1 dan m2
C1dan C2
= ciphertext 1 dan 2
Karena pesan m1 merupakan sebuah akar dari P dan Q, m1akan menjadi akar dari fungsi gcd(P,Q), yang kemungkinan besar merupakan polinom berderajat satu. Dengan menyelesaikan fungsi polinom ini, akan didapatkan nilai m1 dan m2 = m1 + Δ.[8] 2. Serangan Common Modulus Serangan ini dapat dilakukan jika diketahui dua buah cipherteks hasil enkripsi, sebuah pesan m yang sama dengan dua buah kunci enkripsi yang berbeda, yaituc1 = me1 mod n dan c2 = me2 mod n. Selain itu, nilai n yang dilakukan dalam enkripsi harus sama, dan kedua kunci enkripsi e1 dan e2 harus relatif prima. Karena faktor pembagi terbesar e1 dan e2 = 1, maka dengan menggunakan algoritma euclidean, terdapat dua bilangan r,s ∈Z sedemikian sehingga:
re1 + se2 = 1…………………….…………………………. …( 6 )
Universitas Sumatera Utara
19
Dengan demikian m dapat dihitung dengan cara sebagai berikut: m≡ mre1 + re2 ≡c1r c2s(mod n)……………………..……….( 7)[13]
Keterangan: c1= ciphertext pertama hasil enkripsi
m = plaintext (pesan asli)
c2 =ciphertex hasil enkripsi kedua
r, s = bilangan bulat untuk proses enkripsi e1, e2 = pasangan kunci proses enkripsi 3. Serangan Faktorisasi Penyerangan ini bertujuan untuk memfaktorkan nilai n menjadi dua buah faktor primanya yaitu p dan q. Jika p dan q berhasil difaktorkan, fungsi euler 𝜑𝜑 = (p-1) (q-1) akan dapat dikomputasi dengan
mudah, dan
kemudian kunci privatd = e-1 mod 𝜑𝜑 (n)dapat segera dihitung.[9]
Contoh: Fermat Factorization, Pollard-rho Factorization, Brent's Factorization Methoddan lainya. 4. Serangan Brute-Force dan Timing Metode Brute-Force adalah metode kriptanalisis yang paling pasti dalam mendapatkan hasil.Dengan mencoba setiap nilai kunci yang mungkin, seorang kriptanalis bisa mendekripsi ciphertext seperti apapun.Masalah utama dari metode ini adalah waktu komputasi yang sangat lama. Contoh: Trial and errormethod Metode Timing memanfaatkan lamanya waktu komputasi dalam proses dekripsi sebuah cipher RSA.[4] 5. Implementation Attack
Universitas Sumatera Utara
20
Implementation
attack,
atau
disebut
jugaprotocol
attackadalah
penyerangan terhadap sebuah kriptosistem yang mengeksploitasi desain dan
penggunaan
yang
buruk
terhadap
kriptosistem
tersebut.Implementation attacktidak melakukan kriptanalisis terhadap algoritma dari RSA.[15] 2.14. Faktorisasi Fermat Teorema ini ditemukan oleh matematikawan Pierre de Fermatditahun 1600.[5] 2.15. Metode Difference of Squares Jika suatu bilangan komposit ganjil n merupakan produk dari dua bilangan yang berdekatan, jadi n = p.q dengan p ≥q >0, p-q tidak terlalu besar, dan p dan q keduanya ganjil, maka p dan q dapat dicari dengan mudah menggunakan Fermat’s Difference of Squares Method [10].Teknik ini didasarkan pada fakta bahwa jika 𝑠𝑠 =
𝑝𝑝+𝑞𝑞 2
,
𝑡𝑡 =
𝑝𝑝−𝑞𝑞 2
jadi p = s + t , q = s - t maka n = p.q = (s - t) (s+ t) = (s 2- t2) Jika p dan q berdekatan, maka t = (p – q)/2 merupakan bilangan yang kecil dan s = (p+q)/2 merupakan bilangan yang kecil dan (p+q)/2 ≥ √𝑛𝑛 dan perbedaan
antara s dan √𝑛𝑛tidak terlalu besar. Jadi dapat dicari s mulai dari s = [√𝑛𝑛] + 1, lalu s = [√𝑛𝑛] + 2, dan seterusnya hingga menemukan nilai s2- n yang merupakan
perfect square (s2 – n merupakan kudrat) yang dijadikan nilai untuk t2 (karena n = s2 – t2).[5] Secara ringkas jalannya metode difference of squares antara lain: 1. Tulis x2 − n = y2. 2. Tentukan k bilangan bulat pertama dimana k2 ≥ n.
Universitas Sumatera Utara
21
3. Urutkan bilangan berikut k2- n, ( k + 1)2 – n , ( k + 2 )2 – n, ( k + 3 )2 – n , … hingga langkah ke m sehingga ( k + m )2 – n adalah bilangan kuadrat.[9] Contoh: Faktorkan bilangan n = 119143 Penyelesaian: Tentukan nilai k hingga k2 ≥ 119143, yang paling mendekati yaitu:k2 = 3452 = 119025 dan k2= 3462 = 119716. selanjutnya urutkan bilangan ( k + m )2- n, m = 0, 1, 2… hasilnya adalah: m0=(345+1)2– n = 3462 - 119143 = 573 m1=(346+1)2– n = 3472 - 119143 = 1266m2=(347+1)2– n = 3482 - 119143 = 1961 m3=(348+1)2– n = 3492 -119143 = 2558
m4=(349+1)2– n = 3502 - 119143 = 3375m5=(350+1)2– n = 3512 - 119143 =
4058m6=(351+1)2– n = 3522 - 119143 = 4761 Ternyata sampai pada m = 6 sudah menghasilkan bilangan kuadrat yaitu: (346 + 6)2 – 119143 = 4761 = 69. Diperoleh
x = 352 dan y = 69
faktorisasi yang diperoleh 119143 = (x + y) (x – y) = (352 + 69) (352 – 69) = 421.283 2.16. Fermat’s Little Theorem Teorema: Untuk bilangan prima p, dan a merupakan suatu bilangan acak yang terletak pada rentang antara 1 sampai dengan p, maka ap≡ a(mod p) danjika a tidak dapat dibagi dengan p, maka
𝑎𝑎𝑝𝑝−1 ≡ 1(𝑚𝑚𝑚𝑚𝑚𝑚 𝑃𝑃)………..………….………….…………………(8)
Teorema ini dapat digunakan untuk mempermudah kalkulasi pemangkatan modulo bilangan prima. Sebagai contoh untuk mengkalkulasikan 274 (mod 13), maka teorema ini dapat digunakan untuk mengkalkulasi 212 = 213-1(mod 13) =1. Jadi 274 = (212)6 x 22 =16 x 22 = 4 (mod 13).
Universitas Sumatera Utara
22
Meskipun dapat digunakan untuk mempermudah kalkulasi, dalam kriptografi peranan penting dari Fermat Little Teorem adalah sebagai dasar dari berbagai teknik enkripsi asimetris.[9]
BAB 3 ANALISIS PERANCANGAN SISTEM
3.1. Analisis Sistem Analisis sistem pada dasarnya merupakan tahapan menguraikan suatu sistem yang utuh kedalam bagian komponen-komponenya dengan maksud mengidentifikasi dan mengevaluasi permasalahan, kesempatan, serta hambatan yang terjadi. Adapun tujuannya menghasilkan suatu pemahaman yang menyeluruh terhadap kebutuhan sistem, sehingga diperoleh tugas-tugas yang akan dikerjakan sistem. Hal ini akan sangat membantu dalam perancangan sistem yang akan diimplementasikan. 3.1.1. Analisis Masalah
Masalah yang terdapat dalam pembangunan aplikasi Hacking algoritma RSA tidak sebatas hanya berfokus pada, bagaimana usaha menguraikan suatu kunci publik kedalam pasangan kunci-kunci penyusunya sehingga dapat menghasilkan
Universitas Sumatera Utara