Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains
Program Studi Matematika
Oleh:
Teodora Kumala Anggi Anggraini NIM: 043114010
PROGRAM STUDI MATEMATIKA JURUSAN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
ii
Presented as Partial Fulfillment of the Requirements To Obtain the SARJANA SAINS Degree
In Mathematics
By:
Teodora Kumala Anggi Anggraini Student Number: 043114010
MATHEMATICS STUDY PROGRAM MATHEMATICS DEPARTMENT SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY YOGYAKARTA
vii ABSTRAK
viii
ABSTRACT
RSA cryptosystem is a public key cryptosystem based on the Chinese Remainder
Theorem. To perform the cryptosystem, prime numbers are needed to obtain public
keys. Algorithms that can be used to test the primeness of a number are the
Solovay-Strassen algorithm and Miller-Rabin algorithm. The algorithms that can be used to
x
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yang Maha Esa yang telah memberikan berkat
dan rahmat-Nya sehingga penulis dapat menyelesaikan skripsi ini.
Berkat dukungan dan bantuan dari banyak pihak, akhirnya skripsi ini dapat
terselesaikan. Oleh karena itu, penulis mengucapkan terima kasih kepada:
1. Romo Prof. Dr. Frans Susilo, S.J. selaku dosen pembimbing yang telah
memberikan pengarahan dan bimbingan selama penyusunan skripsi ini.
2. Romo Ir. Gregorius Heliarko, S.J., S.S., B.S.T., M.Sc., M.A. selaku Dekan
Fakultas Sains dan Teknologi dan Bapak Yosef Agung Cahyanta, S.T., M.T.
selaku Wakil Dekan I Fakultas Sains dan Teknologi yang telah mendukung
penulis selama penyusunan skripsi ini.
3. Ibu Lusia Krismiyati Budiasih, S.Si, M.Si selaku Kaprodi Matematika dan
Dosen Pembimbing Akademik angkatan 2004 yang telah memberikan nasehat,
saran dan dukungan kepada penulis.
4. Bapak dan Ibu dosen yang telah memberikan bekal ilmu kepada penulis.
5. Bapak Herry Pribawanto Suryawan, S.Si., M.Si. dan Ibu Maria Vianney Any
Herawati, S.Si., M.Si. yang telah membantu penulis selama penyusunan skripsi
ini.
6. Bapak Tukijo dan Ibu Linda yang telah memberikan pelayanan administrasi
xi
7. Perpustakaan Universitas Sanata Dharma dan staf yang telah menyediakan
fasilitas dan memberikan kemudahan kepada penulis selama masa perkuliahan.
8. Kedua orang tuaku tercinta: Bapak Edi Sutarman dan Ibu Rosalia Tri Susilowati
yang dengan penuh cinta kasih telah memberikan nasehat, semangat, saran dan
dukungan kepada penulis dalam segala hal.
9. Adikku, Danang R. Naafianto, dan semua keluarga besar yang telah
memberikan doa dan dukungan kepada penulis.
10. Teman-teman angkatan 2004: Ratna, Siska, Eni, Retno, Dwi, Nancy, Lili, Lina
dan Yo, serta Mas Teddy, Mbak Retno dan Mbak Priska yang telah memberikan
saran dan nasehat kepada penulis.
Penulis juga mengucapkan terima kasih kepada semua pihak yang telah
membantu penulis dalam penyusunan skripsi ini yang tidak dapat saya sebutkan
satu-persatu di sini.
Yogyakarta, November 2008
xii
DAFTAR ISI
HALAMAN JUDUL ... i
HALAMAN JUDUL DALAM BAHASA INGGRIS ... ii
HALAMAN PERSETUJUAN PEMBIMBING ... iii
HALAMAN PENGESAHAN ... iv
HALAMAN PERSEMBAHAN ... v
HALAMAN PERNYATAAN KEASLIAN KARYA ... vi
HALAMAN ABSTRAK ... vii
HALAMAN ABSTRACT ... viii
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
BAB I PENDAHULUAN ... 1
A. Latar Belakang Masalah ... 1
B. Rumusan masalah ... 4
C. Batasan Masalah ... 4
D. Tujuan Penulisan ... 4
E. Metode Penulisan ... 5
F. Manfaat Penulisan ... 5
xiii
BAB II TEORI BILANGAN ... 7
A. Pembagi Persekutuan Terbesar ... 7
B. Algoritma Euclides ... 17
C. Kongruensi Linear ... 27
D. Teorema Sisa Cina ... 37
E. Teorema-Teorema Lain ... 42
BAB III KRIPTOSISTEM RSA ... 56
A. Kriptosistem RSA ... 56
B. Uji Bilangan Prima ... 60
C. Algoritma Pemfaktoran ... 87
BAB IV SERANGAN, KEAMANAN DAN APLIKASI KRIPTOSISTEM RSA ... 95
A. Serangan pada RSA ... 95
B. Keamanan dari RSA ... 96
C. Aplikasi Kriptosistem RSA ... 98
BAB V PENUTUP ... 103
A. Kesimpulan ... 103
B. Saran ... 104
BAB I PENDAHULUAN
A. Latar Belakang Masalah
Kemajuan di bidang telekomunikasi dan komputer telah memungkinkan seseorang
untuk melakukan transaksi bisnis secara tidak langsung. Selain itu, dia juga dapat
mengirimkan informasi kepada temannya secara on-line. Kegiatan-kegiatan tersebut
dapat menimbulkan resiko jika informasi yang dikirim dapat diakses oleh orang lain
yang tidak berhak. Misalnya, informasi mengenai nomor kartu kredit. Jika informasi
ini diketahui oleh orang lain, maka pemilik kartu kredit harus bersiap-siap terhadap
melonjaknya tagihan kartu kredit. Untuk mengatasi masalah ini, ada suatu sistem
keamanan yang dapat digunakan untuk menjaga kerahasiaan suatu informasi, yaitu
kriptosistem (cryptosystem).
Pada tahun 1976, Diffie dan Hellman telah mengemukakan ide tentang kriptosistem
kunci-publik. Dalam kriptosistem kunci-publik, setiap pengguna memberikan aturan
enkripsi eK yang dapat digunakan untuk mengirim pesan yang telah dienkripsi
(ciphertext) kepada orang yang dituju. Selain aturan enkripsi eK, pengguna juga
mempunyai aturan dekripsi dK yang dapat digunakan untuk mendekripsi ciphertext
kembali ke pesan semula (plaintext). Aturan enkripsi eK disebut sebagai kunci-publik
(public-key), sedangkan aturan dekripsi dK disebut sebagai kunci-rahasia (
Pada tahun 1977, Rivest, Shamir dan Adleman menciptakan kriptosistem yang
dikenal sebagai kriptosistem RSA. Keamanan kriptosistem RSA didasarkan pada
perhitungan yang sangat sulit untuk memfaktorkan suatu bilangan yang merupakan
hasil perkalian dua bilangan prima yang sangat besar atau n= pq di mana p dan q
adalah bilangan-bilangan prima yang sangat besar.
Teori-teori penting dari teori bilangan yang dibutuhkan untuk membantu pengerjaan
kriptosistem RSA adalah Algoritma Euclides (Euclidean Algoritm) dan Teorema Sisa
Cina (Chinese Remainder Theorem). Kita dapat menggunakan Algoritma Euclides untuk menghitung pembagi persekutuan terbesar (greatest common divisors) dari
0
terhadap operasi perkalian, maka dengan menggunakan Algoritma Euclides Diperluas
Teorema Sisa Cina adalah suatu metode yang dapat digunakan untuk memecahkan
sistem-sistem kongruensi tertentu. Anggap m1,m2, ,mj adalah bilangan bulat yang
relatif prima (yaitu ppt(m mi, j)=1 di mana mi ≠mj dan i≠ j) dan a1,a2, ,aj
adalah bilangan bulat. Perhatikan sistem kongruensi berikut ini:
1 (mod 1)
Sistem kongruensi ini mempunyai penyelesaian tunggal
1
Dalam membuat kriptosistem RSA diperlukan bilangan-bilangan prima yang sangat
besar yang dipilih secara acak. Untuk menguji apakah bilangan itu prima dapat
digunakan algoritma Monte-Carlo seperti algoritma Solovay-Strassen atau algoritma
Miller Rabin.
Cara yang paling jelas untuk menyerang kriptosistem RSA adalah dengan
memfaktorkan kunci publik n. Arti kata menyerang adalah usaha untuk membuka suatu kriptosistem oleh orang yang tidak dituju atau orang yang tidak berhak.
Algoritma-algoritma pemfaktoran yang dapat digunakan adalah algoritma Pollard
1 −
algoritma kuadrat acak Dixon (Dixon’s Random Squares Algorithm). Cara-cara lain yang dapat digunakan untuk menyerang kriptosistem RSA adalah dengan menghitung
( ),n
φ di mana ( )φ n =(p−1)(q−1).
B. Rumusan Masalah
Berdasar atas uraian yang telah dikemukakan dalam latar belakang, pokok
permasalahan dalam skripsi ini dapat dirumuskan sebagai berikut:
1. Apa yang dimaksud dengan kriptosistem RSA?
2. Bagaimana cara untuk menguji keprimaan suatu bilangan?
3. Bagaimana cara untuk menyerang kriptosistem RSA?
4. Bagaimana keamanan dari kriptosistem RSA?
C. Batasan Masalah
1. Himpunan yang dibicarakan dalam skripsi ini adalah n.
2. Dalam penulisan skripsi ini hanya dibahas mengenai teorinya saja.
D. Tujuan Penulisan
Penyusunan skripsi ini bertujuan untuk mempelajari salah satu teknik kriptosistem
E. Metode Penulisan
Metode yang digunakan dalam penulisan skripsi ini adalah dengan menggunakan
metode studi pustaka.
F. Manfaat Penulisan
Manfaat penulisan skripsi ini adalah mengetahui suatu sistem yang dapat digunakan
untuk menjaga kerahasiaan suatu informasi.
G. Sistematika Penulisan BAB I PENDAHULUAN
A. Latar Belakang Masalah
B. Rumusan Masalah
C. Batasan Masalah
D. Tujuan Penulisan
E. Metode Penulisan
F. Manfaat Penulisan
G. Sistematika Penulisan
BAB II TEORI BILANGAN
A. Pembagi Persekutuan Terbesar
B. Algoritma Euclides
D. Teorema Sisa Cina
E. Teorema-Teorema Lain
BAB III KRIPTOSISTEM RSA
A. Kriptosistem RSA
B. Uji Bilangan Prima
C. Algoritma Pemfaktoran
BAB IV SERANGAN PADA RSA, KEAMANAN DARI RSA DAN APLIKASI KRIPTOSISTEM RSA
A. Serangan pada RSA
B. Keamanan dari RSA
C. Aplikasi Kriptosistem RSA
BAB V PENUTUP
A. Kesimpulan
BAB II
TEORI BILANGAN
A. Pembagi Persekutuan Terbesar
Sebelum kita membahas pembagi persekutuan terbesar, terlebih dahulu akan dibahas
tentang definisi-definisi dan teorema-teorema yang akan membantu kita dalam
membuktikan teorema-teorema yang berhubungan dengan pembagi persekutuan
terbesar.
Definisi 2.1
Relasi ≤ pada himpunan S disebut relasi urutan parsial jika memenuhi sifat-sifat berikut:
1. Refleksif: a≤a, ∀ ∈a S.
2. Transitif: Jika a≤b dan b≤c, maka a≤c, ∀a b c, , ∈S.
3. Anti-simetrik: Jika a≤b dan b≤a, maka a=b, ∀a b, ∈S.
Definisi 2.2
Himpunan S dikatakan terurut total jika himpunan itu terurut parsial dengan relasi urutan parsial ≤ dan untuk setiap pasangan elemen ,x y∈S berlaku x≤ y atau
.
y≤x
Definisi 2.3
Suatu himpunan dikatakan tertata baik jika himpunan itu adalah himpunan terurut total yang setiap subhimpunan takkosong S di dalamnya memuat elemen terkecil, yaitu ada a∈S sedemikian sehingga a≤b untuk semua b∈S.
Contoh 2.1
Setiap subhimpunan takkosong dalam himpunan semua bilangan bulat taknegatif
selalu mempunyai elemen terkecil. Jadi, himpunan semua bilangan bulat taknegatif
tertata baik.
Teorema 2.1 Algoritma Pembagian
Diberikan bilangan bulat a dan ,b dengan b>0. Maka ada tunggal bilangan bulat q
a=qb+r,
dengan 0≤ <r b. Bilangan bulat q disebut hasil bagi dan bilangan bulat r disebut
sisa pembagian dari a oleh .b
Bukti:
Kita mulai dengan membuktikan bahwa himpunan
{ : adalah bilangan bulat dan 0}
bulat taknegatif tertata baik, maka ada bilangan bulat terkecil r∈S, dan dari definisi
S ada bilangan bulat q yang memenuhi
a=qb+r dan a=q b′ +r′,
dengan 0≤ <r b, 0≤r′<b. Maka r′− =r (a−q b′ ) (− a−qb)=qb−q b′ =b q( −q′),
sehingga
|r′ −r|=b q| −q′|.
Karena 0≤ <r b, maka − < − ≤b r 0. Dari dua pertidaksamaan −b<−r≤0 dan
0≤r′<b, kita dapatkan −b<r′−r <b atau |r′ −r|<b, maka b q| −q′|<b. Jadi,
|q−q′|<1 sehingga 0≤|q−q′|<1. Karena |q−q′| adalah bilangan bulat
takne-gatif, maka satu-satunya kemungkinan adalah |q−q′|=0. Ini terjadi jika q=q′.
Oleh karena itu, |r′ −r|=b q| −q′|= ⋅ =b 0 0. Jadi, kita dapatkan r =r′.
Jika a dan b adalah bilangan bulat taknol, maka himpunan pembagi persekutuan a
dan b adalah himpunan bilangan bulat berhingga yang memuat bilangan bulat +1 dan
1. −
Definisi 2.4
Jika a dan b adalah bilangan-bilangan bulat dengan a≠0, maka dikatakan bahwa
a membagi habis b jika ada bilangan bulat m sedemikian sehingga b=ma. Jika a
membagi habis ,b maka dikatakan juga bahwa a adalah pembagi atau faktor dari b
dan b adalah kelipatan a. Jika a membagi habis ,b maka kita tulis a b| . Jika a
Definisi 2.5
Bilangan bulat terbesar dari bilangan real x, ditulis [ ],x adalah bilangan bulat
terbesar yang kurang dari atau sama dengan ,x yaitu [ ]x adalah bilangan bulat yang
memenuhi
[ ]x ≤x<[ ] 1.x +
Teorema 2.2
Diberikan bilangan-bilangan bulat a ,b,dan c dengan a≠0. Maka
(1) a| 0, 1| ,a | .a a
(2) a|1 jika dan hanya jika a= ±1.
(3) Jika a| dan | ,b c d maka ac bd| .
(4) Jika | dan | ,a b b c maka | .a c
(5) a|bdan b|a jika dan hanya jika a= ±b.
(6) Jika a| dan b b≠0, maka | |a ≤| | .b
(7) Jika a|bdan a|c, maka a| (bx+cy) untuk sebarang bilangan-bilangan bulat
(1) a|0 sebab ada bilangan bulat m=0 sedemikian sehingga 0=ma.
adalah bilangan bulat, maka terbukti bahwa ac bd| .
kita ambil f = −1, maka a= fb= − ⋅ = −( 1) b b. Jadi, a= ±b. Sebaliknya,
jika a= ±b, maka a| karena b b= ± ⋅1 a, dan b| karena a a= ± ⋅1 .b
(6) Jika | ,a b maka ada bilangan bulat k sedemikian sehingga b=ka. Jika b≠0,
maka k ≠0 sehingga | |b =|ka|=| || | .k a Karena k≠0, maka | |k ≥1
sehingga | |b =| || |k a ≥ ⋅1 | |a =| | .a Jadi, | |a ≤| | .b
(7) Jika a b| dan | ,a c maka ada bilangan bulat m dan n sedemikian sehingga
ma
b= dan c=na. Kemudian,
( ) ( ) ( )
bx+cy= ma x+ na y=amx+any=a mx+ny
untuk sebarang bilangan-bilangan bulat x dan .y Karena mx+ny adalah
bilangan bulat, maka | (a bx+cy).
Definisi 2.6
Diberikan a dan b adalah bilangan bulat taknol. Pembagi persekutuan terbesar a
dan ,b ditulis ppt( , ),a b adalah bilangan asli d yang memenuhi:
1. d a| dan | .d b
2. Jika | dan | ,c a c b maka c≤d.
Teorema 2.3
Bukti:
Kita definisikan S sebagai himpunan semua kombinasi linear dari a dan b: S ={au+bv au: +bv>0; ,u v adalah bilangan-bilangan bulat}.
Pertama akan kita tunjukkan bahwa S bukan himpunan kosong. Karena a≠0, maka
| |a =au+ ⋅ ∈b 0 S dengan u =1atau u =−1. Karena S tertata baik, maka S pasti
mempunyai elemen terkecil, misalkan .d Jadi, dari definisi ,S ada bilangan bulat x
dan y sedemikian sehingga d =ax+by. Menurut Algoritma Pembagian, terdapat
bilangan-bilangan bulat q dan r sedemikian sehingga a=qd+r, dengan 0≤ <r d.
Maka
( ) (1 ) ( ).
r= −a qd = −a q ax by+ = −a qax−qby=a −qx +b −qy
Jika r>0, maka r∈S. Terjadi kontradiksi dengan kenyataan bahwa d adalah
elemen terkecil di .S Oleh karena itu, r =0 dan a=qd atau d a| . Dengan cara
yang sama, kita dapatkan d b| . Akibatnya d adalah pembagi persekutuan dari a dan
.
b Sekarang, jika c adalah sebarang pembagi persekutuan dari a dan ,b maka menurut Teorema 2.2 (7), | (c ax+by), yaitu | .c d Maka c= | |c ≤|d|=d. Jadi, d
adalah pembagi persekutuan terbesar dari a dan ,b yaitu d =ppt( , ).a b
Definisi 2.7
Teorema 2.4
Diberikan bilangan bulat taknol a dan .b Maka ppt( , )a b =1 jika dan hanya jika ada
bilangan bulat x dan y sedemikian sehingga 1=ax+by. Bukti:
Jika ppt( , )a b =1, maka menurut Teorema 2.3, ada bilangan bulat x dan y yang
memenuhi 1=ax+by. Sebaliknya, misalkan 1=ax by+ untuk suatu bilangan bulat x
dan y dan d =ppt( , ).a b Karena d|a dan d b| , maka menurut Teorema 2.2 (7),
| ( ) 1.
d ax+by = Jadi, menurut Teorema 2.2 (2), d =1.
Teorema 2.5
Diberikan a dan b adalah bilangan-bilangan bulat dengan ppt( , )a b =d, maka
ppt(a d b d, ) 1.=
Bukti:
Misal a dan b adalah bilangan-bilangan bulat dengan ppt( , )a b =d. Akan
ditunjuk-kan bahwa a d dan b d tidak mempunyai pembagi persekutuan positif selain 1.
Andaikan e adalah bilangan bulat positif sedemikian sehingga e a d( ) dan e b d( ).
Maka ada bilangan bulat k dan l sedemikian sehingga a d =ke dan b d =le. Jadi,
dek
Karena d adalah pembagi persekutuan terbesar a dan ,b maka de≤d. Jadi, e=1.
Akibatnya, ppt(a d b d, ) 1.=
Teorema 2.6
Jika a| dan | ,c b c dengan ppt( , )a b =1, maka ab c| .
Bukti:
Jika diketahui a| dan | ,c b c maka ada bilangan bulat r dan s sedemikian sehingga
ar
c= dan c=bs. Karena ppt( , )a b =1, maka menurut Teorema 2.3, ada bilangan
bulat x dan y sedemikian sehingga 1=ax+by. Kita dapatkan
1 ( ) ( ) ( ) ( ).
c= ⋅ =c c ax+by =acx+bcy=a bs x+b ar y=ab sx+ry
Jadi, terbukti ab c| .
Teorema 2.7 (Lemma Euclides)
Jika |a bc, dengan ppt( , )a b =1, maka | .a c
Bukti:
Karena ppt( , )a b =1, maka ada bilangan bulat x dan y sedemikian sehingga
1=ax+by. Kita dapatkan
1 ( ) .
c= ⋅ =c c ax by+ =acx+bcy
Karena |a ac dan |a bc, maka | (a acx+bcy)=c. Jadi, | .a c
Diberikan bilangan-bilangan bulat taknol a dan .b Untuk suatu bilangan bulat ,d
Teorema berikut ini sering digunakan untuk membuktikan sifat-sifat
Teorema 2.9 (Prinsip Induksi Matematis)
Jika S adalah himpunan bilangan bulat positif dengan sifat: (i) 1∈S, dan
(ii) Jika k∈S, maka k+ ∈1 S
maka S adalah himpunan semua bilangan bulat positif. Bukti:
Misalkan T adalah himpunan semua bilangan bulat positif yang tidak berada di S
dan andaikan T bukan himpunan kosong. Karena T tertata baik, maka T
mempunyai elemen terkecil, sebut a. Karena 1∈S, maka a>1 dan 0< − <a 1 a. Karena a bilangan bulat terkecil di T, maka a− ∉1 T, jadi a− ∈1 S. Dengan
hipotesa induksi, (a−1) 1+ = ∈a S, sehingga a∉T, yang kontradiksi dengan
kenyataan bahwa a∈T. Kita simpulkan bahwa T adalah himpunan kosong dan S
terdiri dari semua bilangan bulat positif.
Teorema 2.10 (Prinsip Kedua Induksi Matematis)
Jika S adalah himpunan bilangan bulat positif yang mempunyai sifat: (i) 1∈S, dan
maka S adalah himpunan semua bilangan bulat positif. Bukti:
Misalkan S adalah himpunan bilangan-bilangan bulat yang memuat 1 dan untuk setiap bilangan bulat positif n, jika himpunan itu memuat 1, 2, ,n∈S, maka
1 .
n+ ∈S Misalkan T adalah himpunan semua bilangan bulat positif n sedemikian sehingga semua bilangan-bilangan bulat positif yang kurang dari atau sama dengan n
berada di .S Maka 1∈T karena bilangan bulat positif yang kurang dari atau sama dengan 1, yaitu 1∈S. Jika n∈T, maka semua bilangan bulat positif yang kurang
dari atau sama dengan n berada di .S Jadi menurut sifat himpunan ,S n+ ∈1 S. Jadi,
1 .
n+ ∈T Dengan demikian, menurut Teorema 2.9, T adalah himpunan semua
bilangan bulat positif. Ambil sebarang x∈T. Maka semua bilangan bulat positif yang kurang dari atau sama dengan x berada di S. Jadi, x∈S, sehingga T
subhimpunan .S Berdasar definisi ,S S memuat bilangan 1. Karena 1∈S, maka
2∈S. Karena 1, 2∈S, maka 3∈S, dan seterusnya. Jadi, jika diambil sebarang
,
x∈S maka x adalah bilangan bulat positif. Padahal T adalah himpunan semua
bilangan bulat positif. Jadi, x∈T. Akibatnya S subhimpunan T. Jadi, karena T
subhimpunan S dan S subhimpunan ,T maka S =T, sehingga S adalah himpunan
semua bilangan bulat positif.
Jika a=qb+r, maka ppt( , )a b =ppt( , ).b r
Jika algoritma pembagian dijalankan secara berturutan untuk mendapatkan
2
jalankan algoritma pembagian secara berurutan, kita dapatkan
2 1 1 , 0 1
r adalah bilangan sisa terakhir yang tidak sama dengan nol. Dengan menggunakan
Lemma 2.1, kita dapatkan
ppt( , )a b =ppt( , )r r0 1 =ppt( , )r r1 2 = =ppt(rn−1, )rn =rn.
Jadi, ppt( , )a b =rn.
Algoritma Euclides dapat digunakan untuk menyatakan pembagi persekutuan terbesar
dari dua bilangan bulat sebagai kombinasi linear dari bilangan-bilangan bulat itu.
Untuk melihat bahwa d =ppt( , )a b dapat dinyatakan sebagai kombinasi linear dari a
yang menyatakan rn =ppt( , )a b sebagai kombinasi linear dari rn−3 dan rn−2. Kita
terus bekerja mundur dengan menggunakan langkah-langkah Algoritma Euclides
untuk menyatakan ppt( , )a b sebagai kombinasi linear dari pasangan-pasangan sisa
sebelumnya, sampai kita dapatkan ppt( , )a b sebagai kombinasi linear dari r0 =a dan
b
r1 = . Secara umum, jika kita telah mendapatkan kombinasi linear
1
Ini menunjukkan bagaimana kita harus bekerja dari belakang melalui
persamaan-persamaan yang diperoleh dari Algoritma Euclides sedemikian sehingga pada setiap
langkah ppt( , )a b dapat dinyatakan sebagai kombinasi linear dari a dan .b Ada
metode lain yang dapat digunakan untuk menentukan kombinasi linear dari a dan ,b
yaitu Algoritma Euclides Diperluas.
Teorema 2.12 (Algoritma Euclides Diperluas)
ppt( , )a b =s an +t bn ,
Euclides untuk mendapatkan ppt( , ).a b
Bukti:
Dengan menggunakan Prinsip Kedua Induksi Matematis, kita akan membuktikan
2 1 1.
Tentukan ppt(198, 252) dan nyatakan sebagai kombinasi linear dari 198 dan 252.
Jawab:
252 1 198 54= ⋅ +
198= ⋅3 54 36+
54 = ⋅1 36 18+
36 = ⋅2 18
Dengan menggunakan Algoritma Euclides, kita dapatkan ppt(198, 252) 18.=
Sekarang, kita akan mencari kombinasi linear dari 198 dan 252 dengan menggunakan
Misal r0 =a dan r1 =b adalah bilangan-bilangan bulat dengan a≥b. Jika setiap
persamaan dalam Algoritma Euclides, kita kalikan dengan k, maka kita dapatkan
0 1( 1) 2, 0 2 1
Dari persamaan di atas terlihat bahwa Algoritma Euclides dikerjakan untuk bilangan
C. Kongruensi Linear
Persamaan Diophantus adalah persamaan yang membatasi penyelesaiannya pada
himpunan bilangan bulat.
Teorema 2.15
Persamaan Diophantus linear ax+by =c mempunyai penyelesaian jika dan hanya
jika d c| , di mana d =ppt( , ).a b Jika x0 ,y0 adalah suatu penyelesaian khusus dari
persamaan ax+by=c, maka penyelesaian umumnya adalah x=x0+(b d t) dan
0 ( )
y= y − a d t di mana t adalah bilangan bulat.
Bukti:
Misalkan x dan y adalah bilangan-bilangan bulat sedemikian sehingga ax+by=c.
Karena d a| dan d b| , dengan Teorema 2.2 (7), didapatkan d c| . Sebaliknya,
misalkan d c| . Karena d =ppt( , ),a b maka dengan menggunakan Teorema 2.3, ada
bilangan bulat s dan t sedemikian sehingga .
d =as+bt
Karena d c| , maka ada bilangan bulat e sedemikian sehingga
( ) ( ) ( ).
c=de= as+bt e=a se +b te
Dengan demikian, salah satu penyelesaian dari persamaan ax+by =c tersebut adalah
0
misalkan x0 ,y0 adalah penyelesaian dari persamaan ax+by=c. Jika x′ ,y′ adalah
Kita bagi kedua ruas dari persamaan terakhir dengan ,d kita dapatkan
0 0
Jadi, terbukti bahwa penyelesaian umum persamaan Diophantus linear ax+by=c
Definisi 2.8
Diberikan bilangan bulat positif n. Bilangan bulat a dikatakan kongruen modulo n
dengan bilangan bulat ,b ditulis a≡b(mod ),n jika | (n a b− ).
Teorema 2.16
Jika a dan b adalah bilangan-bilangan bulat, maka a≡b(mod )n jika dan hanya jika
ada bilangan bulat k sedemikian sehingga a=b+kn. Bukti:
Jika diketahui a≡b(mod ),n maka | (n a b− ). Ini berarti bahwa ada bilangan bulat k
sedemikian sehingga a−b=kn atau a=b+kn. Sebaliknya, jika ada bilangan bulat
k dengan a= +b kn, maka a−b=kn. Dengan demikian, n| (a b− ), yaitu
(mod ).
a≡b n
Teorema 2.17
Jika a ,b,cdan n adalah bilangan-bilangan bulat, dengan n>0, sedemikian sehingga
(mod ),
a≡b n maka
(i) a+ ≡ +c b c (mod ),n
(ii) a− ≡ −c b c (mod ),n
(iii) ac≡bc (mod ).n
Karena a≡b (mod ),n maka n| (a b− ). Karena a b− =(a+c) (− b+c), maka
| (( ) ( )).
n a+c − b+c Jadi, a+ ≡ +c b c (mod ).n Karena a b− =(a−c) (− b c− ), maka
| (( ) ( )).
n a−c − b c− Jadi, a− ≡ −c b c (mod ).n Karena n| (a b− ), maka | (n a b c− ) ,
yaitu | (n ac bc− ). Dengan demikian, ac≡bc (mod ).n
Teorema 2.18
Jika a ,b,cdan n adalah bilangan-bilangan bulat sedemikian sehingga n>0,
ppt( , )
d = n c dan ac≡bc(mod ),n maka a≡b(modn d).
Bukti:
Jika ac≡bc(mod ),n maka n| (ac bc− )=c a b( − ). Dengan demikian, ada bilangan
bulat k sedemikian sehingga (c a b− )=kn. Dengan membagi kedua ruas dengan ,d
kita dapatkan (c d a b)( − )=k n d( ), yaitu (n d) | (c d a b)( − ). Karena ppt(n d, ) 1,
c d = maka dengan menggunakan Teorema 2.7 diperoleh (n d) | (a b− ), yaitu
(mod ).
a≡b n d
Definisi 2.9
Diberikan bilangan bulat a dan bilangan bulat positif m. Dengan menggunakan algoritma pembagian diperoleh
dengan r=0,1, 2, ,m−1. Bilangan bulat positif r disebut sisa taknegatif terkecil
dari a modulo m.
Perhatikan bahwa dari persamaan a=bm+r, kita dapatkan a≡r(mod ).m Dengan
demikian, setiap bilangan bulat kongruen modulo m dengan salah satu bilangan bulat
dari himpunan 0,1, ,m−1 yang adalah sisa jika bilangan bulat itu dibagi dengan m.
Karena tidak ada dua bilangan bulat dari 0,1, ,m−1 yang kongruen modulo m,
maka kita mempunyai m bilangan bulat sedemikian sehingga setiap bilangan bulat
kongruen dengan tepat satu dari m bilangan bulat ini.
Definisi 2.10
Sistem lengkap dari sisa modulo m adalah himpunan bilangan-bilangan bulat sedemikian sehingga setiap bilangan bulat kongruen modulo m dengan tepat satu
bilangan bulat dari himpunan itu.
Contoh 2.3
Algoritma pembagian menunjukkan bahwa himpunan dari bilangan-bilangan bulat
Lemma 2.2
Himpunan m bilangan bulat yang tidak saling kongruen modulo m membentuk
sistem lengkap dari sisa modulo m.
Bukti:
Andaikan suatu himpunan m bilangan bulat yang tidak saling kongruen modulo m
tidak membentuk sistem lengkap dari sisa modulo m. Maka ada bilangan bulat a
yang tidak kongruen modulo m dengan semua bilangan bulat dalam himpunan itu.
Dengan demikian, tidak ada bilangan bulat dalam himpunan itu yang merupakan sisa
dari a jika a dibagi dengan m. Karena himpunan itu tidak membentuk sistem lengkap dari sisa modulo m, maka paling banyak akan ada m−1 sisa bilangan bulat
berbeda ketika bilangan-bilangan bulat tersebut dibagi dengan m. Menurut prinsip
pigeonhole (yang mengatakan bahwa jika lebih dari n benda didistribusikan ke dalam n kotak, maka paling sedikit dua benda berada dalam kotak yang sama),
paling sedikit dua bilangan bulat dalam himpunan itu memiliki sisa modulo m yang
sama. Ini tidak mungkin, karena bilangan-bilangan bulat dalam himpunan itu tidak
saling kongruen modulo m. Dengan demikian, himpunan bilangan bulat m yang
tidak saling kongruen modulo m sama dengan m.
Teorema 2.19
Jika { , ,r r1 2 , }rm adalah sistem lengkap dari sisa modulo m dan a adalah bilangan
1 2
{ar +b ar, +b, ,arm+b}
adalah sistem lengkap dari sisa modulo m untuk setiap bilangan bulat b. Bukti:
Pertama, kita tunjukkan bahwa tidak ada dua bilangan bulat dari
1 2
{ar +b ar, +b, ,arm+b}
yang saling kongruen modulo m. Andaikan
(mod ),
terdiri dari m bilangan bulat yang tidak saling kongruen modulo ,m maka himpunan
Teorema 2.20
Diberikan bilangan-bilangan bulat a ,bdan n dengan n>0 dan ppt( , )a n =d. Jika
/ maka ax≡b(mod )n tidak mempunyai penyelesaian. Jika d b| , maka (mod )
ax≡b n mempunyai d buah penyelesaian yang tidak saling kongruen modulo
.
Untuk menentukan banyaknya penyelesaian yang tidak saling kongruen, misalkan
Ini menunjukkan bahwa himpunan penyelesaian yang tidak kongruen terdiri dari d
buah penyelesaian xt =x0+(n d t) , dengan t=0,1,2, ,d−1.
Contoh 2.4
Carilah penyelesaian 18x≡30(mod 42). Jawab:
Untuk mendapatkan penyelesaian khusus, kita perhatikan persamaan Diophantus
42
3 0 ( ) 36 10 7 3 10 21 11,
x =x + ⋅ = − + ⋅ = − + =
42
4 0 ( ) 46 10 7 4 10 28 18,
x =x + ⋅ = − + ⋅ = − + = dan
42
5 0 ( ) 56 10 7 5 10 35 25.
x =x + ⋅ = − + ⋅ = − + =
Definisi 2.11
Diberikan bilangan bulat a dan ppt( , )a n =1. Penyelesaian dari kongruensi linear
1(mod )
ax≡ n disebut invers dari a modulo n.
Contoh 2.5
Karena penyelesaian dari 7x≡1(mod 31) adalah x=9, maka 9 dan semua bilangan
yang kongruen modulo 31 dengan 9 adalah invers dari 7 modulo 31.
Teorema 2.21
Jika p adalah bilangan prima dan p ab| , maka p a| atau p b| .
Bukti:
Jika p a| , maka bukti selesai. Jadi asumsikan bahwa p a/| . Karena pembagi positif
dari p adalah 1 dan p, maka ppt( , ) 1.p a = Dengan demikian, menurut Lemma
Teorema 2.22
Sebelum membahas tentang Teorema Sisa Cina, terlebih dahulu akan dibahas
teorema-teorema yang diperlukan untuk membuktikan Teorema Sisa Cina tersebut.
Teorema 2.23
1 1 1= ⋅
Dengan menggunakan Prinsip Induksi Matematika, kita akan memperlihatkan bahwa
Teorema 2.25 (Teorema Sisa Cina)
M y ≡ m Tujuan kita adalah untuk membuktikan bahwa bilangan bulat
≡a M yk k k( modmk)
≡ak( modmk).
Ini menunjukkan bahwa sistem kongruensi tersebut mempunyai penyelesaian.
Sekarang kita tunjukkan bahwa setiap dua penyelesaian adalah kongruen modulo M.
Misal x1 adalah bilangan bulat lain yang memenuhi sistem kongruensi, maka untuk
semua k, x0 ≡x1 ≡ak( modmk) sehingga mk| (x0−x1). Karena ppt(m mj, k) 1,=
maka menurut Teorema 2.6, M| (x0−x1), yaitu x0 ≡x1(modM). Ini menunjukkan
bahwa sistem kongruensi mempunyai penyelesaian tunggal modulo M.
Dari 35y1 ≡1(mod 3) didapatkan y1≡2(mod 3). Dari 21y2 ≡1(mod 5) diperoleh
2 1(mod 5).
y ≡ Dari 15y3 ≡1(mod 7) diperoleh y3 ≡1(mod 7). Dengan demikian,
penyelesaian tunggal sistem persamaan kongruensi tersebut adalah
2 35 2 3 21 1 2 15 1 (mod105)
x≡ ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅
≡140 63 30 (mod105)+ +
≡233 (mod105)
≡23 (mod105).
E. Teorema-Teorema Lain
Ada beberapa teorema lain yang diperlukan dalam membahas kriptosistem RSA
selain teorema-teorema yang telah dipaparkan di atas.
Definisi 2.12 (Grup)
Grup ( , )G adalah himpunan G dengan operasi yang memenuhi sifat-sifat berikut:
1. (∀a b, ∈G a b) ∈G
2. (∀a b c, , ∈G a) (b c)=(a b) c
3. (∃ ∈e G)(∀ ∈a G a e) =e a=a. Elemen e itu disebut elemen identitas.
4. ( a G)( a−1 G a a) −1 a−1 a e
Grup G dikatakan berhingga jika G himpunan berhingga. Grup G dikatakan
takhingga jika G himpunan takhingga. G disebut grup Abel jika (∀a b, ∈G a b) = .
b a
Contoh 2.7
Untuk semua n≥1, himpunan bilangan-bilangan bulat modulo n, ditulis n,
membentuk grup dengan operasi + dan memuat n elemen. Elemen identitasnya
adalah 0 dan untuk semua elemen a∈ n, a−1= −n a.
Teorema 2.26
Misalkan G adalah grup.
(a) Jika , ,a b c∈G dan ab=ac, maka b=c (Hukum Kanselasi Kiri).
(b) Jika , ,a b c∈G dan ba=ca, maka b=c (Hukum Kanselasi Kanan). Bukti:
(a) Jika ab=ac, maka a ab−1 = 1
,
a ac− sehingga (a a b−1 ) =(a a c−1 ) , yaitu eb=ec.
Jadi b=c.
(b) Jika ba=ca, maka baa−1= 1
,
caa− sehingga b aa( −1)=c aa( −1), yaitu be=ce.
Definisi 2.13 (Subgrup)
Subgrup dari grup G adalah subhimpunan takkosong H dari G yang juga merupakan grup dengan operasi yang sama pada G. Kita tulis H ⊆G untuk
menunjukkan bahwa H adalah subgrup dari G dan H ⊂G untuk menunjukkan H
adalah subgrup sejati dari G dengan H ≠G.
Definisi 2.14 (Orde dari Grup)
Orde G adalah banyaknya elemen dalam grup berhingga G dan dinotasikan dengan
# .G
Definisi 2.15
Relasi ∼ pada himpunan takkosong S disebut relasi ekivalensi pada S jika memenuhi sifat-sifat berikut:
1. Refleksif: (∀ ∈a S) a∼a.
2. Simetrik: (∀a b, ∈S) jika a∼b, maka b∼a.
3. Transitif: (∀a b c, , ∈S) jika a∼b dan b∼c, maka a∼c.
Definisi 2.16
Himpunan P dari subhimpunan-subhimpunan takkosong dari himpunan takkosong
S membentuk partisi dari S jika
(ii) Jika A dan B berada di P dan A≠B, maka A∩B= ∅.
Definisi 2.17
Misalkan ∼ adalah relasi ekivalensi pada himpunan S, dan a∈S. Subhimpunan
[ ] {a = x∈S a: ∼x} dari S disebut kelas ekivalensi yang memuat a.
Teorema 2.27
Jika ∼ adalah relasi ekivalensi pada himpunan S, maka himpunan semua kelas
ekivalensi membentuk partisi dari .S Sebaliknya, misalkan P adalah partisi dari ,S
dan didefinisikan relasi ∼ pada S dengan a∼b jika ada himpunan di P yang
memuat a dan ,b maka ∼ adalah relasi ekivalensi pada .S
Bukti:
Misalkan ∼ adalah relasi ekivalensi pada .S Jika a∈S, maka a∈[ ]a sebab a∼a,
sehingga S adalah gabungan dari kelas-kelas ekivalensi. Akan dibuktikan bahwa jika dua kelas ekivalensi beririsan maka keduanya sama. Andaikan bahwa [ ]a ∩[ ]b ≠ ∅,
dan misalkan c∈[ ]a ∩[ ].b Ambil sebarang x∈[ ].a Maka a∼x. Jadi c∼a dan
Sekarang andaikan relasi ∼ didefinisikan pada S seperti di atas. Jika a∈S, maka
a∼a karena ada suatu himpunan dalam partisi P yang memuat a. Jika ada himpunan yang memuat a dan ,b maka himpunan itu memuat b dan ,a sehingga ∼
adalah simetrik. Akhirnya, misalkan a∼b dan b∼c. Maka ada himpunan di P yang memuat a dan ,b yaitu ,A dan ada himpunan di P yang memuat b dan ,c yaitu .B
Karena b∈ ∩A B, maka A∩B≠ ∅. Jadi, A=B karena P adalah sebuah partisi.
Karena a dan c∈A=B, maka a∼c, sehingga ∼ adalah transitif. Jadi, terbukti
bahwa ∼ adalah relasi ekivalensi.
Teorema 2.28
Misalkan H adalah subgrup dari grup G, dan didefinisikan relasi ∼ pada G sebagai
berikut:
a∼b jika dan hanya jika ab−1∈H. Maka ∼ adalah relasi ekivalensi pada .G
Bukti:
Refleksif: Jika a∈G, maka a∼a karena aa−1= ∈e H.
Simetrik: Jika a∼b, maka ab−1∈H, sehingga (ab−1)−1∈H, yaitu ba−1∈H. Jadi,
Transitif: Jika a∼b dan b∼c, maka ab−1∈H dan bc−1∈H, sehingga
1 1 1 1 1
(ab− )(bc− )=a b b c( − ) − =ac− ∈H. Jadi, a∼c.
Definisi 2.18 (Koset)
G adalah grup dan H ⊆G. Untuk a∈G, himpunan aH ={ah h: ∈H} disebut koset
kiri H dan himpunan Ha={ha h: ∈H} disebut koset kanan H.
Definisi 2.19
Fungsi α:S→T dikatakan onto jika (∀ ∈y T)(∃ ∈x S) ( )α x =y.
Fungsi α:S→T dikatakan satu-satu jika (∀x x1, 2∈S)
α
( )x1 =α
(x2) x1 =x2.Fungsi yang onto dan satu-satu disebut korespondensi satu-satu.
Lemma 2.3
Jika H adalah subgrup berhingga dari grup ,G dan a∈G, maka #H =#Ha.
Bukti:
Didefinisikan α:H →Ha dengan
α
( )h =ha untuk setiap h∈H. Ini adalah fungsikarena ha secara tunggal ditentukan oleh h dan a. Fungsi ini onto karena Ha
Maka h a1 =h a2 . Dengan menggunakan kanselasi kanan diperoleh h1=h2. Jadi
α
adalah satu- satu. Terbukti
α
adalah korespondensi satu-satu. Jadi #H =#Ha.Teorema 2.29 (Lagrange)
Jika H adalah subgrup dari grup berhingga ,G maka #H membagi habis # .G
Bukti:
Jika ∼ adalah relasi ekivalensi dalam Teorema 2.28, maka kelas ekivalensi
[ ] {a = x∈G a: ∼x}
{= x∈G x: ∼a}
={x∈G xa: −1∈H}
{x G xa: −1 h h, H}
= ∈ = ∈
{= x∈G x: =ha h, ∈H}
{= ha h: ∈H}.
Jadi, koset-koset kanan H adalah kelas-kelas ekivalensi, sehingga membentuk partisi dari G. Jadi dua koset kanan dari H adalah sama atau saling asing. Karena G
berhingga, maka banyaknya koset juga berhingga, misalnya Ha Ha1, 2, ,Hak. Maka
1 2 k.
G=Ha ∪Ha ∪ ∪Ha
Menurut Lemma 2.3, setiap koset Hai terdiri dari #H elemen, sehingga
Bukti:
1. Menurut Definisi 2.20, (1) 1
φ
= .2. Jika p adalah bilangan prima, maka setiap bilangan positif yang tidak lebih
besar dari p relatif prima dengan p. Karena ada p−1 buah bilangan bulat
semacam itu, maka ( )
φ
p = p−1.3. Kita perlihatkan bilangan-bilangan bulat positif yang tidak lebih besar dari mn
dengan cara berikut:
pada baris ke-r yang relatif prima dengan mn.
Akibatnya, untuk menentukan bilangan bulat yang relatif prima dengan mn, kita
harus melihat baris ke-r jika ppt( , ) 1m r = . Jika ppt( , ) 1m r = dengan 1≤ ≤r m, kita harus menentukan berapa banyak bilangan bulat pada baris ini yang relatif
prima dengan mn. Elemen pada baris ini adalah ,r m+r, 2m+r, , (n−1)m+r.
dengan m. Dari Teorema 2.19, bilangan-bilangan bulat pada baris ke-r
Perhatikan bilangan-bilangan bulat , 2 ,a a , (p−1) .a Tidak ada bilangan bulat yang
bilangan bulat p−1 yang tidak saling kongruen dengan 0 dan tidak ada dua bilangan
yang saling kongruen modulo p, kita tahu bahwa sisa positif terkecil dari
, 2 , , ( 1)
a a p− a adalah 1, 2, ,p−1. Akibatnya, perkalian dari bilangan-bilangan bulat a, 2 ,a , (p−1)a saling kongruen modulo p dengan perkalian
bilangan-bilangan bulat positif p−1 yang pertama. Dengan demikian,
Teorema 2.33
tidak ada dua elemen dari himpunan itu yang saling kongruen modulo n.
demikian, p a| atau p r| .j Jadi, didapatkan p a| dan p n| , atau p r| j dan p n| .
Karena rj adalah anggota dari sistem sisa modulo n tereduksi, maka tidak mungkin
| j
menggunakan Teorema 2.18 diperoleh rj ≡rk(mod ).n Terjadi kontradiksi, karena rj
pasti bilangan-bilangan bulat r r1, ,2 ,rφ( )n . Akibatnya, jika kita kalikan semua
elemen dari sistem sisa tereduksi ini, kita dapatkan
1 2 ( )n 1 2 ( )n (mod ).
ar ar arφ ≡r r rφ n
Jadi,
( )
1 2 ( ) 1 2 ( )(mod ). n
n n
aφ r r rφ ≡r r rφ n
Karena ppt(r r1 2 rφ( )n , )n =1, maka dengan menggunakan Teorema 2.18 disimpulkan
bahwa aφ( )n ≡1(mod ).n
Definisi 2.22
BAB III
KRIPTOSISTEM RSA
A. Kriptosistem RSA
Kriptosistem RSA adalah kriptosistem kunci publik yang diciptakan oleh Ronald
Rivest, Adi Shamir dan Leonard Adleman. Kriptosistem ini menggunakan
penghitungan di n, di mana n adalah perkalian dua bilangan prima ganjil berbeda
p dan .q Berikut ini adalah langkah-langkah pembuatan kriptosistem RSA:
1. Pilih dua bilangan prima p dan q;
2. Hitung n= pq;
3. Hitung ( )φ n =(p−1)(q−1);
4. Pilih sebarang bilangan bulat b<φ( )n sedemikian sehingga ppt( , ( )) 1b φ n =
dan hitung bilangan bulat a sedemikian sehingga ab≡1(mod ( ))φ n ;
(Karena ppt( , ( )) 1bφ n = , maka kongruensi ini mempunyai penyelesaian
untuk a yang dapat ditentukan dengan menggunakan Algoritma Euclides
Diperluas.)
5. Publikasikan n dan b sebagai kunci-publik dan simpan p q, dan a sebagai kunci-rahasia.
Jika Rio ingin mengirim pesan rahasia x∈ ∗n kepada Anggi, maka Rio membuat
( ) b(mod ).
Prosedur dekripsi akan mengembalikan teks sandi ke teks biasa.
Contoh 3.1
menentukan bilangan bulat a dengan menggunakan Algoritma Euclides Diperluas.
Karena r3 = =1 ppt(7, 72) dan r3 =s a t b3 + 3 , didapatkan
(
)
1=ppt 7, 72 = − ⋅( 3) 72 31 7.+ ⋅
Dengan demikian, kunci-rahasia Rio adalah a=31.
Rio mempublikasikan n=91 dan b=7. Sekarang, jika Anggi ingin mengenkripsi teks biasa x=5 untuk dikirim ke Rio, maka Anggi akan menghitung
7
y= , ia menggunakan kunci-rahasianya untuk menghitung
Definisi 3.1 (Fungsi Satu Arah)
Fungsi f dari X ke Y disebut fungsi satu arah jika f x( ) mudah dihitung untuk
setiap x∈X, tetapi untuk y∈Y sulit untuk menentukan x∈X sedemikian sehingga
( ) .
f x = y
Keamanan kriptosistem RSA didasarkan pada sifat fungsi enkripsi eK( )x =xb(mod )n
yang merupakan fungsi satu-arah, sehingga sulit sekali bagi lawan untuk mendekripsi
teks sandi. Kekuatan kriptosistem ini adalah sulitnya memfaktorkan nilai n. Karena Rio tahu faktor dari ,n maka Rio dapat menghitung ( ).φ n Selain itu, Rio juga dapat
menghitung bilangan bulat a dan .b
B. Uji Bilangan Prima
Pada pembuatan kriptosistem RSA, kita perlu menghasilkan bilangan prima acak
yang sangat besar. Dalam praktek, cara ini dikerjakan dengan menghasilkan bilangan
prima acak yang sangat besar dan kemudian menguji keprimaan bilangan itu dengan
menggunakan algoritma Monte Carlo seperti algoritma Solovay-Strassen atau
algoritma Miller-Rabin. Sebelum membahas algoritma-algoritma tersebut, kita mulai
Definisi 3.2
Jika p adalah bilangan bulat prima ganjil, maka a adalah sisa kuadratik modulo p
jika a≡/0(mod )p dan y2 ≡a(mod )p mempunyai penyelesaian untuk suatu y∈ p.
9, sedangkan 2, 6, 7, 8 dan 10 adalah bukan sisa kuadratik modulo 11.
Lemma 3.1
Misalkan p adalah bilangan prima ganjil dan a adalah bilangan bulat yang tidak
habis dibagi oleh .p Maka
2 (mod )
y ≡a p
tidak mempunyai dua penyelesaian yang saling kongruen modulo .p
Bukti:
Jika y2 ≡a(mod )p mempunyai penyelesaian, misalnya y=y0, maka y= −y0 juga
jika y0 ≡ −y0(mod ),p maka didapatkan 2y0 ≡0(mod ),p yang tidak mungkin karena
p adalah bilangan ganjil dan p/| y0 (karena y02 ≡a(mod )p dan p a/| ).
Untuk memperlihatkan bahwa tidak ada lebih dari dua penyelesaian yang tidak saling
kongruen, misalkan y= y0 dan y= y1 adalah penyelesaian y2 ≡a(mod ).p Maka
penyelesaian di mana kedua penyelesaian tersebut tidak saling kongruen.
Definisi 3.3 (Simbol Legendre)
Misalkan p adalah bilangan prima ganjil. Untuk setiap bilangan bulat ,a simbol
Legendre (a p) didefinisikan sebagai berikut:
Jika p=2, maka (2 1)! 1− = ≡ −1(mod 2). Dengan demikian, teorema ini benar untuk
2.
p= Sekarang, misalkan p adalah bilangan prima yang lebih besar dari 2. Dengan
menggunakan Teorema 2.20, untuk setiap bilangan bulat a dengan 1≤a≤ p−1, ada
invers ,a yaitu a′ di mana 1≤a′≤ p−1 dan aa′ ≡1(mod ).p Dengan menggunakan
Teorema 2.22, jika p adalah bilangan prima, maka 1 dan p−1 masing-masing
adalah invers dirinya sendiri. Oleh karena itu, kita dapat mengelompokkan
bilangan-bilangan bulat dari 2 sampai p−2 menjadi (p−3) 2 pasangan, di mana perkalian dari setiap pasangan kongruen dengan 1 modulo .p Dengan demikian,
Dengan demikian, jika (a p) 1,= maka (a p)≡a(p−1) 2(mod ).p
Sekarang, jika (a p)= −1, maka y2 ≡a(mod )p tidak mempunyai penyelesaian,
sehingga dengan menggunakan Teorema 2.20, untuk setiap bilangan bulat i dengan
(mod ),
ij≡a p haruslah i≠ j. Jadi, kita dapat mengelompokkan bilangan-bilangan
bulat 1, 2, , p−1 menjadi (p−1) 2 pasangan, masing-masing dengan hasil kali a.
Kalikan bilangan-bilangan bulat itu, didapatkan
( 1) 2
(p−1)!≡a p− (mod ).p
Dari Teorema 3.1, didapatkan
( 1) 2
1 a p− (mod ).p
− ≡
Dengan demikian, jika (a p)= −1, maka (a p)≡a(p−1) 2(mod ).p
Teorema 3.3
Misalkan p adalah bilangan prima ganjil dan a dan b adalah bilangan bulat yang
tidak habis dibagi oleh .p Maka
(i) Jika a≡b(mod ),p maka (a p)=(b p).
(ii) (a p b p)( )=(ab p).
(iii) (a2 p)=1.
(i) Jika a≡b(mod ),p maka y2 ≡a(mod )p mempunyai penyelesaian jika dan
Karena nilai yang mungkin dari simbol Legendre adalah 1,± maka disimpulkan
bahwa
(a p b p)( )=(ab p).
(iii) Karena (a p)= ±1, maka dari (ii) didapatkan
(a2 p)=(a p a p)( )=1.
Teorema 3.4
Jika p adalah bilangan prima ganjil, maka
( 1) 2
ppt( , ) 1.a p = Jika s adalah banyaknya sisa positif terkecil yang lebih besar daripada
Akan ditunjukkan bahwa himpunan {p u− 1, p u− 2, , p u− s, , ,v1 v2 , }vt adalah
himpunan bilangan-bilangan bulat {1, 2,…, (p−1) 2}, dengan urutan yang sama. Untuk itu, kita hanya perlu menunjukkan bahwa tidak ada dua bilangan-bilangan
bulat itu yang saling kongruen modulo p, karena ada (p−1) 2 bilangan pada himpunan itu, dan semuanya bilangan bulat positif yang tidak lebih besar dari
(p−1) 2.
Jelas bahwa tidak ada dua bilangan ui yang saling kongruen modulo p dan tidak ada
dua vj yang saling kongruen modulo p. Jika kongruensi ini dipenuhi, didapatkan
(mod ),
ma≡na p di mana m dan n adalah bilangan-bilangan bulat positif yang
tidak lebih besar dari (p−1) 2. Karena p a| ,/ maka m≡n(mod ),p yang tidak mungkin.
Selanjutnya, bilangan bulat p u− i tidak mungkin saling kongruen modulo vj. Jika
kongruensi ini dipenuhi, maka ma≡ p−na(mod ),p sehingga ma≡ −na(mod ).p
Karena | ,p a/ maka m≡ −n(mod ).p Ini tidak mungkin terjadi karena m dan n berada
di himpunan {1, 2,…, (p−1) 2}.
Sekarang kita tahu bahwa p u− 1, p u− 2, , p u− s, , ,v1 v2 ,vt adalah
bilangan-bilangan bulat 1, 2, , ( -1) 2 ,p dengan urutan yang sama. Maka kita simpulkan bahwa
1 2 1 2
sehingga
Dengan demikian, dari (1) dan (2), didapatkan
( 1) 2
( 1)− sa p− ((p−1) 2)! ((≡ p−1) 2)!(mod ).p
Karena ppt( , ((p p−1) 2)!) 1,= maka menurut Teorema 2.18 didapatkan
( 1) 2
( 1)− sa p− ≡1(mod ).p
Dengan mengalikan kedua ruas dengan ( 1) ,− s didapatkan
Contoh 3.3
Misalkan a=5 dan p=11. Untuk menentukan (5 11) dengan Lemma Gauss, hitung sisa-sisa positif terkecil dari 5, 2 5, 3 5, 4 5, dan 5 5⋅ ⋅ ⋅ ⋅ jika dibagi 11, yaitu 5, 10, 4,
9 dan 3. Karena hanya ada dua bilangan yang lebih besar daripada 11 2 , yaitu 9 dan 10, maka (5 11)= −( 1)s = −( 1)2 =1.
Teorema 3.5
Jika p adalah bilangan prima ganjil, maka
2
( 1) 8
(2 p)= −( 1) p − .
Dengan demikian, 2 adalah sisa kuadratik dari semua bilangan-bilangan prima
1(mod 8)
p≡ ± dan bukan sisa kuadratik dari semua bilangan-bilangan prima
3(mod 8).
p≡ ± Bukti:
Dengan Lemma Gauss, diketahui bahwa jika s adalah banyaknya sisa-sisa positif
terkecil yang lebih besar dari p 2 dari bilangan-bilangan bulat
1 2, 2 2, 3 2,⋅ ⋅ ⋅ , ((p−1) 2) 2⋅
jika dibagi ,p maka (2 p)= −( 1) .s Karena semua bilangan-bilangan bulat ini kurang
Bilangan bulat 2 ,j di mana j=1, 2, , (p−1) 2 , lebih kecil daripada p 2 saat
4.
j≤ p Dengan demikian, ada bilangan bulat [p 4] pada himpunan yang lebih kecil daripada p 2. Akibatnya, ada s=(p−1) 2 [− p 4] yang lebih besar daripada
2.
p Oleh karena itu, dengan menggunakan Lemma Gauss, didapatkan
( 1) 2 [ 4]
(2 p)= −( 1)s = −( 1) p− −p . Untuk membuktikan teorema ini, harus ditunjukkan bahwa
2
(p−1) 2 [− p 4]≡(p −1) 8 (mod 2).
Untuk menyelesaikan ini, perlu diperhatikan kongruensi dari p modulo 8.
Jika p≡5(mod 8), maka p=8k+5 untuk suatu bilangan bulat ,k dan
Misalkan n adalah bilangan bulat positif ganjil dengan faktorisasi prima
1 2
Maka simbol Jacoby (a n) didefinisikan sebagai berikut:
1 2 1 2
1 2 1 2
( ) ( t t tm) ( ) (t )t ( ) ,tm
m m
a n = a p p p = a p a p a p
Contoh 3.4
habis dibagi oleh .p Dengan Teorema 3.2, didapatkan
( 1) 2
( )(mod ).
p
b − ≡ b p p
Dengan demikian, untuk menguji keprimaan bilangan bulat positif ,n ambil bilangan
bulat ,b dengan ppt( , ) 1,b n = dan tentukan
(n 1) 2 ( )(mod ),
di mana simbol di ruas kanan adalah simbol Jacoby. Jika kongruensi ini gagal, maka
n adalah bilangan komposit.
Definisi 3.5
Sebuah bilangan bulat positif ganjil komposit n yang memenuhi kongruensi
( 1) 2
( )(mod ),
n
b − ≡ b n n
di mana b adalah bilangan bulat positif, disebut prima semuEuler terhadap basis .b
Sekarang, kita akan membahas tentang algoritma Solovay-Strassen. Misalkan n
adalah bilangan bulat positif. Pilih bilangan bulat acak aj sedemikian sehingga
1≤aj ≤ −n 1, dengan j=1, 2, , .k Untuk setiap bilangan bulat ini, tentukan apakah
( 1) 2
(aj n)≡ajn− (mod ).n
Jika kongruensi ini tidak dipenuhi, maka n adalah bilangan komposit. Jika n adalah
bilangan prima, maka kongruensi ini dipenuhi. Jika n adalah bilangan komposit,
maka probabilitas bahwa kongruensi dipenuhi untuk semua k kurang dari 1 2 .k
Jika
k cukup besar, maka probabilitasnya sangat kecil. Oleh karena itu, jika kongruensi ini dipenuhi untuk k yang sangat besar, maka n pasti bilangan prima.
Untuk menghitung simbol Jacoby, pertama kali kita harus memfaktorkan ,n karena
menghitung simbol Jacoby tanpa memfaktorkan n, kita dapat menggunakan
beberapa hasil dari Teori Bilangan, yaitu Teorema Timbal Balik Kuadratik.
Teorema 3.6
Misalkan n adalah bilangan bulat positif ganjil dengan faktorisasi prima
Teorema 3.7
Jika n adalah bilangan bulat positif ganjil, maka
2 2 2 2
Jika n adalah bilangan bulat positif ganjil, maka
2
v v v adalah sisa-sisa tersebut yang kurang dari p 2. Dengan menggunakan
Algoritma Pembagian didapatkan
[ ] sisa,
di mana sisa adalah salah satu bilangan dari uj atau vj. Dengan menjumlahkan
(p−1) 2 persamaan-persamaan tersebut, didapatkan
Seperti yang telah ditunjukkan pada pembuktian Lemma Gauss, bilangan-bilangan
bulat p u− 1, p u− 2, , p u− s, , ,v1 v2 ,vt adalah bilangan-bilangan bulat 1, 2, ,
(p−1) 2, pada urutan yang sama. Dengan demikian, didapatkan