Teknik Hacking Kunci Algoritma Rivest Shamir Adleman (Rsa) 512-Bit Dengan Menggunakan Metode Difference Of Squares
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:
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
Interruption merupakan 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
Interception merupakan ancaman terhadap kerahasiaan (secrecy).Informasi
yang ada disadap atau orang yang tidak berhak mendapat akses kekomputer dimana informasi disimpan.
3. Modification
Modification merupakan ancaman terhadap integritas.Orang yang tidak
berhak berhasil menyadap lalu lintas informasi yang sedang dikirim dan diubah sesuai keinginan orang tersebut.
4. Fabrication
Fabrication merupakan 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]
Craker, Hacker,dan Motif 2.2.
Craker merupakan 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]
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.
4. Cipher dan kunci
Algoritma kriptografi disebut jugacipher yaitu aturan untukenkripsidan dekripsi, atau fungsi matematika yang digunakanuntuk enkripsi dan dekripsi. Beberapaciphermemerlukan algoritmayangberbedauntuk enkripsi dan dekripsi.
Kunci Publik Kunci Privat Original Plaintext Plaintext
Ciphertext format pada tampilan sistem format *.doc
- .doc or *.txt Algoritma Algoritma or *.txt Dekripsi (RSA ) Enkripsi (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]
2.4. Cryptographic system (cryptosystem)
Suatu cryptosystem terdiri dari sebuah algoritma, seluruh kemungkinan plaintext,
ciphertext dan 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 secret-
key ciphersystem . Contoh dari sistem ini adalah Data Encryption Standard (DES), Blowfish, IDEA.
Kunci Enkripsi dan Dekripsi
Ciphertext Original PlaintextAlgoritma Algoritma Plaintext
Dekripsi Enkripsi (Pesan)
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 Kunci Privat
Plaintext Original Ciphertext
(Pesan) Algoritma Algoritma Plaintext Enkripsi Dekripsi
Gambar 2.3. Proses enkripsi dan dekripsi pada Assymmetric Cryptosystem2.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<Q, nilai P dan Q tidak perlu rahasia, bahkan kedua pihak dapat membicarakanya pada saluran yang tidak aman sekalipun.
2. Pihak pertama membangkitkan bilangan acak x yang besar dengan mengirim hasil perhitungan berikut kepada pihak kedua:
X = P y (mod Q) .
3. Pihak kedua membangkitkan bilangan acak y yang besar dengan mengirimkan hasil perhitungan berikut kepada pihak pertama:
Y= P x (mod Q) .
4. Pihak pertama menghitung K= Y
x (mod Q).
5. Pihak kedua menghitung K = X
y (mod Q).
6. Jika perhitungan dilakukkan dengan benar maka K= K’, dengan demikian pihak pertama dan kedua memiliki sebuah kunci yang sama tanpa diketahui pihak lain. Adapun gambaran proses pertukaran kunci dari skema Deffie-Hellman antara seorang sender dan receiver ditunjukan pada gambar 2.4.
Bangkitkan Bilangan X Bangkitkan Bilangan Y
SenderP dan Q
ReceiverHitung X = P (mod Q) Hitung Y= P (mod Q)
y x
X Y
Hitung Key = Y (mod Q) x Hitung Key = X (mod Q) yGambar 2.4. Proses pertukaran kunci Deffie-Hellman2.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. eksponen publik atau eksponen enkripsi) yang
Jumlah nilai eksponen e, n ( terlalu kecil.
3. Ukuran kunci yang terlalu kecil, sehingga sandi dapat dijebol dengan brute .
force attack 4. eksponen pribadi atau eksponen
Nilai dterlalu kecil, dimana d merupakan deskripsi, yang harus dijaga kerahasiaanya.
5. Pengunaan nilai modulus yang familiar, hal ini memudahkan para hacker untuk menjebol sandi yang ada.
- 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.
sehingga p dapat diperoleh dengan menarik akar pangkat dua dari n).
1. p dan q bilangan prima (rahasia) 2. n = p.q (tidak rahasia) 3.
Hasil dari algoritma: Kunci publik adalah pasangan (e, n) sedangkan kunci privat adalah pasangan (d, n). Algoritma RSA memiliki besaran-besaran sebagai berikut:
e.d ≡ 1 (modφ(n)).
5. Bangkitkan kunci privat dengan menggunakan persamaan
4. Pilih kunci publik e, yang relatif prima terhadap φ(n).
3. Hitung φ(n) = (p - 1) (q - 1).
2
2.7. Fungsi Totien Euler φ
2. Hitung n = p.q (sebaiknya p ≠ q, sebab jika p = q maka n = p
1. Pilih dua bilangan prima sembarang, p dan q.
Dalam membuat suatu sandi, RSA mempunyai cara kerja dalam membuat kunci publik dan kunci privat adalah sebagai berikut:
2.8. Proses Pembuatan Kunci
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).
φ(n) untuk n ≥ 1menyatakanjumlah bilangan bulat positif <
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) = (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)
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 m
1 , m 2 , ...,
sedemikiansehinggasetiap blok merepresentasikan nilai di dalam selang [0, n - 1].
3.Setiap bok m i dienkripsi menjadi blok c i dengan rumus
e c i i (mod n) …………..…………………..……...……(1).
≡ m
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.
B memecah m menjadi blok yang lebih kecil, misalnya m dipecah menjadi 6 blok yang berukuran 2 digit. m 1 = 77 m
2 = 65 m 3 = 72 m 4 = 65 m 5 = 68 m 6 = 73.
Nilai-nilai m i 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:
79
79 c 1 (mod 3337) 2 ( mod 3337) c
3 ≡77 ≡ 2228 c ≡65 ≡ 541
79
79 (mod 3337) c (mod 3337) c ≡72 ≡ 285
4 ≡ 65 ≡ 541
5
79 c 6 ( mod 3337) ≡6879(mod 3337) ≡ 2753 ≡73 ≡ 725
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.
1 , c 2 , ..., sedemikian sehingga
Nyatakan plainteks c menjadi blok-blok c setiap blok merepresentasikan nilai di dalam selang [0, n - 1]. 3. i dienkripsi menjadi blok c i dengan rumus
Setiap blok m
d m i i (mod n)...……………………………………………….(2).
≡ c
Contoh: Dengan kunci privat d = 1019, cipherteks kembali di ubah kedalam plainteks: MAHADI
1019 1019 m 1 (mod 3337) m 2 (mod 3337) ≡ 2228 ≡77 ≡ 541 ≡65
1019 1019 m (mod 3337) (mod 3337)
3 ≡ 285 ≡ 72 m 4 ≡541 ≡ 65 1019 1019 m 5 (mod 3337) m 6 (mod 3337)
≡ 2753 ≡68 ≡ 725 ≡73
Sehingga cipherteks yang dihasilkan m
≡77 65 72 65 68 73 ≡ MAHADI
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 (m
1 dan m 2 , m 2 =
1 + m Δ)dienkripsi dengan sistem kriptografi RSA yang sama, maka
dimungkinkan untuk mendapatkan kedua pesan tersebut. Dengan cara mendapatkan kedua ciphertext, dan didefinisikan dua buah fungsi
polynomial P dan Q yang didefinisikan sebagai berikut:
2 P ( x ) - c
1 ( mod n ) ………………..……………………..………( 4 )
≡ x2
2 Q ( x ) ) – c 2 ( mod n) ….………………………………….( 5 ) ≡ ( x + Δ
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 C 1 dan C 2 = ciphertext 1 dan 2
Karena pesan m
1 merupakan sebuah akar dari P dan Q, m 1 akan
menjadi akar dari fungsi gcd(P,Q), yang kemungkinan besar merupakan polinom berderajat satu. Dengan menyelesaikan fungsi polinom ini, akan
1 dan m 2 = m
1 + didapatkan nilai m Δ.[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
e1 e2
berbeda, yaituc
1 = m mod n dan c 2 = m mod n . Selain itu, nilai n yang
dilakukan dalam enkripsi harus sama, dan kedua kunci enkripsi e dan e
1
2
harus relatif prima. Karena faktor pembagi terbesar e
1 dan e 2 = 1, maka
dengan menggunakan algoritma euclidean, terdapat dua bilangan r,s ∈Z sedemikian sehingga:
re 1 + se 2 = 1 …………………….…………………………. …( 6 )
Dengan demikian m dapat dihitung dengan cara sebagai berikut:
re r s 1 + re2 m c 2 (mod n) ……………………..……….( 7)[13] ≡ m ≡c
1 Keterangan:
1 = m = plaintext (pesan asli)
c ciphertext pertama hasil enkripsi
c 2 =ciphertex hasil enkripsi kedua
r, s = bilangan bulat untuk proses enkripsi
1 , 2 = pasangan kunci proses enkripsi
e e 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
- -1
kemudian kunci privatd = e mod (n)dapat segera dihitung.[9]
Contoh: Fermat Factorization, Pollard-rho Factorization, Brent's Factorization Method dan 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
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
2
2
maka n = p.q = (s - t) (s+ t) = (s - t ) 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
2
s = [
- - n yang merupakan
√ ] + 2, dan seterusnya hingga menemukan nilai s
2
2 perfect square (s – n merupakan kudrat) yang dijadikan nilai untuk t (karena n =
2
2 s – t ).[5]
Secara ringkas jalannya metode difference of squares antara lain:
2
2 1. .
− n = y Tulis x
2 2.
Tentukan k bilangan bulat pertama dimana k ≥ n.
3. Urutkan bilangan berikut
2
2
2
2
k - n, ( k + 1) – n , ( k + 2 ) – n, ( k + 3 ) – n , … hingga langkah ke m
2
sehingga ( k + m ) – n adalah bilangan kuadrat.[9] Contoh: Faktorkan bilangan n = 119143
2 Penyelesaian: Tentukan nilai k hingga k
≥ 119143, yang paling mendekati
2
2
2
2 yaitu:k = 345 = 119025 dan k = 346 = 119716.
2
selanjutnya urutkan bilangan ( k + m ) - n, m = 0, 1, 2… hasilnya adalah: 2
2 2
2 =(345+1) =(346+1)
m – n = 346 - 119143 = 573 m 1 – n = 347 - 119143 = 2
2 2
2
1266m 2 =(347+1) – n = 348 - 119143 = 1961 m 2 3 =(348+1) – n = 349 -119143 =
2 2
2
2558 m 4 =(349+1) – n = 350 - 119143 = 3375m 2 5 =(350+1) – n = 351 - 119143 =
2 =(351+1)
4058m 6 – n = 352 - 119143 = 4761 Ternyata sampai pada m = 6 sudah menghasilkan bilangan kuadrat yaitu:
2
(346 + 6) – 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
p
terletak pada rentang antara 1 sampai dengan p, maka a ≡ a(mod p) danjika a tidak dapat dibagi dengan p, maka
−1
≡ 1( )………..………….………….…………………(8) Teorema ini dapat digunakan untuk mempermudah kalkulasi pemangkatan
74
modulo bilangan prima. Sebagai contoh untuk mengkalkulasikan 2 (mod 13),
12 13-1 maka teorema ini dapat digunakan untuk mengkalkulasi 2 = 2 (mod 13) =1. 74 =
12
6
2
6
2 Jadi 2 (2 ) x 2 =1 x 2 = 4 (mod 13).
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