penerapan teori bilangan pada kriptografi rsa

31
PENERAPAN TEORI BILANGAN PADA KRIPTOGRAFI RSA Diajukan Untuk Memenuhi Tugas-Tugas Dalam Mata Kuliah Seminar Pendidikan Matematika Oleh: Badratu n Nafis NIM: 1206103020080 PROGRAM STUDI PENDIDIKAN MATEMATIKA

Upload: nafisapis

Post on 25-Jan-2017

781 views

Category:

Education


7 download

TRANSCRIPT

Page 1: Penerapan teori bilangan pada kriptografi rsa

PENERAPAN TEORI BILANGAN PADA

KRIPTOGRAFI RSA

Diajukan Untuk Memenuhi Tugas-Tugas Dalam

Mata Kuliah Seminar Pendidikan Matematika

Oleh:

Badratu n Nafis

NIM: 1206103020080

PROGRAM STUDI PENDIDIKAN MATEMATIKA

FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN

UNIVERSITAS SYIAH KUALA

DARUSSALAM, BANDA ACEH

2015

Page 2: Penerapan teori bilangan pada kriptografi rsa

LEMBAR PENGESAHAN

Penerapan Teori Bilangan Pada Kriptografi RSA

Oleh

Nama : Badratun Nafis

NIM :1206103020080

Makalah ini telah disetujui oleh

Dosen Pembimbing

Drs. R.M.Bambang S, M.Pd Suartati, S.Pd, M.Pd

NIP : 195911091986031001 NIP : 197410211999032001

Page 3: Penerapan teori bilangan pada kriptografi rsa

KATA PENGANTAR

Puji dan syukur penulis ucapkan kehadirat Allah SWT, yang telah

melimpahkan rahmat, karunia  hidayah dan Ridho-Nya kepada penulis selama

menyusun dan menyelesaikan makalah seminar ini dengan judul : “Penerapan

Teori Bilangan pada Kriptografi RSA”.

Terselesainya makalah seminar ini tidak lepas dari bantuan banyak pihak.

Sehubungan dengan itu, pada kesempatan ini penulis dengan penuh kerendahan

hati menyampaikan ucapan terima kasih kepada pihak-pihak yang ikut serta

membantu menyelesaikan makalah ini.

Penulisan makalah seminar ini disusun dengan maksud untuk melengkapi

salah satu syarat guna mengikuti mata kuliah Seminar Pendidikan Matematika

pada Fakultas Keguruan dan Ilmu Pendidikan Unsyiah. Penulis menyadari

sepenuhnya bahwa makalah ini masih jauh dari sempurna, dikarenakan

keterbatasan dan kemampuan penulis. Semoga makalah ini dapat bermanfaat bagi

pembaca dan yang memerlukannya.

Banda Aceh, Maret 2015

 

  Penulis

Page 4: Penerapan teori bilangan pada kriptografi rsa

Daftar Isi

Halaman Judul

Lembar Pengesahan.......................................................................................... i

Kata Pengantar.................................................................................................. ii

Daftar Isi........................................................................................................... iii

A. Latar Belakang............................................................................................. 1

B. Rumusan Masalah........................................................................................ 2

C. Tujuan Penulisan.......................................................................................... 2

D. Pembahasan................................................................................................. 2

1. Sejarah Kriptografi RSA........................................................................ 2

2. Tujuan Kriptografi................................................................................ 3

3. Teori Bilangan...................................................................................... 4

3.1 Aritmatika Modulo........................................................................ 4

3.2 Relatif Prima.................................................................................. 4

4. Penerapan Teori Bilangan pada Proses Algoritma RSA....................... 5

5. Algoritma RSA...................................................................................... 8

5.1 Pembangkitan pasangan kunci........................................................ 8

5.2 Enkripsi........................................................................................... 9

Page 5: Penerapan teori bilangan pada kriptografi rsa

5.3 Dekripsi........................................................................................... 9

6. Kekuatan dan Keamanan RSA..............................................................13

E. Penutup.........................................................................................................14

Daftar pustaka...................................................................................................16

Page 6: Penerapan teori bilangan pada kriptografi rsa

A. LATAR BELAKANG MASALAH

Pada zaman sekarang ini dilingkupi oleh kriptografi. Mulai dari transaksi

di mesin ATM, transaksi di bank, transaksi dengan kartu kredit, percakapan

melalui telepon genggam, mengakses internet, sampai mengaktifkan peluru

kendali pun menggunakan kriptografi. Begitu pentingnya kriptografi untuk

keamanan informasi (information security), sehingga jika berbicara mengenai

masalah keamanan yang berkaitan dengan penggunaan komputer, maka orang

tidak bisa memisahkannya dengan kriptografi.

Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan

(Rinaldi Munir, 2012 : 203). Keamanan pesan diperoleh dengan menyandikannya

menjadi pesan yang tidak bermakna. Sehingga pesan rahasia yang ingin dikirim

kepada yang berhak menerima pesan tetap terjaga kerahasiaanya oleh orang-orang

yang tidak berhak menerima pesan.

Salah satu teori yang sering digunakan dalam kriptografi adalah teori

bilangan (number theory). Banyak permasalahan dalam teori bilangan yang

digunakan pada kriptografi, misalnya permasalahan RSA (Rivest, Shamir,

Adleman), logaritma diskrit, Diffie-Hellman, dan subset sum problem.

Seperti yang sudah di sebutkan di atas, permasalahan kriptografi yang

berpusat pada RSA adalah salah satu persoalan dalam teori bilangan. Aritmatika

modulo, relatif prima dan balikan modulo adalah materi pada teori bilangan yang

akan memodifikasikan pada penerapan kriptografi RSA.

Page 7: Penerapan teori bilangan pada kriptografi rsa

B. RUMUSAN MASALAH

Berdasarkan latar belakang masalah di atas maka rumusan masalah

dalam penulisan ini adalah “Bagaimanakah aplikasi teori bilangan pada skema

kriptografi RSA?”

C. TUJUAN PENULISAN

Penulisan makalah ini bertujuan untuk mempelajari lebih lanjut tentang

teori bilangan pada penggunaan skema kriptografi RSA.

D. PEMBAHASAN

1. Sejarah kriptografi RSA(Rivest-Shamir-Adleman)

RSA adalah salah satu contoh kriptografi yang menerapkan konsep

publik-key. Algoritma ini pertama kali dipublikasikan ditahun 1976 oleh Ron

Rivest, Adi Shamir dan Leonard Adleman dari Massachusetts    Institute of

Technology  (MIT) (Rinaldi Munir, 2012:210). Nama RSA sendiri adalah

singkatan dari   nama belakang mereka bertiga (Rivest Shamir Adleman).

Dalam bahasa kriptografi, kode disebut chipper, pesan yang belum

disandikan disebut plainteks, dan pesan yang belum dikodekan disebut chiperteks.

Proses mengubah dari planiteks menjadi chiperteks disebut enkripsi dan proses

mengubah dari chiperteks menjadi plainteks disebut dekripsi (Anton Rorrer,

2004:306). Sedangkan kunci adalah sebuah bilangan yang dirahasiakan yang

digunakan dalam proses enkripsi dan dekripsi.

Page 8: Penerapan teori bilangan pada kriptografi rsa

Proses Enkripsi dan Dekripsi

Seperti yang telah di jelaskan, proses enkripsi mengubah plainteks

menjadi chiperteks sehingga isi informasi pada pesan tersebut sukar untuk

dimengerti. Pada kriptografi RSA kunci Enkripsi tidak dirahasiakan dan diketahui

oleh umum (dinamakan kunci public), namun kunci untuk dekripsi bersifat

rahasia. Sehingga RSA menggunakan dua kunci yang berbeda yaitu untuk proses

enkripsi dan dekripsi.

2. Tujuan Kriptografi

Kriptogrfi betujuan untuk memberikan layanan pada aspek-aspek

keamanan antara lain:

1. Confidentiality (kerahasiaan) yaitu layanan yang ditunjukan untuk

menjaga agar isi pesan yang di kirimkan tidak dapat dibaca oleh pihk lain

(kecuali pihak pengirim, pihak penerima/pihak-pihak yang memiliki izin).

2. Data integrity (keutuhan data) yaitu layanan yang mampu menjadikan

pesan masih asli/utuh atau belum pernah dimanipulasi selama masa waktu

pengiriman.

Plainteks Asaldekripsi

CiphertekssEnkripsi

Plainteks

Page 9: Penerapan teori bilangan pada kriptografi rsa

3. Authentication (otentiikasi) yaitu layanan yang berhubungan dengan

identifikasi. Baik mengidentifikasi kebenaran pihak-pihak yang

berkomunikasi maupun mengidentifikasi kebenaran sumber pesan.

4. Non-repudiation (anti penyangkalan) yaitu layanan yang dapat mencegah

suatu pihak untuk menyangkal aksi yang dilakukan sebelumnya.

3. Teori Bilangan

3.1 Aritmatika Modulo

Aritmatika modulo (modular arithmethic) memainkan peran yang penting

dalam komputasi integer, khususnya pada aplikasi kriptografi (Rinaldi Munir,

2012:191). Operator yang digunakan pada aritmatika modulo adalah mod.

Operator mod memberikan sisa pembagian . Sebagai contoh 53 mod 5

memberikan hasil = 10 dan sisa = 3. Maka 53 mod 5 = 3.

Definisi: misalkan a adalah bilangan bulat dan m adalah bilangan bulat > 0.

Operasi a mod m (dibaca “a modulo m”) memberikan sisa jika a

membagi m. Dengan kata lain, a mod m = r sedemikian sehingga a =

mq + r, dengan 0 ≤ r < m.

Bilangan m diebut modulo atau modulus, dan hasil aritmatika modulo m

terletak didalam himpunan {0, 1, 2, ..., m – 1}. Jika a mod m = 0, maka dikatakan

bahwa a adalah kelipatan dari m, yaitu a habis dibagi dengan m.

3.2 Relatif Prima

Page 10: Penerapan teori bilangan pada kriptografi rsa

Definisi: Dua buh bilangan bulat a dan b dikatakan relatif prima (relative prime)

jika PBB(a, b) = 1.

Contoh 1:

3 dan 5 adalah relatif prima karena PBB(3, 5) = 1

31 dan 120 adalah relatif prima karena PBB(31, 120) = 1

Jika a dan b relatif prima, maka dapat ditemukan bilangan bulat m dan n

sedemikian sehingga:

ma + nb = 1

Contoh 2:

Bilangan 20 dan 3 adalah relatif prima karena PBB(20, 3) = 1, atau dapat

ditulis:

2 . 20 + (-13) . 3 = 1

Dengan m = 2 dan n = -13

4. Penerapan Teori Bilangan pada Proses Algoritma RSA

Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan

yang besar menjadi faktor-faktor prima (Rinaldi Munir, 2012:213). Pemfaktoran

dilakukan untuk memperoleh kunci pribadi. Besaran-besaran yang digunakan

pada algoritma RSA:

Page 11: Penerapan teori bilangan pada kriptografi rsa

a. p dan q bilangan prima (rahasia)

b. r = p q (tidak rahasia)

c. (r) = r(1 – 1/p1)(1 – 1/p2) (rahasia)

d. PK (kunci enkripsi) (tidak rahasia)

e. SK (kunci dekripsi) (rahasia)

f. X (plainteks) (rahasia)

g. Y (cipherteks) (tidak rahasia)

Algoritma RSA didasarkan pada teorema Euler yang menyatakan bahwa

(Sriyono Hilda, 2013):

a(r) 1 (mod r) ......................................(1)

dengan ketentuan,

a. a harus relatif prima terhadap r

b. (r) = r(1 – 1/p1)(1 – 1/p2) … (1 – 1/pn), yang dalam hal ini p1, p2, …,

pn adalah faktor prima dari r.

(r) adalah fungsi yang menentukan berapa banyak dari bilangan-

bilangan 1, 2, 3, …, r yang relatif prima terhadap r. Berdasarkan sifat am bm

(mod r) untuk m bilangan bulat 1, maka persamaan (1) dapat ditulis menjadi :

a m(r) 1m (mod r)

atau

am(r) 1 (mod r)............................................... (2)

Page 12: Penerapan teori bilangan pada kriptografi rsa

Bila a diganti dengan X, maka persamaan menjadi

Xm(r) 1 (mod r) .............................................. (3)

Berdasarkan sifat ac bc (mod r), maka bila persamaan (3) dikali

dengan X menjadi:

Xm(r) + 1 X (mod r) .......................................... (4)

X relative prima terhadap r.

Misalkan SK dan PK dipilih sedemikian sehingga :

SK PK 1 (mod (r))

Atau

SK PK = m(r) + 1......................................... (5)

Substitusi (4) ke dalam persamaan (5) menjadi:

X SK PK X (mod r)...........................................(6)

Persamaan (7) dapat ditulis kembali menjadi:

(X PK)SK X (mod r)..........................................(7)

Yang artinya, perpangkatan X dengan PK diikuti dengan perpangkatan

dengan SK menghasilkan kembali X semula. Berdasarkan persamaan (7), maka

enkripsi dan dekripsi dirumuskan sebagai berikut:

EPK(X) = Y XPK mod r.....................................(8)

DSK(Y) = X YSK mod r.....................................(9)

Karena SK PK = PK SK, maka enkripsi diikuti dengan dekripsi

ekivalen dengan dekripsi diikuti enkripsi:

Page 13: Penerapan teori bilangan pada kriptografi rsa

ESK (DSK(X)) = DSK (EPK(X)) XPK mod r...........(10)

Oleh karena XPK mod r (X + mr)PK mod r untuk sembarang bilangan

bulat m, maka tiap plainteks X, X + r, X + 2r, …, menghasilkan cipherteks yang

sama. Dengan kata lain, transformasinya dari banyak ke satu. Agar

transformasinya satu-ke-satu, maka X harus dibatasi dalam himpunan {0, 1, 2, …,

r – 1} sehingga enkripsi dan dekripsi tetap benar seperti pada persamaan (8) dan

(9).

5. Algoritma RSA

5.1 Pebangkitan Pasangan Kunci

Secara ringkas, algoritma RSA terdidiri dai tiga bagian, yaitu bagian

untuk membangkitkan pasangan kunci, bagian untuk ekripsi dan bagian untuk

dekripsi (Rinaldi Munir, 2012: 211):

1. Pilih dua buah bilangan pria sebarang, sebut p dan q. Jaga kerahasiaan p

dan q ini.

2. Hitung r = pq. Besaran n tidak perlu dirahasiakan.

3. Hitung (r) = r(1 – 1/p1)(1 – 1/p2). Setelah (r) dihitung, p dan q dapat

dihapus untuk diketahui nya oleh pihak lain.

4. Pilih sebuah bilangan bulat untuk kunci public, sebut namanya PK, yang

relative prima terhadap (r).

5. Hitung kunci dekripsi, PK¸ dengan kekongruenan SK.PK 1(mod (r)).

Perhatikan bahwa SK.PK 1(mod (r)) ekivalen dengan SK.PK = 1 +

m(r), sehingga SK dapat dihitung dengan:

Page 14: Penerapan teori bilangan pada kriptografi rsa

SK=1+mφ (r )

PK ................................................ (11)

Akan terdapat bilangan bulat m yang dapat menyebabkan bilangan blat

pada SK.

5.2 Enkripsi

1. Nyatakan pesan menjadi blok-blok plaintek: x1, x2, x3, ... (harus dipenuhi

persyaratan bahwa nilai xi harus terletak dalam himpunan nilai 0, 1, 2, …,

(r – 1) untuk menjammin hasil perhitungn tidak berada di luar himpunan).

2. Hitung blok cipherteks yi untuk blok plaintek xi dengan persamaan:

yi = xiPK

mod r

dalam hal ini PK adalh kunci publik

5.3 Dekripsi

Proses dekripsi dilakukan dengan menggunakan persamaan

xi = yiSK

mod r

yang dalam hal ini, SK adalah kunci pribadi.

Contoh 4:

Misalkan plainteks yang akan dienkripsikan adalah X = 23

Langkah pertama kita harus membangkitkan pasangan kuncinya.

1. Dengan 2 buah bilangan prima, misal kita ambil contoh kecil a=5 dan b=7

2. Hitung r = pq; r = 5 . 7 = 35

3. Hitung (r) = r(1 – 1/p1)(1 – 1/p2)

Page 15: Penerapan teori bilangan pada kriptografi rsa

(r) = (1 – 1/5)(1 - 1/7) = 24

4. Pilih PK, sehingga PK tak bisa membagi rata (r), misal PK = 5

5. Hitung SK, sehingga SK.PK 1(mod (r))

(SK . 5) mod 24=1;

SK = 29 

6. Public key{r, PK}={35,5}

7. Private key{r, SK}={35,29}

Langkah kedua, setelah kita peroleh pembangkit kuncinya maka kita akan

mengekripsi plainteks.

1. Dengan public key tadi {35,5}, hitung pesan baru.

Pesan bisa dipecah jadi beberapa blok, jika hanya 1 juga bisa.

2. Cipher = (XPK) mod r;

Cipher=(235) mod 35;

Cipher = 6436343 mod 35 = 18

3. Kita mendapat cipher=18

Langkah ketiga (untuk penerima pesan), kita akan mendekripsikan

menjadi plainteks asalnya

1. private key kita tadi {35, 29} dan cipher = 18

pesan bisa dipecah jadi beberapa blok(mengikuti saat tahap encrypt)

2. X = (YSK) mod r;

X = (1829) mod 35 = 23

3. Sekarang kita memperoleh kembali X = 23.

Page 16: Penerapan teori bilangan pada kriptografi rsa

Contoh 5:

Misalkan plainteks yang akan dienkripsikan adalah X = HARI INI atau dalam

sistem desimal (pengkodean ASCII) adalah 7265827332737873.

Jawab:

Langkah pertama kita harus membangkitkan pasangan kuncinya.

Misalkan p = 47 dan q = 71 (keduanya prima). Selanjutnya, hitung nilai r = p.q =

3337 dan (r) = r(1 – 1/p1)(1 – 1/p2) = 3220.

Pilih kunci public SK = 79, karena 79 relatif prima dengan 3220. Nilai PK dan r

dapat dipublikasikan ke umum.

Selanjutnya, akan dihitung kunci dekripsi SK seperti yang dituliskan pada langkah

instruksi 5 dengan mengunakan persamaan (11).

SK=1+(m×3220 )79

Dengan mencoba nilai-nili m = 1, 2, 3, …, r – 1 di peroleh nilai Sk bilangan bulat

adalah 1019. Ini adalah kunci dekripsi yang harus dirahasiakan.

Langkah kedua, setelah kita peroleh pembangkit kuncinya maka kita akan

mengekripsi plainteks.

Pecah X menjadi blok yang lebih kecil, misalnya X dipecah menjadi enam blok

yang berukuran 3 digit:

x1 = 726 x4 = 273

Page 17: Penerapan teori bilangan pada kriptografi rsa

x2 = 582 x5 = 787

x3 = 733 x6 = 003

Nilai-nilai xi ini masih terletak di dalam rentang 0 sampai 3337 – 1 (agar

transformasi menjadi satu-ke-satu).

Blok-blok plainteks dienkripsikan sebagai berikut:

72679 mod 3337 = 215 = y1

58279 mod 3337 = 776 = y2

73379 mod 3337 = 1743 = y3

27379 mod 3337 = 933 = y4

78779 mod 3337 = 1731 = y5

00379 mod 3337 = 158 = y6

Jadi, cipherteks yang dihasilkan adalah

Y = 215 776 1743 933 1731 158.

Dekripsi dilakukan dengan menggunakan kunci rahasia

SK = 1019

Langkah ketiga (untuk penerima pesan), kita akan mendekripsikan

menjadi plainteks asalnya.

Blok-blok cipherteks didekripsikan sebagai berikut:

2151019 mod 3337 = 726 = x1

7761019 mod 3337 = 582 = x2

17431019 mod 3337 = 733 = x3

Page 18: Penerapan teori bilangan pada kriptografi rsa

Blok plainteks yang lain dikembalikan dengan cara yang serupa. Akhirnya kita

memperoleh kembali plainteks semula

P = 7265827332737873

yang dalam karakter ASCII adalah

P = HARI INI.

6. Kekuatan dan Keamanan RSA

Kekuatan algorima RSA terletak pada tingakat kesulitan dalam

memfaktorkan bilangan menjadi factor primnya, ang dalam hal ini adalah

menfaktorkan r menjadi p dan q, maka (r) = r(1 – 1/p1)(1 – 1/p2) dapat dihitung.

Selanjutnya karena kunci enkripsi PK diumumkan (tidak dirahasikan), maka kunci

dekripsi SK dapat dihitung dari persamaan SK.PK 1(mod (r)). Ini berarti

proses dekripsi dapat dilakukan oleh orang yang tidak berhak.

Penemu algoritma RSA menyarankan nilai p dan q panjangnya lebih dari

100 digit. Dengan demikian kali r = pq akan berukuran lebih dari 200 digit

(Rinaldi Munir, 2012:213). Bayangkan berapa besarr usaha kerja yang diperlukan

untuk menfaktorkan bilangan bulat 200 digit menjadi factor primanya. Menurut

Rivest dkk: “usaha untuk mencari factor bilangan 200 digit membutuhkan waktu

komputasi selama 4 milayar tahun! (dengan asumsi bahwa algoritma pemfaktoran

yang digunakan adalah algoritma yang tercepat saat ini dan komputer yang

dipakai mempunyai kecepatan 1 milidetik)”.

Page 19: Penerapan teori bilangan pada kriptografi rsa

Untunglah algoritma yang paling efisien untuk menfaktorkan bilangan

yang besar belum ditemukan. Inilah yang membuat algoritma RSA tetap dipakai

hingga saat ini. Selagi belum ditemukan algoritma yang efisian untuk

menfaktokan bilangan bulat menjadi bilangan prima, maka algoritma RSA masih

direkomendasikan untuk penyandian pesan.

E. PENUTUP

1. Kesimpulan

Aritmatika modulo dan relatif prima adalah 2 buah topik pada teori

bilangan yang dapat digunakan untuk membahas penyelesaiaan kriptografi. Pada

kriptografi ada dua kunci yang disebut dengan enkripsi dan dekripsi. Memperoleh

kunci pada kriptografi dapat digunakan dengan mengambil sebarang 2 buah

bilangan prima yang relatif prima.

2. Saran

Dalam membuat kunci pasangan prima sebaiknya dihitung terlebih

dahulu relatife primanya, agar tidak terjadi kesalahan. Jika ingin membuat pesan

rahasia sebaiknya menggunakan bilangan bulat yang paling besar agar

kerahasiaan kita tetap terjaga dan sulit bagi yang bukan berhak menerima untuk

membobol pesan kita.

Page 20: Penerapan teori bilangan pada kriptografi rsa

DAFTAR PUSTAKA

Munir, Rinaldi. 2012. Matematika Diskrit. Bandung: Informatika

Rorrer, Chris & Howard Anton. 2004. Aljabar Linear Elementer. Jakarta:

Erlangga

Hilda, Sriyono. 2013. Kajian Perhitungan Dan Penerapan Algoritma RSA Pada Proses Pengamanan Data (online). (http://rektek.uhamka.ac.id/wp-content/uploads/2013/10/UHAMKA, diakses 23 Maret 2015)

Page 21: Penerapan teori bilangan pada kriptografi rsa

SOAL-SOAL DARI HASIL PRESENTASI

1. Bagaimana cara kita menyelesaikan sebuah soal jika dari soal yang tertera

terdapat pangkat bilangan prima yang sangat besar?

2. Seberapa lama kita dapat memecahkan kode dari proses enkripsi?

JAWABAN DARI HASIL PRESENTASI

1. Dari contoh yang kelima terdapat contoh perpangkatan bilangan prima

yang besar dan kita dapat menyelesaikan dengan melihat pedoman dari

contoh trsebut.

2. Keaman dari kriptografi RSA sangatlah ketat, sehingga proses dari

pemecahannya bisa sangat lama. Penyerangan yang paling umum pada

RSA ialah pada penanganan masalah faktorisasi pada bilangan yang sangat

besar. Apabila terdapat faktorisasi metode yang baru dan cepat telah

dikembangkan, maka ada kemungkinan untuk membongkar RSA.

Pada tahun 2005, bilangan faktorisasi terbesar yang digunakan secara

umum ialah sepanjang 663 bit, menggunakan metode distribusi mutakhir.

Kunci RSA pada umumnya sepanjang 1024—2048 bit. Beberapa pakar

meyakini bahwa kunci 1024-bit ada kemungkinan dipecahkan pada waktu

dekat (hal ini masih dalam perdebatan), tetapi tidak ada seorangpun yang

berpendapat kunci 2048-bit akan pecah pada masa depan yang terprediksi.

Semisal Eve, seorang eavesdropper (pencuri dengar—penguping),

mendapatkan public key N dan e, dan ciphertext c. Bagimanapun juga, Eve

Page 22: Penerapan teori bilangan pada kriptografi rsa

tidak mampu untuk secara langsung memperoleh d yang dijaga

kerahasiannya oleh Alice. Masalah untuk menemukan n seperti

pada ne=c mod N di kenal sebagai permasalahan RSA.

Cara paling efektif yang ditempuh oleh Eve untuk

memperoleh n dari c ialah dengan melakukan

faktorisasi N kedalam p dan q, dengan tujuan untuk menghitung (p-1)(q-1)

yang dapat menghasilkan d dari e. Tidak ada metode waktu polinomial

untuk melakukan faktorisasi pada bilangan bulat berukuran besar di

komputer saat ini, tapi hal tersebut pun masih belum terbukti.

Masih belum ada bukti pula bahwa melakukan faktorisasi N adalah satu-

satunya cara untuk memperoleh n dari c, tetapi tidak ditemukan adanya

metode yang lebih mudah (setidaknya dari sepengatahuan publik).

Bagaimanapun juga, secara umum dianggap bahwa Eve telah kalah

jika N berukuran sangat besar.

Jika N sepanjang 256-bit atau lebih pendek, N akan dapat difaktorisasi

dalam beberapa jam pada Personal Computer, dengan

menggunakan perangkat lunak yang tersedia secara bebas.

Jika N sepanjang 512-bit atau lebih pendek, N akan dapat difaktorisasi

dalam hitungan ratusan jam seperti pada tahun 1999. Secara

teori,perangkat keras bernama TWIRL dan penjelasan dari Shamir dan

Tromer pada tahun 2003 mengundang berbagai pertanyaan akan keamanan

Page 23: Penerapan teori bilangan pada kriptografi rsa

dari kunci 1024-bit. Santa disarankan bahwa N setidaknya sepanjang

2048-bit.

Pada thaun 1993, Peter Shor menerbitkan Algoritma Shor, menunjukkan

bahwa sebuah komputer quantum secara prinsip dapat melakukan

faktorisasi dalam waktu polinomial, mengurai RSA dan algoritma lainnya.

Bagaimanapun juga, masih terdapat pedebatan dalam pembangunan

komputer quantum secara prinsip.