• Tidak ada hasil yang ditemukan

Kriptosistem RSA - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "Kriptosistem RSA - USD Repository"

Copied!
118
0
0

Teks penuh

(1)

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

(2)

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

(3)
(4)
(5)
(6)
(7)

vii ABSTRAK

(8)

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

(9)
(10)

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

(11)

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

(12)

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

(13)

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

(14)

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 (

(15)

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

(16)

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 mimj dan ij) 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 −

(17)

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

(18)

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

(19)

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

(20)

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: aa, ∀ ∈a S.

2. Transitif: Jika ab dan bc, maka ac, ∀a b c, , ∈S.

3. Anti-simetrik: Jika ab dan ba, maka a=b, ∀a b, ∈S.

(21)

Definisi 2.2

Himpunan S dikatakan terurut total jika himpunan itu terurut parsial dengan relasi urutan parsial ≤ dan untuk setiap pasangan elemen ,x yS berlaku xy atau

.

yx

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 aS sedemikian sehingga ab untuk semua bS.

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

(22)

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 rS, dan dari definisi

S ada bilangan bulat q yang memenuhi

(23)

a=qb+r dan a=q b′ +r′,

dengan 0≤ <r b, 0≤r′<b. Maka r′− =r (aq b′ ) (− aqb)=qbq 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,

|qq′|<1 sehingga 0≤|qq′|<1. Karena |qq′| adalah bilangan bulat

takne-gatif, maka satu-satunya kemungkinan adalah |qq′|=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

(24)

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

[ ]xx<[ ] 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

(25)

(1) a|0 sebab ada bilangan bulat m=0 sedemikian sehingga 0=ma.

adalah bilangan bulat, maka terbukti bahwa ac bd| .

(26)

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 cd.

Teorema 2.3

(27)

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 qaxqby=aqx +bqy

Jika r>0, maka rS. 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

(28)

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

(29)

Karena d adalah pembagi persekutuan terbesar a dan ,b maka ded. 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

(30)

Diberikan bilangan-bilangan bulat taknol a dan .b Untuk suatu bilangan bulat ,d

Teorema berikut ini sering digunakan untuk membuktikan sifat-sifat

(31)

Teorema 2.9 (Prinsip Induksi Matematis)

Jika S adalah himpunan bilangan bulat positif dengan sifat: (i) 1∈S, dan

(ii) Jika kS, 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 aT, yang kontradiksi dengan

kenyataan bahwa aT. 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

(32)

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, ,nS, 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 nT, 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 xT. Maka semua bilangan bulat positif yang kurang dari atau sama dengan x berada di S. Jadi, xS, 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

,

xS maka x adalah bilangan bulat positif. Padahal T adalah himpunan semua

bilangan bulat positif. Jadi, xT. Akibatnya S subhimpunan T. Jadi, karena T

subhimpunan S dan S subhimpunan ,T maka S =T, sehingga S adalah himpunan

semua bilangan bulat positif.

(33)

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

(34)

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(rn1, )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

(35)

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)

(36)

ppt( , )a b =s an +t bn ,

Euclides untuk mendapatkan ppt( , ).a b

Bukti:

Dengan menggunakan Prinsip Kedua Induksi Matematis, kita akan membuktikan

(37)

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

(38)
(39)

Misal r0 =a dan r1 =b adalah bilangan-bilangan bulat dengan ab. 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

(40)

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= ya 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

(41)

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

(42)

Definisi 2.8

Diberikan bilangan bulat positif n. Bilangan bulat a dikatakan kongruen modulo n

dengan bilangan bulat ,b ditulis ab(mod ),n jika | (n a b− ).

Teorema 2.16

Jika a dan b adalah bilangan-bilangan bulat, maka ab(mod )n jika dan hanya jika

ada bilangan bulat k sedemikian sehingga a=b+kn. Bukti:

Jika diketahui ab(mod ),n maka | (n a b− ). Ini berarti bahwa ada bilangan bulat k

sedemikian sehingga ab=kn atau a=b+kn. Sebaliknya, jika ada bilangan bulat

k dengan a= +b kn, maka ab=kn. Dengan demikian, n| (a b− ), yaitu

(mod ).

ab n

Teorema 2.17

Jika a ,b,cdan n adalah bilangan-bilangan bulat, dengan n>0, sedemikian sehingga

(mod ),

ab n maka

(i) a+ ≡ +c b c (mod ),n

(ii) a− ≡ −c b c (mod ),n

(iii) acbc (mod ).n

(43)

Karena ab (mod ),n maka n| (a b− ). Karena a b− =(a+c) (− b+c), maka

| (( ) ( )).

n a+cb+c Jadi, a+ ≡ +c b c (mod ).n Karena a b− =(ac) (− b c− ), maka

| (( ) ( )).

n acb c− Jadi, a− ≡ −c b c (mod ).n Karena n| (a b− ), maka | (n a b c− ) ,

yaitu | (n ac bc− ). Dengan demikian, acbc (mod ).n

Teorema 2.18

Jika a ,b,cdan n adalah bilangan-bilangan bulat sedemikian sehingga n>0,

ppt( , )

d = n c dan acbc(mod ),n maka ab(modn d).

Bukti:

Jika acbc(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 ).

ab n d

Definisi 2.9

Diberikan bilangan bulat a dan bilangan bulat positif m. Dengan menggunakan algoritma pembagian diperoleh

(44)

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 ar(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

(45)

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

(46)

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

(47)

Teorema 2.20

Diberikan bilangan-bilangan bulat a ,bdan n dengan n>0 dan ppt( , )a n =d. Jika

/ maka axb(mod )n tidak mempunyai penyelesaian. Jika d b| , maka (mod )

axb n mempunyai d buah penyelesaian yang tidak saling kongruen modulo

.

Untuk menentukan banyaknya penyelesaian yang tidak saling kongruen, misalkan

(48)

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

(49)

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 )

axn 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

(50)

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

(51)

1 1 1= ⋅

Dengan menggunakan Prinsip Induksi Matematika, kita akan memperlihatkan bahwa

(52)
(53)

Teorema 2.25 (Teorema Sisa Cina)

M ym Tujuan kita adalah untuk membuktikan bahwa bilangan bulat

(54)

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, x0x1ak( modmk) sehingga mk| (x0x1). Karena ppt(m mj, k) 1,=

maka menurut Teorema 2.6, M| (x0x1), yaitu x0x1(modM). Ini menunjukkan

bahwa sistem kongruensi mempunyai penyelesaian tunggal modulo M.

(55)

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

(56)

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 an, a−1= −n a.

Teorema 2.26

Misalkan G adalah grup.

(a) Jika , ,a b cG dan ab=ac, maka b=c (Hukum Kanselasi Kiri).

(b) Jika , ,a b cG 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.

(57)

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 HG untuk

menunjukkan bahwa H adalah subgrup dari G dan HG untuk menunjukkan H

adalah subgrup sejati dari G dengan HG.

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) aa.

2. Simetrik: (∀a b, ∈S) jika ab, maka ba.

3. Transitif: (∀a b c, , ∈S) jika ab dan bc, maka ac.

Definisi 2.16

Himpunan P dari subhimpunan-subhimpunan takkosong dari himpunan takkosong

S membentuk partisi dari S jika

(58)

(ii) Jika A dan B berada di P dan AB, maka AB= ∅.

Definisi 2.17

Misalkan ∼ adalah relasi ekivalensi pada himpunan S, dan aS. Subhimpunan

[ ] {a = xS 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 ab jika ada himpunan di P yang

memuat a dan ,b maka ∼ adalah relasi ekivalensi pada .S

Bukti:

Misalkan ∼ adalah relasi ekivalensi pada .S Jika aS, maka a∈[ ]a sebab aa,

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 ax. Jadi ca dan

(59)

Sekarang andaikan relasi ∼ didefinisikan pada S seperti di atas. Jika aS, maka

aa 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 ab dan bc. 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 AB≠ ∅. Jadi, A=B karena P adalah sebuah partisi.

Karena a dan cA=B, maka ac, 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:

ab jika dan hanya jika ab−1∈H. Maka ∼ adalah relasi ekivalensi pada .G

Bukti:

Refleksif: Jika aG, maka aa karena aa−1= ∈e H.

Simetrik: Jika ab, maka ab−1∈H, sehingga (ab−1)−1∈H, yaitu ba−1∈H. Jadi,

(60)

Transitif: Jika ab dan bc, maka ab−1∈H dan bc−1∈H, sehingga

1 1 1 1 1

(ab− )(bc− )=a b b c( − ) − =ac− ∈H. Jadi, ac.

Definisi 2.18 (Koset)

G adalah grup dan HG. Untuk aG, himpunan aH ={ah h: ∈H} disebut koset

kiri H dan himpunan Ha={ha h: ∈H} disebut koset kanan H.

Definisi 2.19

Fungsi α:ST dikatakan onto jika (∀ ∈y T)(∃ ∈x S) ( )α x =y.

Fungsi α:ST dikatakan satu-satu jika (∀x x1, 2S)

α

( )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 aG, maka #H =#Ha.

Bukti:

Didefinisikan α:HHa dengan

α

( )h =ha untuk setiap hH. Ini adalah fungsi

karena ha secara tunggal ditentukan oleh h dan a. Fungsi ini onto karena Ha

(61)

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 = xG a: ∼x}

{= xG x: ∼a}

={xG xa: −1∈H}

{x G xa: −1 h h, H}

= ∈ = ∈

{= xG 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=HaHa ∪ ∪Ha

Menurut Lemma 2.3, setiap koset Hai terdiri dari #H elemen, sehingga

(62)
(63)

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.

(64)

dengan m. Dari Teorema 2.19, bilangan-bilangan bulat pada baris ke-r

(65)

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 pa 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,

(66)

Teorema 2.33

tidak ada dua elemen dari himpunan itu yang saling kongruen modulo n.

(67)

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 rjrk(mod ).n Terjadi kontradiksi, karena rj

(68)

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

(69)

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

(70)

( ) b(mod ).

Prosedur dekripsi akan mengembalikan teks sandi ke teks biasa.

(71)

Contoh 3.1

menentukan bilangan bulat a dengan menggunakan Algoritma Euclides Diperluas.

(72)

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

(73)

Definisi 3.1 (Fungsi Satu Arah)

Fungsi f dari X ke Y disebut fungsi satu arah jika f x( ) mudah dihitung untuk

setiap xX, tetapi untuk yY sulit untuk menentukan xX 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

(74)

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 yp.

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 )

ya 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

(75)

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:

(76)

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≤ap−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,

(77)

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 ),

ija p haruslah ij. 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 ab(mod ),p maka (a p)=(b p).

(ii) (a p b p)( )=(ab p).

(iii) (a2 p)=1.

(78)

(i) Jika ab(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

(79)

( 1) 2

ppt( , ) 1.a p = Jika s adalah banyaknya sisa positif terkecil yang lebih besar daripada

(80)

Akan ditunjukkan bahwa himpunan {p u1, p u2, , p us, , ,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 ),

mana p di mana m dan n adalah bilangan-bilangan bulat positif yang

tidak lebih besar dari (p−1) 2. Karena p a| ,/ maka mn(mod ),p yang tidak mungkin.

Selanjutnya, bilangan bulat p ui tidak mungkin saling kongruen modulo vj. Jika

kongruensi ini dipenuhi, maka mapna(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 u1, p u2, , p us, , ,v1 v2 ,vt adalah

bilangan-bilangan bulat 1, 2, , ( -1) 2 ,p dengan urutan yang sama. Maka kita simpulkan bahwa

1 2 1 2

(81)

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

(82)

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

(83)

Bilangan bulat 2 ,j di mana j=1, 2, , (p−1) 2 , lebih kecil daripada p 2 saat

4.

jp 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.

(84)

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

(85)

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 ),

(86)

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

(87)

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

(88)

Teorema 3.7

Jika n adalah bilangan bulat positif ganjil, maka

(89)

2 2 2 2

Jika n adalah bilangan bulat positif ganjil, maka

(90)
(91)

2

v v v adalah sisa-sisa tersebut yang kurang dari p 2. Dengan menggunakan

Algoritma Pembagian didapatkan

[ ] sisa,

(92)

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 u1, p u2, , p us, , ,v1 v2 ,vt adalah bilangan-bilangan bulat 1, 2, ,

(p−1) 2, pada urutan yang sama. Dengan demikian, didapatkan

Gambar

Gambar ini

Referensi

Dokumen terkait

Penelitian ini telah mengukur tekanan darah pada penderita hipertensi di PSTW unit Abiyoso tahun 2012 yang diadakan pada kelompok eksperimen yang diberikan jus tomat selama 7

This study have limitations in studying this field, where the measurements to the media exposure variable using dummy variable where a value of 1 for companies that

Dan hasil penelitian didapatkan kesimpulan bahwa opini pendengar terhadap lagu “Udin Sedunia” dari Sualudin mendapatkan respon netral karena masyarakat sudah menganggap biasa

Adapun impilikasi dari pembahasan di atas adalah sehubungan dengan hasil penelitian yang telah dikemukakan di atas dan berbagai keterbatasan yang dimiliki penulis

FRINNA SHINTA 500644607 Magister Manajemen MM PENGARUH PELATIHAN, INTERAK.SI SOSIAL, DAN MOTIVASI KERJA TERHADAP KINERJA PENYULUH MELALUI KOMPETENSI Studi pada Kantor

semua kegiatan atau program yang telah direncanakan tersebut adalah ada... keterkaitan dan saling menunjang antara program satu dengan program

Begitu pula dengan hasil penelitian yang dilakukan oleh Zeinabadi dan Salehi (2011) yang menunjukkan bahwa keadilan organisasi memiliki pengaruh terhadap

• Dalam suatu loop bisa terkandung loop yang lain, sehingga jika loop tersebut diulangi n kali dan loop yang didalamnya dijuga dilakukan m kali maka pernyataan yang berada