KRIPTOSISTEM RSA - USD

118
KRIPTOSISTEM RSA Skripsi 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 2008

Transcript of KRIPTOSISTEM RSA - USD

KRIPTOSISTEM RSA

Skripsi

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

2008

ii

RSA CRYPTOSYSTEM

Thesis

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

2008

v

������������������������������� �

��������������� ��

� ������ ���������������������������������

�� �������������������������

����������������� ������������������������ ��

������������������ �� ���� � ������������������ �� ���� � ������������������ �� ���� � ������������������ �� ���� � ����

�� ��� ���� ��� �������������� ��� ��� ���� ��� �������������� ��� ��� ���� ��� �������������� ��� ��� ���� ��� �������������� �����

� � � �� � � �� � � �� � � ������ � � � � � ���� � ���� � ���� � �������

��� ���� � ������������ ��� � � ��� �� ���� ���� � ������������ ��� � � ��� �� ���� ���� � ������������ ��� � � ��� �� ���� ���� � ������������ ��� � � ��� �� �����

vii

ABSTRAK

Kriptosistem RSA adalah kriptosistem kunci publik yang berdasar pada Teorema Sisa

Cina. Untuk mengerjakan kriptosistem ini, bilangan-bilangan prima dibutuhkan untuk

mendapatkan kunci publik. Untuk menguji keprimaan suatu bilangan, algoritma yang

dapat digunakan adalah algoritma Solovay-Strassen dan algoritma Miller-Rabin.

Algoritma-algoritma yang dapat digunakan untuk memfaktorkan kunci publik, yaitu

algoritma Pollard 1,p − algoritma Pollard rho dan algoritma kuadrat acak Dixon.

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

factor the public key are Pollard 1p − algorithm, Pollard rho algorithm, and Dixon’s

random squares algorithm.

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

kepada penulis selama masa perkuliahan.

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

Penulis

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

G. Sistematika 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

DAFTAR PUSTAKA ..................................................................................... 105

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 Ke yang dapat digunakan untuk mengirim pesan yang telah dienkripsi

(ciphertext) kepada orang yang dituju. Selain aturan enkripsi ,Ke pengguna juga

mempunyai aturan dekripsi Kd yang dapat digunakan untuk mendekripsi ciphertext

kembali ke pesan semula (plaintext). Aturan enkripsi Ke disebut sebagai kunci-publik

(public-key), sedangkan aturan dekripsi Kd disebut sebagai kunci-rahasia (private-

key).

2

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

0r a= dan 1r b= atau ppt( , ).a b Algoritma untuk menghitung ppt( , )a b adalah

sebagai berikut:

0 1 1 2 2 1

1 2 2 3 3 2

2 3 3 4 4 3

2 1 1 1

1

, 0

, 0

, 0

, 0

.

m m m m m m

m m m

r q r r r r

r q r r r r

r q r r r r

r q r r r r

r q r

− − − −

= + < <

= + < <

= + < <

= + < <

=

Jadi, 0 1ppt( , ) mr r r= di mana mr adalah sisa bilangan terakhir yang nilainya tidak

sama dengan nol. Jika bilangan bulat positif nb < mempunyai invers modulo n

terhadap operasi perkalian, maka dengan menggunakan Algoritma Euclides Diperluas

(Extended Euclidean Algorithm) dapat dihitung nilai . mod 1 nb−

3

Teorema Sisa Cina adalah suatu metode yang dapat digunakan untuk memecahkan

sistem-sistem kongruensi tertentu. Anggap jmmm ,,, 21 � adalah bilangan bulat yang

relatif prima (yaitu ppt( , ) 1 di mana dan )i j i jm m m m i j= ≠ ≠ dan jaaa ,,, 21 �

adalah bilangan bulat. Perhatikan sistem kongruensi berikut ini:

1 1 (mod )x a m≡

2 2 (mod )x a m≡

(mod ).r rx a m≡

Sistem kongruensi ini mempunyai penyelesaian tunggal

1

(mod )r

i i ii

x a M y M=

≡�

dengan 1 2 ,rM m m m= � i iM M m= dan 1(mod ).i i iy M m−=

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−p (Pollard 1−p algorithm), algoritma Pollard rho (Pollard Rho algorithm) dan

4

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 ( ) ( 1)( 1).n p qφ = − −

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

yang dapat digunakan untuk mengamankan kerahasiaan suatu informasi.

5

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

C. Kongruensi Linear

6

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

B. Saran

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∀ ∈

Himpunan S yang dilengkapi dengan suatu relasi urutan parsial disebut himpunan

terurut parsial.

8

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 0.b > Maka ada tunggal bilangan bulat q

dan r yang memenuhi

9

,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}S a xb x a xb= − − ≥

bukan himpunan kosong. Cukup memperlihatkan bahwa ada bilangan x yang

membuat xba − taknegatif. Karena bilangan bulat 1,b ≥ maka | |a b ≥ | |a dan

( | |) | | | |a a b a a b a a− − = + ≥ + 0.≥

Dengan demikian, untuk | |,x a= − .a xb S− ∈ Karena himpunan semua bilangan

bulat taknegatif tertata baik, maka ada bilangan bulat terkecil ,r S∈ dan dari definisi

S ada bilangan bulat q yang memenuhi

,r a qb= −

dengan 0.r ≥ Akan kita tunjukkan bahwa br < dengan menggunakan bukti

kontradiksi. Andaikan ,r b≥ maka

( 1) 0.a q b a qb b r b− + = − − = − ≥

Hal ini berakibat ( 1) ,a q b S− + ∈ tetapi ( 1) .a q b a qb b r b r− + = − − = − < Ini berarti

bahwa ada elemen lain di S yang lebih kecil dari r . Dengan demikian, .r b<

Selanjutnya akan kita tunjukkan ketunggalan dari q dan .r Misalkan a mempunyai

dua bentuk representasi, yaitu

10

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

dengan 0 , 0 .r b 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 0.b r− < − ≤ Dari dua pertidaksamaan 0≤−<− rb dan

0 ,r b′≤ < kita dapatkan brrb <−′<− atau | |r r′ − < ,b maka | |b q q′− .b< Jadi,

| |q q′− 1< sehingga 0 ≤ | |q q′− 1.< Karena || qq ′− adalah bilangan bulat takne-

gatif, maka satu-satunya kemungkinan adalah | |q q′− 0.= Ini terjadi jika qq ′= .

Oleh karena itu, | |r r′ − | |b q q′= − 0 0.b= ⋅ = Jadi, kita dapatkan rr ′= . ��

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 0,a ≠ 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

tidak membagi habis ,b maka kita tulis � �� �/

11

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

[ ] [ ] 1.x x x≤ < +

Teorema 2.2

Diberikan bilangan-bilangan bulat cba dan , , dengan 0.a ≠ Maka

(1) | 0,a 1| ,a | .a a

(2) 1|a jika dan hanya jika 1.a = ±

(3) Jika ba | dan | ,c d maka | .ac bd

(4) Jika | dan | ,a b b c maka | .a c

(5) abba |dan | jika dan hanya jika .a b= ±

(6) Jika ba | dan 0,b ≠ maka | |a ≤ | | .b

(7) Jika caba |dan | , maka | ( )a bx cy+ untuk sebarang bilangan-bilangan bulat

x dan y .

Bukti:

12

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

a|1 sebab ada bilangan bulat m a= sedemikian sehingga 1.a m= ⋅

aa | sebab ada bilangan bulat 1m = sedemikian sehingga .a ma=

(2) Jika |1,a maka ada bilangan bulat m sedemikian sehingga 1 .ma= Karena

m dan a adalah bilangan bulat dan 1,ma = maka nilai m dan a yang

mungkin adalah 1 dan 1.− Jika kita ambil 1,m = maka 1 1 .ma a a= = ⋅ = Jika

kita ambil 1,m = − maka 1 ( 1)ma a a= = − ⋅ = − atau 1.a = − Jadi, 1.a = ±

Sebaliknya, jika diketahui 1,a = ± maka untuk 1=a benar bahwa |1a sebab

1 1 1,= ⋅ dan untuk 1−=a benar bahwa |1a karena 1 ( 1) ( 1).= − ⋅ −

(3) Karena | dan | ,a b c d maka ada bilangan bulat m dan n sedemikian se-

hingga mab = dan .d nc= Jadi, ( )( ) ( )( ).bd ma nc mn ac= = Karena mn

adalah bilangan bulat, maka terbukti bahwa | .ac bd

(4) Karena | dan | ,a b b c maka ada bilangan bulat e dan f sedemikian sehingga

dan .b ea c fb= = Jadi, ( ) ( ) .c fb f ea fe a= = = Karena fe adalah bilangan

bulat, maka dapat disimpulkan bahwa | .a c

(5) Karena | dan | ,a b b a maka ada bilangan bulat e dan f sedemikian sehingga

dan .b ea a fb= = Jadi, ( ) ( ) .a fb f ea fe a= = = Karena ( ) ,a fe a= maka

1.fe = Karena e dan f adalah bilangan bulat, maka nilai e dan f yang

mungkin adalah 1 dan 1.− Jika kita ambil 1,f = maka 1 .a fb b b= = ⋅ = Jika

13

kita ambil 1,f = − maka ( 1) .a fb b b= = − ⋅ = − Jadi, .a b= ± Sebaliknya,

jika ,a b= ± maka ba | karena 1 ,b a= ± ⋅ dan ab | karena 1 .a b= ± ⋅

(6) Jika | ,a b maka ada bilangan bulat k sedemikian sehingga .b ka= Jika 0,b ≠

maka 0≠k sehingga | |b = | |ka = | || | .k a Karena 0,k ≠ maka | |k 1≥

sehingga | |b = | || |k a 1 | |a≥ ⋅ = | | .a Jadi, | |a ≤ | | .b

(7) Jika | dan | ,a b a c maka ada bilangan bulat m dan n sedemikian sehingga

mab = dan .c na= Kemudian,

( ) ( ) ( )bx cy ma x na y amx any a mx ny+ = + = + = +

untuk sebarang bilangan-bilangan bulat x dan .y Karena nymx + 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. | dan | .d a d b

2. Jika | dan | ,c a c b maka .c d≤

Teorema 2.3

Jika diberikan bilangan bulat a dan b yang keduanya taknol, maka ada bilangan

bulat x dan y sedemikian sehingga ppt( , ) .a b ax by= +

14

Bukti:

Kita definisikan S sebagai himpunan semua kombinasi linear dari a dan :b

S = { : 0;au bv au bv+ + > ,u v adalah bilangan-bilangan bulat}.

Pertama akan kita tunjukkan bahwa S bukan himpunan kosong. Karena 0,a ≠ maka

| |a 0au b S= + ⋅ ∈ dengan 1atau 1 −== uu . 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 0,r > maka .r S∈ Terjadi kontradiksi dengan kenyataan bahwa d adalah

elemen terkecil di .S Oleh karena itu, 0=r dan qda = 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 ppt( , ).d a b= �

Definisi 2.7

Bilangan bulat a dan b dikatakan relatif prima jika ppt( , ) 1.a b =

15

Teorema 2.4

Diberikan bilangan bulat taknol a dan .b Maka ppt( , ) 1a b = jika dan hanya jika ada

bilangan bulat x dan y sedemikian sehingga 1 .ax by= +

Bukti:

Jika ppt( , ) 1,a b = 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 ppt( , ).d a b= Karena ad | dan | ,d b maka menurut Teorema 2.2 (7),

| ( ) 1.d ax by+ = Jadi, menurut Teorema 2.2 (2), 1.d = �

Teorema 2.5

Diberikan a dan b adalah bilangan-bilangan bulat dengan ppt( , ) ,a b d= maka

ppt( , ) 1.a d b d =

Bukti:

Misal a dan b adalah bilangan-bilangan bulat dengan ppt( , ) .a b d= Akan ditunjuk-

kan bahwa da dan db 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 keda = dan .b d le= Jadi,

deka = dan .b del= Dengan demikian, de adalah pembagi persekutuan a dan b .

16

Karena d adalah pembagi persekutuan terbesar a dan ,b maka .de d≤ Jadi, 1.e =

Akibatnya, ppt( , ) 1.a d b d = �

Teorema 2.6

Jika ca | dan | ,b c dengan ppt( , ) 1,a b = maka | .ab c

Bukti:

Jika diketahui ca | dan | ,b c maka ada bilangan bulat r dan s sedemikian sehingga

arc = dan .c bs= Karena ppt( , ) 1,a b = maka menurut Teorema 2.3, ada bilangan

bulat x dan y sedemikian sehingga byax +=1 . 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( , ) 1,a b = maka | .a c

Bukti:

Karena ppt( , ) 1,a b = maka ada bilangan bulat x dan y sedemikian sehingga

1 .ax by= + Kita dapatkan

1 ( ) .c c c ax by acx bcy= ⋅ = + = +

Karena | dan | ,a ac a bc maka | ( ) .a acx bcy c+ = Jadi, | .a c �

Teorema 2.8

17

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

ppt( , )d a b= jika dan hanya jika

1. | dan | ,d a d b

2. Jika | dan | ,c a c b maka | .c d

Bukti:

Jika diketahui ppt( , ),d a b= maka | dan | .d a d b Karena ppt( , ),d a b= maka

byaxd += untuk suatu bilangan bulat x dan .y Jadi, jika | dan | ,c a c b maka

| ( )c ax by+ atau | .c d Sebaliknya, misalkan d adalah bilangan bulat yang

memenuhi (1) dan (2). Jika c adalah pembagi persekutuan dari a dan ,b maka dari

(2) didapatkan | .c d Dengan Teorema 2.2 (6), diperoleh | |c ≤ | | .d Kuadratkan kedua

ruas, sehingga diperoleh

2 2c d≤

2 2 0c d− ≤

( )( ) 0.c d c d− + ≤

Maka .d c d− ≤ ≤ Menurut Definisi 2.6, d adalah pembagi persekutuan terbesar dari

a dan .b ��

B. Algoritma Euclides

Teorema berikut ini sering digunakan untuk membuktikan sifat-sifat bilangan-

bilangan bulat.

18

Teorema 2.9 (Prinsip Induksi Matematis)

Jika S adalah himpunan bilangan bulat positif dengan sifat:

(i) 1 ,S∈ dan

(ii) Jika ,k S∈ maka 1k 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 1>a dan 0 1 .a a< − <

Karena a bilangan bulat terkecil di ,T maka 1 ,a T− ∉ jadi 1 .a S− ∈ Dengan

hipotesa induksi, ( 1) 1 ,a 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

(ii) Untuk setiap bilangan bulat positif ,n jika 1,2, , ,n S∈� maka 1n S+ ∈

19

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 1 .n 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. �

Lemma 2.1

20

Jika ,a qb r= + maka ppt( , ) ppt( , ).a b b r=

Bukti:

Jika ppt( , ),d a b= maka ad | dan | .d b Akibatnya | ( )d a qb− atau | .d r Jadi, d

adalah pembagi persekutuan terbesar dari b dan .r Jika c adalah pembagi

persekutuan dari b dan ,r maka | ( )c qb r+ atau | .c a Ini membuat c sebagai

pembagi persekutuan a dan b , sehingga .c d≤ Jadi, ppt( , ).d b r= �

Teorema 2.11 (Algoritma Euclides)

Diberikan bilangan-bilangan bulat ar =0 dan br =1 sedemikian sehingga 0.a b≥ >

Jika algoritma pembagian dijalankan secara berturutan untuk mendapatkan

211 +++ += jjjj rqrr dengan 120 ++ << jj rr untuk 2 , 2, 1, ,0 −= nj � dan 01 =+nr ,

maka ppt( , ) na b r= di mana nr adalah bilangan sisa terakhir yang nilainya tidak sama

dengan nol.

Bukti:

Misal ar =0 dan br =1 adalah bilangan-bilangan bulat dengan ba ≥ . Dengan men-

jalankan algoritma pembagian secara berurutan, kita dapatkan

0 1 1 2 2 1, 0r q r r r r= + < <

1 2 2 3 3 2, 0r q r r r r= + < <

2 3 3 4 4 3, 0r q r r r r= + < <

21

2 1 1 1, 0− − − −= + < <n n n n n nr q r r r r

1 .− =n n nr q r

nr adalah bilangan sisa terakhir yang tidak sama dengan nol. Dengan menggunakan

Lemma 2.1, kita dapatkan

0 1 1 2 1ppt( , ) ppt( , ) ppt( , ) ppt( , )n n na b r r r r r r r−= = = = =� .

Jadi, ppt( , ) .na b r= �

Algoritma Euclides dapat digunakan untuk menyatakan pembagi persekutuan terbesar

dari dua bilangan bulat sebagai kombinasi linear dari bilangan-bilangan bulat itu.

Untuk melihat bahwa ppt( , )d a b= dapat dinyatakan sebagai kombinasi linear dari a

dan ,b kita lihat barisan persamaan yang dihasilkan dari Algoritma Euclides. Kita

dapatkan bahwa

112 −−− −= nnnn rqrr .

Ini menyatakan ppt( , )nr a b= sebagai kombinasi linear dari 2−nr dan 1−nr . Dengan

menyatakan 1 3 2 2n n n nr r q r− − − −= − , kita dapatkan

2 1 1n n n nr r q r− − −= −

2 1 3 2 2 ( )n n n n nr q r q r− − − − −= − −

1 2 2 1 3 (1 )n n n n nq q r q r− − − − −= + −

22

yang menyatakan ppt( , )nr a b= sebagai kombinasi linear dari 3−nr dan 2.nr − 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 ar =0 dan

br =1 . Secara umum, jika kita telah mendapatkan kombinasi linear

1ppt( , ) j ja b sr tr −= + ,

maka, karena

112 −−− −= jjjj rqrr ,

kita dapatkan

1ppt ( , ) j ja b sr tr −= +

2 1 1 1 ( )j j j js r q r tr− − − −= − +

1 1 2 ( ) .j j jt sq r sr− − −= − +

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)

Jika diberikan bilangan-bilangan bulat a dan b , maka

23

ppt( , ) n na b s a t b= + ,

untuk suatu 0, 1, 2, n = � di mana ns dan nt adalah bentuk ke- n dari barisan yang

ditentukan secara rekursif dengan

0 01, 0s t= =

1 10, 1s t= =

� �

2 1 1 2 1 1,j j j j j j j js s q s t t q t− − − − − −= − = −

untuk 2, 3, , ,j n= � di mana jq adalah hasil bagi dalam pembagian Algoritma

Euclides untuk mendapatkan ppt( , ).a b

Bukti:

Dengan menggunakan Prinsip Kedua Induksi Matematis, kita akan membuktikan

bahwa

btasr jjj +=

untuk nj , 2, 1, ,0 �= . Untuk 0,j = kita mempunyai 0 0 01 0 .r a a b s a t b= = ⋅ + ⋅ = +

Dengan demikian, benar untuk 0.j = Demikian juga, untuk 1,j = kita dapatkan

1 1 10 1 ,r b a b s a t b= = ⋅ + ⋅ = + sehingga benar untuk 1=j .

Asumsikan bahwa

btasr jjj +=

untuk 0, 1, 2, , 1.j k= −� Maka dari Algoritma Euclides langkah ke- ,k didapatkan

24

2 1 1.k k k kr r q r− − −= −

Jadi,

2 1 1k k k kr r q r− − −= −

2 2 1 1 1 ( ) ( )k k k k ks a t b q s a t b− − − − −= + − +

2 2 1 1 1 1 − − − − − −= + − −k k k k k ks a t b q s a q t b

2 1 1 2 1 1 ( ) ( )− − − − − −= − + −k k k k k ks q s a t q t b

.= +k ks a t b ��

Contoh 2.2

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

Algoritma Euclides Diperluas.

25

j jr 1jr + 1jq + 2jr + js jt

0 252 198 1 54 1 0

1 198 54 3 36 0 1

2 54 36 1 18 1 1−

3 36 18 2 0 3− 4

4 4 5−

Nilai-nilai js dan jt dengan 0, 1, 2, 3, 4,j = dihitung dengan cara berikut:

0 01, 0,s t= =

1 10, 1,s t= =

2 0 1 1 2 0 1 11 0 1 1, 0 1 1 1,s s s q t t t q= − = − ⋅ = = − = − ⋅ = −

3 1 2 2 3 1 2 20 1 3 3, 1 ( 1) 3 4,s s s q t t t q= − = − ⋅ = − = − = − − ⋅ =

4 2 3 3 4 2 3 31 ( 3) 1 4, 1 4 1 5.s s s q t t t q= − = − − ⋅ = = − = − − ⋅ = −

Karena 4 18 ppt(198, 252)r = = dan 4 4 4 ,r s a t b= + didapatkan

( ) ( )18 ppt 198, 252 4 252 5 198.= = ⋅ + − ⋅

Teorema 2.13

Jika 0,k > maka ppt( , ) ppt( , ).ka kb k a b=

Bukti:

26

Misal ar =0 dan br =1 adalah bilangan-bilangan bulat dengan ba ≥ . Jika setiap

persamaan dalam Algoritma Euclides, kita kalikan dengan k , maka kita dapatkan

0 1 1 2 2 1 ( ) , 0kr q kr kr kr kr= + < <

1 2 2 3 3 2 ( ) , 0kr q kr kr kr kr= + < <

2 3 3 4 4 3( ) , 0kr q kr kr kr kr= + < <

2 1 1 1( ) , 0n n n n n nkr q kr kr kr kr− − − −= + < <

1 ( ) 0.n n nkr q kr− = +

Dari persamaan di atas terlihat bahwa Algoritma Euclides dikerjakan untuk bilangan

bulat kakr =0 dan 1 ,kr kb= sehingga pembagi persekutuan terbesar yang kita

dapatkan adalah .nkr Jadi, ppt( , ) ppt( , ).nka kb kr k a b= = ��

Teorema 2.14

Untuk setiap bilangan bulat 0,k ≠ ppt( , )ka kb = | | ppt( , ).k a b

Bukti:

Cukup dengan memperhatikan kasus 0.k < Jika 0,k < maka k− = | |k > 0. Dari

Teorema 2.13, kita dapatkan

ppt( , ) ppt( , ) ppt(| | ,| | )ka kb ka kb k a k b= − − = = | | ppt( , ).k a b ��

27

C. Kongruensi Linear

Persamaan Diophantus adalah persamaan yang membatasi penyelesaiannya pada

himpunan bilangan bulat.

Teorema 2.15

Persamaan Diophantus linear cbyax =+ mempunyai penyelesaian jika dan hanya

jika | ,d c di mana ppt( , ).d a b= Jika 00 , yx adalah suatu penyelesaian khusus dari

persamaan ,ax by c+ = maka penyelesaian umumnya adalah 0 ( )x x 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 ppt( , ),d 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 cbyax =+ tersebut adalah

0x se= dan 0 .y te= Untuk membuktikan pernyataan kedua dari Teorema di atas,

28

misalkan 00 , yx adalah penyelesaian dari persamaan .ax by c+ = Jika yx ′′ , adalah

penyelesaian lain, maka

0 0 ,ax by c ax by′ ′+ = = + sehingga ybxabyax ′+′=+ 00

yang ekivalen dengan

0 0 ax ax by by′ ′− = −

0 0( ) ( ).a x x b y y′ ′− = −

Kita bagi kedua ruas dari persamaan terakhir dengan ,d kita dapatkan

0 0( )( ) ( )( ).a d x x b d y y′ ′− = −

Menurut Teorema 2.5, ppt( , ) 1a d b d = . Dengan menggunakan Teorema 2.7, karena

0( ) | ( )( )a d b d y y′− , maka 0( ) | ( ).a d y y′− Dengan demikian, ada bilangan bulat t

sehingga 0 ( )y y a d t′− = atau 0 ( ) .y y a d t′ = − Dengan menyubstitusikan nilai y′ ke

dalam persamaan 0 0( ) ( ),a x x b y y′ ′− = − diperoleh

0 0 0( ) ( ( ( ) ))a x x b y y a d t′ − = − −

0 0 0( ) ( ( ) )a x x b y y a d t′ − = − + �

0( ) ( )a x x b a d t′ − = �

0 ( ) .x x b d t′ = + �

Jadi, terbukti bahwa penyelesaian umum persamaan Diophantus linear cbyax =+

adalah 0 ( )x x b d t= + dan 0 ( )y y a d t= − di mana t adalah bilangan bulat. �

29

Definisi 2.8

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

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

Teorema 2.16

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

ada bilangan bulat k sedemikian sehingga knba += .

Bukti:

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

sedemikian sehingga knba =− atau knba += . Sebaliknya, jika ada bilangan bulat

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

(mod ).a b n≡ ��

Teorema 2.17

Jika ncba dan , , adalah bilangan-bilangan bulat, dengan 0,n > sedemikian sehingga

(mod ),a b n≡ maka

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

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

(iii) (mod ).ac bc n≡

Bukti:

30

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

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

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

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

Teorema 2.18

Jika ncba dan , , adalah bilangan-bilangan bulat sedemikian sehingga 0,n >

ppt( , )d n c= dan (mod ),ac bc n≡ maka (mod ).a b n d≡

Bukti:

Jika (mod ),ac bc 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

a bm r= +

31

dengan 0,1,2, , 1.r m= −� Bilangan bulat positif r disebut sisa taknegatif terkecil

dari a modulo .m

Perhatikan bahwa dari persamaan ,a bm r= + kita dapatkan (mod ).a r m≡ Dengan

demikian, setiap bilangan bulat kongruen modulo m dengan salah satu bilangan bulat

dari himpunan 0,1, , 1m −� yang adalah sisa jika bilangan bulat itu dibagi dengan .m

Karena tidak ada dua bilangan bulat dari 0,1, , 1m −� 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

0,1, , 1m −� adalah sistem lengkap dari sisa modulo .m Himpunan {0,1, , 1}m −�

disebut himpunan sisa taknegatif terkecil modulo ,m dan ditulis .m�

32

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 1m − 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 1 2{ , , , }mr r r� adalah sistem lengkap dari sisa modulo m dan a adalah bilangan

bulat positif dengan ppt( , ) 1,a m = maka

33

1 2{ , , , }mar b ar b ar 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{ , , , }mar b ar b ar b+ + +�

yang saling kongruen modulo m . Andaikan

(mod ),j kar b ar b m+ ≡ +

dengan .j k≠ Maka dari Teorema 2.17 (ii) didapatkan

(mod ),j kar b b ar b b m+ − ≡ + −

(mod ).j kar ar m≡

Karena ppt( , ) 1,a m = maka menurut Teorema 2.18

(mod ).j kr r m≡

Kontradiksi, karena diketahui bahwa (mod )j kr r m≡/ jika .j k≠ Jadi, kita simpulkan

bahwa tidak ada dua bilangan bulat dari 1 2{ , , , }mar b ar b ar b+ + +� yang saling

kongruen modulo m jika .j k≠

Menurut Lemma 2.2, karena bilangan-bilangan bulat 1 2{ , , , }mar b ar b ar b+ + +�

terdiri dari m bilangan bulat yang tidak saling kongruen modulo ,m maka himpunan

ini membentuk sistem lengkap modulo .m �

34

Teorema 2.20

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

� �� �/ maka (mod )ax b n≡ tidak mempunyai penyelesaian. Jika | ,d b maka

(mod )ax b n≡ mempunyai d buah penyelesaian yang tidak saling kongruen modulo

.n

Bukti:

Dari Teorema 2.16, (mod )ax b n≡ ekivalen dengan nybax += yang ekivalen

dengan .ax ny b− = Bilangan bulat x adalah penyelesaian dari (mod )ax b n≡ jika

dan hanya jika ada bilangan bulat y sedemikian sehingga .ax ny b− = Dengan

Teorema 2.15, jika � �� �/ maka persamaan tersebut tidak mempunyai penyelesaian.

Jika | ,d b maka bnyax =− mempunyai banyak penyelesaian dengan

0 ( )x x n d t= + dan 0 ( )y y a d t= +

di mana 0xx = dan 0yy = adalah penyelesaian khusus dari persamaan tersebut.

Untuk menentukan banyaknya penyelesaian yang tidak saling kongruen, misalkan

dua penyelesaian 1 0 1( )x x n d t= + dan 2 0 2( )x x n d t= + kongruen modulo n . Maka

0 1 0 2( ) ( ) (mod )x n d t x n d t n+ ≡ +

1 2 ( ) ( ) (mod )n d t n d t n≡

Karena ( ) | ,n d n maka ppt( , ) ,n n d n d= sehingga dengan menggunakan Teorema

2.18 kita dapatkan

1 2 (mod ).t t d≡

35

Ini menunjukkan bahwa himpunan penyelesaian yang tidak kongruen terdiri dari d

buah penyelesaian 0 ( ) ,tx x n d t= + dengan 1 , 2, 1, ,0 −= dt � . �

Contoh 2.4

Carilah penyelesaian 18 30(mod 42).x ≡

Jawab:

Untuk mendapatkan penyelesaian khusus, kita perhatikan persamaan Diophantus

linear 304218 =− yx . Dengan Algoritma Euclides diperoleh

42 2 18 6= ⋅ +

18 3 6= ⋅

sehingga 182426 ⋅−= . Dengan demikian, kita dapatkan

6 42 2 18= − ⋅

5 6 5 42 5 2 18⋅ = ⋅ − ⋅ ⋅

30 10 18 ( 5) ( 42)= − ⋅ + − ⋅ −

dan penyelesaian khusus dari 304218 =− yx adalah 100 −=x dan 50 −=y . Dari

bukti Teorema 2.18, kita dapatkan 6 buah penyelesaian yang tidak saling kongruen

modulo 42, yaitu

0 10,x = −

421 0 6( ) 1 10 7 1 10 7 3,x x= + ⋅ = − + ⋅ = − + = −

422 0 6( ) 2 10 7 2 10 14 4,x x= + ⋅ = − + ⋅ = − + =

36

423 0 6( ) 3 10 7 3 10 21 11,x x= + ⋅ = − + ⋅ = − + =

424 0 6( ) 4 10 7 4 10 28 18,x x= + ⋅ = − + ⋅ = − + = dan

425 0 6( ) 5 10 7 5 10 35 25.x x= + ⋅ = − + ⋅ = − + =

Definisi 2.11

Diberikan bilangan bulat a dan ppt( , ) 1.a n = Penyelesaian dari kongruensi linear

1(mod )ax n≡ disebut invers dari a modulo n .

Contoh 2.5

Karena penyelesaian dari 7 1(mod 31)x ≡ adalah 9,x = 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

Euclides, maka | .p b �

37

Teorema 2.22

Misalkan p adalah bilangan prima. Bilangan bulat positif a adalah invers modulo

p terhadap dirinya sendiri jika dan hanya jika 1(mod )a p≡ atau 1(mod ).a p≡ −

Bukti:

Jika 1(mod )a p≡ atau 1(mod ),a p≡ − maka | ( 1)p a − atau | ( 1),p a + sehingga

| ( 1)( 1)p a a− + yaitu 2 1(mod ),a p≡ sehingga 1(mod ).a a p⋅ ≡ Sebaliknya, jika

1(mod ),a a p⋅ ≡ maka 2| ( 1).p a − Karena 2 1 ( 1)( 1),a a a− = − + maka

| ( 1)( 1),p a a+ − sehingga | ( 1)p a − atau | ( 1).p a + Oleh karena itu, 1(mod )a p≡

atau 1(mod ).a p≡ − �

D. Teorema Sisa Cina

Sebelum membahas tentang Teorema Sisa Cina, terlebih dahulu akan dibahas

teorema-teorema yang diperlukan untuk membuktikan Teorema Sisa Cina tersebut.

Teorema 2.23

Jika ppt( , ) 1a b = dan ppt( , ) 1,a c = maka ppt( , ) 1.a bc =

Bukti:

Jika ppt( , ) 1,a b = maka ada bilangan bulat x dan y sedemikian sehingga

byax +=1 . Jika ppt( , ) 1,a c = maka ada bilangan bulat u dan v sedemikian

sehingga cvau +=1 . Dengan demikian, kita dapatkan

38

1 1 1= ⋅

( )( )ax by au cv= + +

2a ux acvx abuy bcvy= + + +

( ) ( )a aux cvx buy bc vy= + + +

( )ae bc f= +

dengan buycvxauxe ++= dan vyf = . Jadi, menurut Teorema 2.4 diperoleh

ppt( , ) 1.a bc = �

Teorema 2.24

Jika 1 2, , , ,na a a b� adalah bilangan-bilangan bulat sedemikian sehingga 1ppt( , )a b =

2ppt( , ) ppt( , ) 1na b a b= = =� , maka 1 2ppt( , ) 1na a a b =� untuk setiap bilangan asli

.n

Bukti:

Dengan menggunakan Prinsip Induksi Matematika, kita akan memperlihatkan bahwa

1 2ppt( , ) 1na a a b =� untuk semua bilangan asli .n Untuk 1n = benar bahwa jika

1ppt( , ) 1,a b = maka 1ppt( , ) 1.a b =

Asumsikan teorema benar untuk ,n k= yaitu jika 1 2ppt( , ) ppt( , )a b a b= = =�

ppt( , ) 1,ka b = maka 1 2ppt( , ) 1.ka a a b =� Akan dibuktikan bahwa Teorema benar

untuk 1.n k= + Misalkan 1 2 1ppt( , ) ppt( , ) ppt( , ) ppt( , ) 1,k ka b a b a b a b+= = = = =� dan

39

1 2 .km a a a= � Maka ppt( , ) 1,m b = sehingga ada bilangan bulat x dan y sedemikian

sehingga bymx +=1 . Karena 1ppt( , ) 1,ka b+ = maka ada bilangan bulat u dan v

sedemikian sehingga bvuak += +11 . Dengan demikian, kita dapatkan

1 1 1= ⋅

1( )( )kmx by a u bv+= + +

21 1k kma ux mbvx a buy b vy+ += + + +

1 1( ) ( )k kma ux b mvx a uy bvy+ += + + +

1kma e bf+= +

1 2 1( )k ka a a a e bf+= +�

dengan uxe = dan bvyuyamvxf k ++= +1 . Jadi, 1 2 1ppt( , ) 1.ka a a b+ =� Jadi, benar

bahwa jika 1 2, , , ,na a a b� adalah bilangan-bilangan bulat sedemikian sehingga

1ppt( , )a b = 2ppt( , ) ppt( , ) 1,na b a b= = =� maka 1 2ppt( , ) 1na a a b =� untuk setiap

bilangan asli .n �

Teorema Sisa Cina berikut ini adalah suatu metode yang dapat digunakan untuk

memecahkan sistem-sistem kongruensi tertentu.

40

Teorema 2.25 (Teorema Sisa Cina)

Jika rmmm , , , 21 � adalah bilangan-bilangan bulat positif yang relatif prima

(yaitu ppt( , ) 1 untuk ),i jm m i j= ≠ maka sistem kongruensi linear

1 1 (mod )x a m≡

2 2 (mod )x a m≡

(mod )r rx a m≡

mempunyai penyelesaian tunggal modulo 1 2 .rM m m m= �

Bukti:

Untuk setiap rk , 2, 1, �= , misalkan rkkkk mmmmmmMM �� 1121 +−== . Karena

ppt( , ) 1j km m = untuk ,j k≠ maka menurut Teorema 2.24 ppt( , ) 1.k kM m = Dengan

menggunakan Teorema 2.20, kita dapatkan invers ky dari kM modulo ,km sehingga

1(mod ).k k kM y m≡ Tujuan kita adalah untuk membuktikan bahwa bilangan bulat

0 1 1 1 2 2 2 r r rx a M y a M y a M y= + + +�

merupakan penyelesaian dari sistem yang diberikan.

Untuk memperlihatkan ini, kita harus menunjukkan bahwa 0 (mod )k kx a m≡ untuk

1, 2, , .k r= � Karena jk Mm | untuk kj ≠ , maka 0(mod )j kM m≡ . Karena itu,

0 1 1 1 2 2 2 1 1 1 1 1 1k k k k k k k k k r r rx a M y a M y a M y a M y a M y a M y− − − + + += + + + + + + +� �

0 0 0 0 0 ( mod )k k k ka M y m≡ + + + + + + +� �

41

( mod )k k k ka M y m≡

( mod ).k ka m≡

Ini menunjukkan bahwa sistem kongruensi tersebut mempunyai penyelesaian.

Sekarang kita tunjukkan bahwa setiap dua penyelesaian adalah kongruen modulo .M

Misal 1x adalah bilangan bulat lain yang memenuhi sistem kongruensi, maka untuk

semua ,k 0 1 ( mod )k kx x a m≡ ≡ sehingga 0 1| ( ).km x x− Karena ppt( , ) 1,j km m =

maka menurut Teorema 2.6, 0 1| ( ),M x x− yaitu 0 1(mod ).x x M≡ Ini menunjukkan

bahwa sistem kongruensi mempunyai penyelesaian tunggal modulo .M �

Contoh 2.6

Cari nilai x yang memenuhi

2 (mod 3)x ≡

3 (mod 5)x ≡

2 (mod 7)x ≡

Jawab:

1 2 3 3 5 7 105.M m m m= = ⋅ ⋅ =

1 1 105 3 35.M M m= = =

2 2 105 5 21.M M m= = =

3 3 105 7 15.M M m= = =

42

Dari 135 1(mod3)y ≡ didapatkan 1 2(mod 3).y ≡ Dari 221 1(mod 5)y ≡ diperoleh

2 1(mod 5).y ≡ Dari 315 1(mod 7)y ≡ diperoleh 3 1(mod 7).y ≡ 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. 1 1 1( )( ) a G a G a a a a e− − −∀ ∈ ∃ ∈ = =� � .

43

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 1n ≥ , himpunan bilangan-bilangan bulat modulo n , ditulis n� ,

membentuk grup dengan operasi + dan memuat n elemen. Elemen identitasnya

adalah 0 dan untuk semua elemen ,na ∈� 1a 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 1a ab− = 1 ,a ac− sehingga 1 1( ) ( ) ,a a b a a c− −= yaitu .eb ec=

Jadi .b c=

(b) Jika ,ba ca= maka 1baa− = 1,caa− sehingga 1 1( ) ( ),b aa c aa− −= yaitu .be ce=

Jadi .b c= �

44

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

(i) S adalah gabungan dari himpunan-himpunan di P

45

(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

a ∼ ,x sehingga c ∼ .x Karena [ ],b b∈ maka b ∼ .c Dengan demikian, dapat

disimpulkan bahwa b ∼ .x Jadi, [ ].x b∈ Ini menunjukkan bahwa [ ] [ ].a b⊆ Dengan

cara yang sama, dapat diperlihatkan bahwa [ ] [ ].a b⊇ Oleh karena itu, [ ] [ ].a b=

46

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 1 .ab H− ∈

Maka ∼ adalah relasi ekivalensi pada .G

Bukti:

Refleksif: Jika ,a G∈ maka a ∼ a karena 1 .aa e H− = ∈

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

b ∼ .a

47

Transitif: Jika a ∼b dan b ∼ ,c maka 1ab H− ∈ dan 1 ,bc 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 1 2( , )x x S∀ ∈ 1 2 1 2( ) ( ) .x x x xα α= � =

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 fungsi

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

terdiri dari elemen-elemen yang mempunyai bentuk ha dengan .h H∈ Untuk

menunjukkan bahwa α satu-satu, ambil sebarang 1 2,h h H∈ dengan 1 2( ) ( ).h hα α=

48

Maka 1 2 .h a h a= Dengan menggunakan kanselasi kanan diperoleh 1 2.h h= 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

1{ : }x G xa H−= ∈ ∈

1{ : , }x G xa 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 1 2, , , .kHa Ha Ha� Maka

1 2 .kG Ha Ha Ha= ∪ ∪ ∪�

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

# (# ),G k H= yaitu # H habis membagi # .G �

49

Definisi 2.20 (Fungsi Euler)

Fungsi φ disebut fungsi Euler jika untuk ,n ∈� ( )nφ adalah banyaknya bilangan

bulat positif k n≤ yang relatif prima dengan .n

Teorema 2.30

Jika p adalah bilangan prima dan a bilangan bulat positif, maka 1( )a a ap p pφ −= − .

Bukti:

Jika p adalah bilangan prima dan | ,/p n maka ppt( , ) 1.an p = Ada 1ap − bilangan

bulat di antara 1 dan ap yang habis dibagi ,p yaitu

1, 2 ,3 , , ( ) .ap p p p p−�

Jadi, himpunan {1,2, , }ap� terdiri dari 1a ap p −− bilangan bulat yang relatif prima

dengan .ap Menurut Definisi 2.20, 1( ) .a a ap p pφ −= − �

Teorema 2.31 (Fungsi Euler)

Jika φ adalah fungsi Euler, maka

1. (1) 1φ = .

2. Jika adalah bilangan prima, maka ( ) 1p p pφ = − .

3. Jika ppt( , ) 1m n = , maka ( ) ( ) ( )mn m nφ φ φ= .

4. Jika 1 21 2

kee ekn p p p= � adalah faktorisasi prima dari n , maka

1 2( ) (1 1 )(1 1 ) (1 1 )kn n p p pφ = − − −� .

50

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 1p − buah bilangan bulat

semacam itu, maka ( ) 1p pφ = − .

3. Kita perlihatkan bilangan-bilangan bulat positif yang tidak lebih besar dari mn

dengan cara berikut:

1 1 2 1 ( 1) 12 2 2 2 ( 1) 23 3 2 3 ( 1) 3

2 ( 1)

2 3

m m n m

m m n m

m m n m

r m r m r n m r

m m m mn

+ + − ++ + − ++ + − +

+ + − +

� � � �

� � � �

Sekarang, misalkan r adalah bilangan bulat positif yang kurang dari m dan

ppt( , ) dengan 1.m r d d= > Karena setiap elemen pada baris ke- r mempunyai

bentuk km r+ dengan 1 1k n≤ ≤ − dan | ( )d km r+ , maka tidak ada bilangan

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 , , 2 , , ( 1)r m r m r n m r+ + − +� .

Karena ppt( , ) 1m r = , setiap elemen bilangan bulat pada baris itu relatif prima

51

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

membentuk sistem lengkap sisa modulo .n Dengan demikian, untuk setiap baris

ada ( )nφ elemen yang relatif prima dengan .n Karena bilangan-bilangan bulat

( )nφ ini juga relatif prima dengan ,m maka bilangan-bilangan bulat itu relatif

prima dengan .mn Karena ada ( )mφ baris yang memuat ( )nφ bilangan-bilangan

bulat yang relatif prima dengan ,mn maka dapat disimpulkan bahwa

( ) ( ) ( ).mn m nφ φ φ=

4. Dari Teorema 2.31 (3), maka

1 21 2( ) ( ) ( ) ( ).kaa a

kn p p pφ φ φ φ= �

Dari Teorema 2.30, didapatkan

1( ) (1 1 )j j j ja a a aj j j j jp p p p pφ −= − = −

untuk 1, 2, , .j k= � Dengan demikian,

1 21 1 2 2( ) (1 1 ) (1 1 ) (1 1 )kaa a

k kn p p p p p pφ = − − −�

1 21 2 1 2(1 1 ) (1 1 ) (1 1 )kaa a

k kp p p p p p= − − −� �

1 2(1 1 ) (1 1 ) (1 1 ).kn p p p= − − −� �

Teorema 2.32 (Teorema Kecil Fermat)

Jika p adalah bilangan prima dan a adalah bilangan bulat positif dengan | ,/p a

maka 1 1(mod )pa p− ≡ .

Bukti:

52

Perhatikan bilangan-bilangan bulat , 2 , , ( 1) .a a p a−� Tidak ada bilangan bulat yang

dapat dibagi oleh .p Jika | ,p ja maka dengan Teorema 2.7, kita dapatkan | .p j Ini

tidak mungkin, karena 1 1.j p≤ ≤ − Selanjutnya, tidak ada dua bilangan di antara

bilangan-bilangan bulat , 2 , , ( 1)a a p a−� yang saling kongruen modulo .p Untuk

melihat ini, andaikan (mod ), dengan 1 1.ja ka p j k p≡ ≤ < ≤ − Maka dengan meng-

gunakan Teorema 2.18, kita dapatkan (mod )j k p≡ karena ppt( , ) 1a p = . Ini tidak

mungkin, karena dan j k adalah bilangan bulat positif yang kurang dari 1.p −

Karena bilangan-bilangan bulat , 2 , , ( 1)a a p a−� adalah himpunan semua bilangan-

bilangan bulat 1p − 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, , 1.p −� Akibatnya, perkalian dari bilangan-bilangan

bulat , 2 , , ( 1)a a p a−� saling kongruen modulo p dengan perkalian bilangan-

bilangan bulat positif 1p − yang pertama. Dengan demikian,

2 ( 1) 1 2 ( 1)(mod ).a a p a p p⋅ − ≡ ⋅ −� �

Oleh karena itu,

1( 1)! ( 1)!(mod ).pa p p p− − ≡ −

Karena ppt(( 1)!, ) 1p p− = , maka dengan menggunakan Teorema 2.18, kita dapatkan

1 1(mod ).pa p− ≡ �

53

Teorema 2.33

Jika p adalah bilangan prima dan a adalah bilangan bulat positif, maka

(mod )pa a p≡ .

Bukti:

Jika | ,/p a maka dengan menggunakan Teorema Kecil Fermat, diperoleh

1 1(mod ).pa p− ≡ Kalikan kedua ruas dengan a , kita dapatkan (mod )pa a p≡ . Jika

|p a , maka | pp a sehingga 0(mod )pa a p≡ ≡ . �

Definisi 2.21

Sistem sisa modulo n tereduksi adalah himpunan ( )nφ bilangan-bilangan bulat

sedemikian sehingga setiap elemen dari himpunan itu relatif prima dengan ,n dan

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

Teorema 2.34

Jika 1 2 ( ), , , nr r rφ� adalah sistem sisa modulo n tereduksi dan jika a adalah bilangan

bulat positif dengan ppt( , ) 1,a n = maka himpunan 1 2 ( ), , , nar ar arφ� juga sistem sisa

modulo n tereduksi.

Bukti:

Untuk memperlihatkan bahwa setiap bilangan bulat jar relatif prima dengan ,n

misalkan ppt( , ) 1.jar n > Maka ada pembagi prima p dari ppt( , ).jar n Dengan

54

demikian, |p a atau | .jp r Jadi, didapatkan |p a dan | ,p n atau | jp r dan | .p n

Karena jr adalah anggota dari sistem sisa modulo n tereduksi, maka tidak mungkin

| jp r dan | .p n Oleh karena itu, |p a dan | .p n Karena ppt( , ) 1,a n = maka nilai

1.p = Dengan demikian, dapat disimpulkan bahwa jar dan n relatif prima untuk

1, 2, , ( ).j nφ= �

Untuk memperlihatkan bahwa tidak ada dua jar yang saling kongruen modulo ,n

andaikan (mod ),j kar ar n≡ dengan j dan k adalah bilangan-bilangan bulat positif

berbeda dengan 1 ( )j nφ≤ ≤ dan 1 ( ).k nφ≤ ≤ Karena ppt( , ) 1,a n = maka dengan

menggunakan Teorema 2.18 diperoleh (mod ).j kr r n≡ Terjadi kontradiksi, karena jr

dan kr adalah anggota dari sistem sisa modulo n tereduksi, sedemikian sehingga

(mod ).j kr r n≡/ Jadi, (mod ).j kar ar n≡/ �

Teorema 2.35 (Euler)

Jika ppt( , ) 1a n = , maka ( ) 1(mod ).na nφ ≡

Bukti:

Misalkan 1 2 ( ), , , nr r rφ� sistem sisa tereduksi yang terdiri dari bilangan-bilangan bulat

positif tidak lebih besar dari n yang relatif prima dengan .n Dengan menggunakan

Teorema 2.34, karena ppt( , ) 1,a n = maka himpunan 1 2 ( ), , , nar ar arφ� juga sistem sisa

modulo n tereduksi. Dengan demikian, sisa-sisa positif terkecil dari 1 2 ( ), , , nar ar arφ�

55

pasti bilangan-bilangan bulat 1 2 ( ), , , .nr r rφ� Akibatnya, jika kita kalikan semua

elemen dari sistem sisa tereduksi ini, kita dapatkan

1 2 ( ) 1 2 ( ) (mod ).n nar ar ar r r r nφ φ≡� �

Jadi,

( )1 2 ( ) 1 2 ( ) (mod ).n

n na r r r r r r nφφ φ≡� �

Karena 1 2 ( )ppt( , ) 1,nr r r nφ =� maka dengan menggunakan Teorema 2.18 disimpulkan

bahwa ( ) 1(mod ).na nφ ≡ �

Definisi 2.22

Anggota n∗� adalah semua anggota n� yang relatif prima dengan .n

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 ( ) ( 1)( 1)n p qφ = − − ;

4. Pilih sebarang bilangan bulat ( )b nφ< sedemikian sehingga ppt( , ( )) 1b nφ =

dan hitung bilangan bulat a sedemikian sehingga 1(mod ( ))ab 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 , dan p q a sebagai

kunci-rahasia.

Jika Rio ingin mengirim pesan rahasia nx ∗∈� kepada Anggi, maka Rio membuat

teks sandi sebagai berikut:

57

( ) (mod ).bKe x y x n= =

Jika Anggi ingin membaca pesan rahasia tersebut, maka ia harus mendekripsi teks

sandi y sebagai berikut:

( ) (mod ).aKd y y n=

Prosedur dekripsi akan mengembalikan teks sandi ke teks biasa.

Karena 1(mod ( )),ab nφ≡ maka dengan Teorema 2.16 kita dapatkan

1 ( )ab k nφ= +

untuk suatu bilangan bulat k . Oleh karena itu, bilangan yang dikembalikan dari

prosedur dekripsi adalah

(mod ) ( ) (mod )a b ay n x n≡

(mod )abx n≡

1 ( ) (mod )k nx nφ+≡

( )( )(mod )k nx x nφ≡

( )( ) (mod ).n kx x nφ≡

Dengan menggunakan Teorema 2.35, kita dapatkan

( )( ) (mod ) (1) (mod )n k kx x n x nφ ≡

(mod ).x n≡

Jadi, dari prosedur dekripsi, kita dapatkan bahwa (mod ) (mod ).ay n x n≡

58

Contoh 3.1

Jika Rio memilih dua bilangan prima 7p = dan 13q = , maka 7 13 91n = × = dan

( ) 6 12 72.nφ = × = Rio akan menentukan bilangan bulat b sedemikian sehingga

ppt( , ( )) 1b nφ = dan menghitung bilangan bulat .a Jika Rio memilih sebarang

bilangan bulat 7,b = maka ia akan menghitung ppt(7,72) dengan menggunakan

Algoritma Euclides.

72 10 7 2

7 3 2 1

= ⋅ +

= ⋅ +

Karena ppt(7,72) 1,= maka Rio boleh memilih bilangan itu. Sekarang, Rio akan

menentukan bilangan bulat a dengan menggunakan Algoritma Euclides Diperluas.

j jr 1jr + 1jq + 2jr + js jt

0 72 7 10 2 1 0

1 7 2 3 1 0 1

2 2 1 2 0 1 10−

3 3− 31

Nilai-nilai js dan jt dengan 0, 1, 2, 3,j = dihitung dengan cara berikut:

0 01, 0,s t= =

1 10, 1,s t= =

2 0 1 1 2 0 1 11 0 10 1, 0 1 10 10,s s s q t t t q= − = − ⋅ = = − = − ⋅ = −

3 1 2 2 3 1 2 20 1 3 3, 1 ( 10) 3 31,s s s q t t t q= − = − ⋅ = − = − = − − ⋅ =

59

Karena 3 1 ppt(7,72)r = = dan 3 3 3 ,r s a t b= + didapatkan

( )1 ppt 7,72 ( 3) 72 31 7.= = − ⋅ + ⋅

Dengan demikian, kunci-rahasia Rio adalah 31.a =

Rio mempublikasikan 91n = dan 7b = . Sekarang, jika Anggi ingin mengenkripsi

teks biasa 5x = untuk dikirim ke Rio, maka Anggi akan menghitung

75 (mod 91) 78125(mod 91)

47(mod91)

dan mengirim teks sandi 47y = kepada Rio. Ketika Rio menerima teks sandi

47y = , ia menggunakan kunci-rahasianya untuk menghitung

31 5 6 147 (mod91) 47 (mod 91)⋅ +=

5 6 (47 ) 47(mod91)=

6 (229345007) 47(mod 91)=

6 (73) 47(mod 91)=

(151334226289)47(mod91)=

(64)47(mod91)=

3008(mod91)=

5(mod91).=

60

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 ( ) (mod )bKe x x 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

dengan membahas dasar-dasar dari teori bilangan.

61

Definisi 3.2

Jika p adalah bilangan bulat prima ganjil, maka a adalah sisa kuadratik modulo p

jika 0(mod )a p≡/ dan 2 (mod )y a p≡ mempunyai penyelesaian untuk suatu .py ∈�

Jika 2 (mod )y a p≡ tidak mempunyai penyelesaian, maka a disebut bukan sisa

kuadratik modulo .p

Contoh 3.2

Pada 11,� kita dapatkan bahwa 21 1,= 22 4,= 23 9,= 24 16 5(mod11),= ≡ 25 25= ≡

3(mod11), 26 36 3(mod11),= ≡ 27 49 5(mod11),= ≡ 28 64 9(mod11),= ≡ 29 81= ≡

4(mod11) dan 210 100 1(mod11).= ≡ Sisa kuadratik modulo 11 adalah 1, 3, 4, 5 dan

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 2 (mod )y a p≡ mempunyai penyelesaian, misalnya 0 ,y y= maka 0y y= − juga

penyelesaian yang tidak kongruen dengan 0 ,y karena 2 20 0( ) (mod ),y y a p− = ≡ dan

62

jika 0 0 (mod ),y y p≡ − maka didapatkan 02 0(mod ),y p≡ yang tidak mungkin karena

p adalah bilangan ganjil dan 0|/p y (karena 20 (mod )y a p≡ dan | )./p a

Untuk memperlihatkan bahwa tidak ada lebih dari dua penyelesaian yang tidak saling

kongruen, misalkan 0y y= dan 1y y= adalah penyelesaian 2 (mod ).y a p≡ Maka

2 20 1 (mod ),y y a p≡ ≡ sehingga 2 2

0 1 0 1 0 1( )( ) 0y y y y y y− = + − ≡ (mod ).p Dengan

demikian, 0 1| ( )p y y+ atau 0 1| ( ),p y y− sehingga 1 0 (mod )y y p≡ − atau 1 0y y≡

(mod ).p Oleh karena itu, disimpulkan bahwa 2 (mod )y a p≡ mempunyai dua

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:

0 jika 0(mod )

( ) 1 jika adalah sisa kuadratik modulo 1 jika adalah bukan sisa kuadratik modulo

a p

a p a p

a p

≡��= ��−�

Teorema 3.1 (Teorema Wilson)

Jika p adalah bilangan prima, maka ( 1)! 1(mod ).p p− ≡ −

Bukti:

63

Jika 2,p = 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 1,a p≤ ≤ − ada

invers ,a yaitu a′ di mana 1 1a p′≤ ≤ − dan 1(mod ).aa p′ ≡ Dengan menggunakan

Teorema 2.22, jika p adalah bilangan prima, maka 1 dan 1p − masing-masing

adalah invers dirinya sendiri. Oleh karena itu, kita dapat mengelompokkan bilangan-

bilangan bulat dari 2 sampai 2p − menjadi ( 3) 2p − pasangan, di mana perkalian

dari setiap pasangan kongruen dengan 1 modulo .p Dengan demikian,

2 3 ( 3) ( 2) 1(mod ).p p p⋅ ⋅ ⋅ − ⋅ − ≡�

Kalikan kedua ruas dengan 1 dan 1,p − didapatkan

( 1)! 1 2 3 ( 3) ( 2) ( 1) 1 1 ( 1) 1(mod ).p p p p p p− = ⋅ ⋅ ⋅ ⋅ − ⋅ − ⋅ − ≡ ⋅ ⋅ − ≡ −� �

Teorema 3.2

Misalkan p adalah bilangan prima ganjil dan a adalah bilangan bulat positif yang

tidak habis dibagi .p Maka

( 1) 2( ) (mod ).pa p a p−≡

Bukti:

Jika ( ) 1,a p = maka 2 (mod )y a p≡ mempunyai penyelesaian, katakan 0.y y=

Dengan menggunakan Teorema Kecil Fermat,

( 1) 2 2 ( 1) 2 10 0( ) 1(mod ).p p pa y y p− − −= = ≡

64

Dengan demikian, jika ( ) 1,a p = maka ( 1) 2( ) (mod ).pa p a p−≡

Sekarang, jika ( ) 1,a p = − maka 2 (mod )y a 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, , 1p −� menjadi ( 1) 2p − pasangan, masing-masing dengan hasil kali .a

Kalikan bilangan-bilangan bulat itu, didapatkan

( 1) 2( 1)! (mod ).pp a p−− ≡

Dari Teorema 3.1, didapatkan

( 1) 21 (mod ).pa p−− ≡

Dengan demikian, jika ( ) 1,a p = − maka ( 1) 2( ) (mod ).pa p a 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 (mod ),a b p≡ maka ( ) ( ).a p b p=

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

(iii) 2( ) 1.a p =

Bukti:

65

(i) Jika (mod ),a b p≡ maka 2 (mod )y a p≡ mempunyai penyelesaian jika dan

hanya jika 2 (mod ).y b p≡ Dengan demikian, ( ) ( ).a p b p=

(ii) Dengan Teorema 3.2, diketahui bahwa

( 1) 2( ) (mod ),pa p a p−≡ ( 1) 2( ) (mod ),pb p b p−≡

dan

( 1) 2( ) ( ) (mod ).pab p ab p−≡

Dengan demikian,

( 1) 2 ( 1) 2 ( 1) 2( )( ) ( ) ( )(mod ).p p pa p b p a b ab ab p p− − −≡ = ≡

Karena nilai yang mungkin dari simbol Legendre adalah 1,± maka disimpulkan

bahwa

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

(iii) Karena ( ) 1,a p = ± maka dari (ii) didapatkan

2( ) ( )( ) 1.a p a p a p= = �

Teorema 3.4

Jika p adalah bilangan prima ganjil, maka

1 jika 1(mod 4) ( 1 )

1 jika 3(mod 4). p

pp

≡�− = �− ≡�

Bukti:

Dari Teorema 3.2,

66

( 1) 2( 1 ) ( 1) (mod ).pp p−− ≡ −

Jika 1(mod 4),p ≡ maka 4 1p k= + untuk suatu bilangan bulat .k Jadi,

( 1) 2 (4 1 1) 2 4 2 2( 1) ( 1) ( 1) ( 1) 1,p k k k− + −− = − = − = − =

sehingga ( 1 ) 1.p− = Jika 3(mod 4),p ≡ maka 4 3p k= + untuk suatu bilangan bulat

.k Jadi,

( 1) 2 (4 3 1) 2 (4 2) 2 2 1( 1) ( 1) ( 1) ( 1) 1,p k k k− + − + +− = − = − = − = −

sehingga ( 1 ) 1.p− = − �

Lemma 3.2 (Lemma Gauss)

Misalkan p adalah bilangan prima ganjil dan a adalah bilangan bulat dengan

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

2p dari bilangan-bilangan bulat , 2 , 3 , , (( 1) 2)a a a p a−� jika dibagi dengan ,p

maka ( ) ( 1) .sa p = −

Bukti:

Perhatikan bilangan-bilangan bulat , 2 , 3 , , (( 1) 2) .a a a p a−� Misalkan

1 2, , , su u u� adalah sisa-sisa positif terkecil yang lebih besar dari 2,p dan

1 2, , , tv v v� adalah sisa-sisa positif terkecil yang kurang dari 2p jika bilangan-

bilangan itu dibagi .p Karena ppt( , ) 1ja p = untuk semua 1, 2, , ( 1) 2,j p= −� maka

sisa-sisa positif terkecil berada dalam himpunan {1, 2, , 1}.p −�

67

Akan ditunjukkan bahwa himpunan 1 2 1 2{ , , , , , , , }s tp u p u p u v v v− − −� � adalah

himpunan bilangan-bilangan bulat {1, 2, , ( 1) 2},p… − 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 ( 1) 2p − bilangan pada

himpunan itu, dan semuanya bilangan bulat positif yang tidak lebih besar dari

( 1) 2.p −

Jelas bahwa tidak ada dua bilangan iu yang saling kongruen modulo p dan tidak ada

dua jv 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 ( 1) 2.p − Karena | ,/p a maka (mod ),m n p≡ yang tidak

mungkin.

Selanjutnya, bilangan bulat ip u− tidak mungkin saling kongruen modulo .jv Jika

kongruensi ini dipenuhi, maka (mod ),ma p na p≡ − sehingga (mod ).ma na p≡ −

Karena | ,/p a maka (mod ).m n p≡ − Ini tidak mungkin terjadi karena m dan n berada

di himpunan {1, 2, , ( 1) 2}.p… −

Sekarang kita tahu bahwa 1 2 1 2, , , , , , ,s tp u p u p u v v v− − −� � adalah bilangan-

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

bahwa

1 2 1 2( )( ) ( ) (( 1) 2)!(mod ),s tp u p u p u v v v p p− − − ≡ −� �

68

sehingga

1 2 1 2 ( )( ) ( ) (( 1) 2)!(mod )s tu u u v v v p p− − − ≡ −� �

1 2 1 2 ( 1) (( 1) 2)!(mod ).ss tu u u v v v p p− ≡ −� � (1)

Karena 1 2 1 2, , , , , , ,s tu u u v v v� � adalah sisa-sisa positif terkecil dari

, 2 , , (( 1) 2) ,a a p a−� maka

1 2 1 2 2 (( 1) 2)s tu u u v v v a a p a≡ ⋅ ⋅ ⋅ −� � �

( 1) 2 (( 1) 2)!(mod ).pa p p−≡ − (2)

Dengan demikian, dari (1) dan (2), didapatkan

( 1) 2( 1) (( 1) 2)! (( 1) 2)!(mod ).s pa p p p−− − ≡ −

Karena ppt( , (( 1) 2)!) 1,p p − = maka menurut Teorema 2.18 didapatkan

( 1) 2( 1) 1(mod ).s pa p−− ≡

Dengan mengalikan kedua ruas dengan ( 1) ,s− didapatkan

( 1) 2( 1) ( 1) ( 1) 1(mod )s s p sa p−− − ≡ − ⋅

( 1) 2 ( 1) (mod ).p sa p− ≡ −

Dari Teorema 3.2, karena ( 1) 2( ) (mod ),pa p a p−≡ maka

( ) ( 1) (mod ).sa p p≡ − �

69

Contoh 3.3

Misalkan 5a = dan 11.p = 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 2(5 11) ( 1) ( 1) 1.s= − = − =

Teorema 3.5

Jika p adalah bilangan prima ganjil, maka

2( 1) 8(2 ) ( 1) .pp −= −

Dengan demikian, 2 adalah sisa kuadratik dari semua bilangan-bilangan prima

1(mod8)p ≡ ± dan bukan sisa kuadratik dari semua bilangan-bilangan prima

3(mod8).p ≡ ±

Bukti:

Dengan Lemma Gauss, diketahui bahwa jika s adalah banyaknya sisa-sisa positif

terkecil yang lebih besar dari 2p dari bilangan-bilangan bulat

1 2, 2 2, 3 2, , (( 1) 2) 2p⋅ ⋅ ⋅ − ⋅�

jika dibagi ,p maka (2 ) ( 1) .sp = − Karena semua bilangan-bilangan bulat ini kurang

dari ,p kita hanya perlu menghitung bilangan yang lebih besar daripada 2p untuk

menentukan berapa banyak sisa-sisa positif terkecil yang lebih besar daripada 2.p

70

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

4.j p≤ Dengan demikian, ada bilangan bulat [ 4]p pada himpunan yang lebih

kecil daripada 2.p Akibatnya, ada ( 1) 2 [ 4]s p p= − − yang lebih besar daripada

2.p Oleh karena itu, dengan menggunakan Lemma Gauss, didapatkan

( 1) 2 [ 4](2 ) ( 1) ( 1) .s p pp − −= − = −

Untuk membuktikan teorema ini, harus ditunjukkan bahwa

2( 1) 2 [ 4] ( 1) 8(mod 2).p p p− − ≡ −

Untuk menyelesaikan ini, perlu diperhatikan kongruensi dari p modulo 8.

Perhatikan 2( 1) 8.p − Jika 1(mod8),p ≡ ± maka 8 1p k= ± di mana k adalah

bilangan bulat, sehingga

2 2 2 2( 1) 8 ((8 1) 1) 8 (64 16 ) 8 8 2 0(mod 2).p k k k k k− = ± − = ± = ± ≡

Jika 3(mod8),p ≡ ± maka 8 3p k= ± di mana k adalah bilangan bulat, sehingga

2 2 2 2( 1) 8 ((8 3) 1) 8 (64 48 8) 8 8 6 1 1(mod 2).p k k k k k− = ± − = ± + = ± + ≡

Sekarang perhatikan ( 1) 2 [ 4].p p− − Jika 1(mod8),p ≡ maka 8 1p k= + untuk

suatu bilangan bulat ,k dan

( 1) 2 [ 4] ((8 1) 1) 2 [(8 1) 4] 4 [2 1 4] 2 0(mod 2).p p k k k k k− − = + − − + = − + = ≡

Jika 3(mod8),p ≡ maka 8 3p k= + untuk suatu bilangan bulat ,k dan

( 1) 2 [ 4] ((8 3) 1) 2 [(8 3) 4]p p k k− − = + − − +

4 1 [2 3 4] 2 1 1(mod 2).k k k= + − + = + ≡

71

Jika 5(mod8),p ≡ maka 8 5p k= + untuk suatu bilangan bulat ,k dan

( 1) 2 [ 4] ((8 5) 1) 2 [(8 5) 4]p p k k− − = + − − +

4 2 [2 5 4] 2 1 1(mod 2).k k k= + − + = + ≡

Jika 7(mod8),p ≡ maka 8 7p k= + untuk suatu bilangan bulat ,k dan

( 1) 2 [ 4] ((8 7) 1) 2 [(8 7) 4] p p k k− − = + − − +

4 3 [2 7 4] 2 2 0(mod 2).k k k= + − + = + ≡

Dengan membandingkan kongruensi modulo 2 antara ( 1) 2 [ 4]p p− − dan

2( 1) 8p − , maka kita dapatkan

2( 1) 2 [ 4] ( 1) 8(mod 2).p p p− − ≡ −

Jadi,

2( 1) 8(2 ) ( 1) (mod 2).pp −= −

untuk setiap bilangan prima .p �

Definisi 3.4 (Simbol Jacoby)

Misalkan n adalah bilangan bulat positif ganjil dengan faktorisasi prima

1 21 2

mtt tmn p p p= � . Misalkan a adalah bilangan bulat yang relatif prima dengan .n

Maka simbol Jacoby ( )a n didefinisikan sebagai berikut:

1 2 1 21 2 1 2( ) ( ) ( ) ( ) ( ) ,m mt tt t t t

m ma n a p p p a p a p a p= =� �

di mana simbol di ruas kanan adalah simbol Legendre.

72

Contoh 3.4

Dari definisi simbol Jacoby, didapatkan

2 2 2(2 45) (2 3 5) (2 3) (2 5) ( 1) ( 1) 1.= ⋅ = = − − = −

dan

(109 385) (109 5 7 11) = ⋅ ⋅

(109 5)(109 7)(109 11)=

(4 5)(4 7)(10 11) =

2 2 (2 5) (2 7) ( 1 11) = −

2 2 ( 1) (1) ( 1) = − −

1. = −

Misalkan p adalah bilangan prima ganjil dan b adalah bilangan bulat yang tidak

habis dibagi oleh .p Dengan Teorema 3.2, didapatkan

( 1) 2 ( )(mod ).pb b p p− ≡

Dengan demikian, untuk menguji keprimaan bilangan bulat positif ,n ambil bilangan

bulat ,b dengan ppt( , ) 1,b n = dan tentukan

( 1) 2 ( )(mod ),nb b n n− ≡

73

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 ),nb b n n− ≡

di mana b adalah bilangan bulat positif, disebut prima semu Euler terhadap basis .b

Sekarang, kita akan membahas tentang algoritma Solovay-Strassen. Misalkan n

adalah bilangan bulat positif. Pilih bilangan bulat acak ja sedemikian sehingga

1 1,ja n≤ ≤ − dengan 1, 2, , .j k= � Untuk setiap bilangan bulat ini, tentukan apakah

( 1) 2( ) (mod ).nj ja n a 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

simbol Jacoby ( )a n didefinisikan dengan menggunakan faktorisasi .n Untuk

74

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

1 21 2

mtt tmn p p p= � dan misalkan a dan b bilangan bulat yang relatif prima dengan .n

Maka

(i) Jika (mod ),a b n≡ maka ( ) ( ).a n b n=

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

Bukti:

(i) Jika p adalah bilangan prima yang membagi habis ,n maka (mod ).a b p≡

Dengan demikian, dari Teorema 3.3 (i), ( ) ( ).a p b p= Akibatnya,

1 2 1 21 2 1 2( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ).m mt tt t t t

m ma n a p a p a p b p b p b p b n= = =� �

(ii) Dari Teorema 3.3 (ii), ( ) ( )( ).i i iab p a p b p= Dengan demikian,

1 21 2( ) ( ) ( ) ( ) mtt t

mab n ab p ab p ab p= �

1 1 2 21 1 2 2 ( ) ( ) ( ) ( ) ( ) ( ) m mt tt t t t

m ma p b p a p b p a p b p= �

1 2 1 21 2 1 2 ( ) ( ) ( ) ( ) ( ) ( )m mt tt t t t

m ma p a p a p b p b p b p= � �

( )( ).a n b n= �

75

Teorema 3.7

Jika n adalah bilangan bulat positif ganjil, maka

2( 1) 8(2 ) ( 1) .nn −= −

Bukti:

Jika p adalah bilangan prima, maka 2( 1) 8(2 ) ( 1) .pp −= − Dengan demikian,

1 21 2(2 ) (2 ) mtt t

mn p p p= �

1 21 2 (2 ) (2 ) (2 ) mtt t

mp p p= �

22 21 1 2 2 ( 1) 8( 1) 8 ( 1) 8 ( 1) ( 1) ( 1) m mt pt p t p −− −= − − −�

2 2 21 1 2 2( 1) 8 ( 1) 8 ( 1) 8 ( 1) .m mt p t p t p− + − + + −= − �

Perhatikan bahwa

1 22 21 2( )mtt t

mn p p p= �

1 22 2 21 2 ( ) ( ) ( ) mtt t

mp p p= �

1 22 2 21 2 (1 ( 1)) (1 ( 1)) (1 ( 1)) .mtt t

mp p p= + − + − + −�

Jika 1(mod8),p ≡ ± maka 2 1 0(mod8).p − ≡ Jika 3(mod8),p ≡ ± maka 2 9p ≡

(mod8) atau 2 1 0(mod8).p − ≡ Karena 1(mod8)jp ≡ ± untuk 1, 2, , ,j m= � maka

2 2(1 ( 1)) 1 ( 1)(mod 64)iti i ip t p+ − ≡ + −

dan

2 2 2 2(1 ( 1))(1 ( 1)) 1 ( 1) ( 1)(mod 64).i i j j i i j jt p t p t p t p+ − + − ≡ + − + −

Dengan demikian,

76

2 2 2 21 1 2 21 ( 1) ( 1) ( 1)(mod 64),m mn t p t p t p≡ + − + − + + −�

sehingga

2 2 2 21 1 2 2( 1) 8 ( 1) 8 ( 1) 8 ( 1) 8(mod8).m mn t p t p t p− ≡ − + − + + −�

Jadi, terbukti bahwa 2 2 2 2

1 1 2 2( 1) 8 ( 1) 8 ( 1) 8 ( 1) 8(2 ) ( 1) ( 1) .m mt p t p t p nn − + − + + − −= − = −� �

Teorema 3.8

Jika n adalah bilangan bulat positif ganjil, maka

1 jika 1(mod8) atau 7(mod8)(2 )

1 jika 3(mod8) atau 5(mod8)n n

nn n

≡ ≡�= �− ≡ ≡�

Bukti:

Jika 1(mod8),n ≡ maka 8 1n k= + untuk suatu bilangan bulat .k Jadi,

2( 1) 8(2 ) ( 1) nn −= −

2((8 1) 1) 8 ( 1) k + −= −

2((64 16 1) 1) 8 ( 1) k k+ + −= −

2(64 16 ) 8 ( 1) k k+= −

28 2 ( 1) k k+= −

22(4 ) ( 1) k k+= −

1. =

Jika 7(mod8),n ≡ maka 8 7n k= + untuk suatu bilangan bulat .k Jadi,

77

2( 1) 8(2 ) ( 1) nn −= −

2((8 7) 1) 8 ( 1) k + −= −

2((64 112 49) 1) 8 ( 1) k k+ + −= −

2(64 112 48) 8 ( 1) k k+ += −

28 14 6 ( 1) k k+ += −

22(4 7 3) ( 1) k k+ += −

1. =

Jika 3(mod8),n ≡ maka 8 3n k= + untuk suatu bilangan bulat .k Jadi,

2( 1) 8(2 ) ( 1) nn −= −

2((8 3) 1) 8 ( 1) k + −= −

2((64 48 9) 1) 8 ( 1) k k+ + −= −

2(64 48 8) 8 ( 1) k k+ += −

28 6 1 ( 1) k k+ += −

22(4 3 ) 1 ( 1) k k+ += −

1. = −

Jika 5(mod8),n ≡ maka 8 5n k= + untuk suatu bilangan bulat .k Jadi,

2( 1) 8(2 ) ( 1) nn −= −

2((8 5) 1) 8 ( 1) k + −= −

78

2((64 80 25) 1) 8 ( 1) k k+ + −= −

2(64 80 24) 8 ( 1) k k+ += −

28 10 3 ( 1) k k+ += −

22(4 5 1) 1 ( 1) k k+ + += −

1. = − ��

Teorema 3.9

Jika p adalah bilangan prima ganjil dan a adalah bilangan bulat ganjil yang tidak

habis dibagi ,p maka

( , )( ) ( 1) ,T a pa p = −

di mana

( 1) 2

1

( , ) [ ].p

j

T a p ja p−

== �

Bukti:

Perhatikan sisa-sisa positif terkecil bilangan-bilangan bulat , 2 , , (( 1) 2) .a a p a−�

Misalkan 1 2, , , su u u� adalah sisa-sisa tersebut yang lebih besar daripada 2p dan

1 2, , , tv v v� adalah sisa-sisa tersebut yang kurang dari 2.p Dengan menggunakan

Algoritma Pembagian didapatkan

[ ] sisa,ja p ja p= +

79

di mana sisa adalah salah satu bilangan dari ju atau .jv Dengan menjumlahkan

( 1) 2p − persamaan-persamaan tersebut, didapatkan

( 1) 2 ( 1) 2

1 1 1 1

[ ] .p p s t

j jj j j j

ja p ja p u v− −

= = = == + +� � � � (1)

Seperti yang telah ditunjukkan pada pembuktian Lemma Gauss, bilangan-bilangan

bulat 1 2 1 2, , , , , , ,s tp u p u p u v v v− − −� � adalah bilangan-bilangan bulat 1, 2, ,�

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

( 1) 2

1 1 1 1 1

( ) .p s t s t

j j j jj j j j j

j p u v ps u v−

= = = = == − + = − +� � � � � (2)

Kurangkan (1) dengan (2), didapatkan

( 1) 2 ( 1) 2 ( 1) 2

1 1 1 1 1 1 1

[ ]p p p s t s t

j j j jj j j j j j j

ja j p ja p u v ps u v− − −

= = = = = = =− = + + − + −� � � � � � �

( 1) 2

1 1

[ ] 2 p s

jj j

p ja p ps u−

= == − +� �

( 1) 2

1 1

[ ] 2 . p s

jj j

p ja p ps u−

= == − +� �

Jika ( 1) 2

1

( , ) [ ],p

j

T a p ja p−

== � maka

( 1) 2

1 1

( 1) ( , ) 2 .p s

jj j

a j pT a p ps u−

= =− = − +� �

Karena a dan p adalah bilangan ganjil, maka

80

( 1) 2

1 1

( 1) (mod 2) ( , ) 2 (mod 2)p s

jj j

a j pT a p ps u−

= =− = − +� �

0 ( , ) (mod 2) pT a p ps≡ −

0 ( ( , ) )(mod 2) p T a p s≡ −

0 ( , ) (mod 2). T a p s≡ −

Dengan demikian,

( , ) (mod 2).T a p s≡

Dengan menggunakan Lemma Gauss,

( ) ( 1) .sa p = −

Akibatnya, karena ( , )( 1) ( 1) ,s T a p− = − maka

( , )( ) ( 1) .T a pa p = − �

Teorema 3.10 (Hukum Timbal Balik Kuadratik)

Jika p dan q adalah bilangan prima ganjil berbeda, maka

( 1) 2 ( 1) 2( )( ) ( 1) .p qp q q p − ⋅ −= −

Bukti:

Perhatikan pasangan bilangan-bilangan bulat ( , )x y dengan 1 ( 1) 2x p≤ ≤ − dan

1 ( 1) 2.y q≤ ≤ − Ada ( 1) 2 ( 1) 2p q− ⋅ − pasangan. Pasangan-pasangan ini dibagi

menjadi dua kelompok, berdasar pada ukuran relatif dari qx dan .py Pertama,

perhatikan bahwa qx py≠ untuk semua pasangan-pasangan ini. Jika ,qx py= maka

81

| ,q py yang berakibat bahwa |q p atau | .q y Karena p dan q adalah bilangan

prima berbeda, maka | ,/q p dan karena 1 ( 1) 2,y q≤ ≤ − maka | ./q y

Untuk menghitung pasangan bilangan-bilangan bulat ( , )x y dengan 1 ( 1) 2,x p≤ ≤ −

1 ( 1) 2y q≤ ≤ − dan ,qx py> perhatikan bahwa pasangan-pasangan ini persisnya

adalah pasangan bilangan-bilangan bulat di mana 1 ( 1) 2x p≤ ≤ − dan 1 .y qx p≤ <

Untuk setiap bilangan bulat ,x dengan 1 ( 1) 2,x p≤ ≤ − ada [ ]qx p bilangan-

bilangan bulat yang memenuhi 1 .y qx p≤ < Akibatnya, jumlah pasangan bilangan-

bilangan bulat ( , )x y dengan 1 ( 1) 2,x p≤ ≤ − 1 ( 1) 2y q≤ ≤ − dan qx py> adalah

( 1) 2

1

[ ].p

j

qj p−

=�

Sekarang perhatikan pasangan bilangan-bilangan bulat ( , )x y dengan

1 ( 1) 2,x p≤ ≤ − 1 ( 1) 2y q≤ ≤ − dan .qx py< Pasangan-pasangan ini persisnya

adalah pasangan bilangan-bilangan bulat di mana 1 ( 1) 2y q≤ ≤ − dan 1 .x py q≤ <

Dengan demikian, untuk setiap bilangan bulat ,y dengan 1 ( 1) 2,y q≤ ≤ − ada

[ ]py q bilangan-bilangan bulat yang memenuhi 1 .x py q≤ < Akibatnya, jumlah

pasangan bilangan-bilangan bulat ( , )x y dengan 1 ( 1) 2,x p≤ ≤ − 1 ( 1) 2y q≤ ≤ −

dan qx py< adalah ( 1) 2

1

[ ].q

j

pj q−

=�

82

Dengan menambahkan jumlah pasangan bilangan-bilangan bulat di setiap kelompok

dan mengingat bahwa jumlah total pasangan bilangan-bilangan bulat adalah

( 1) 2 ( 1) 2,p q− ⋅ − maka didapatkan

( 1) 2 ( 1) 2

1 1

[ ] [ ] ( 1) 2 ( 1) 2.p q

j j

qj p pj q p q− −

= =+ = − ⋅ −� �

Dengan menggunakan notasi Teorema 3.9,

( , ) ( , ) ( 1) 2 ( 1) 2.T q p T p q p q+ = − ⋅ −

Dengan demikian,

( , ) ( , ) ( , ) ( , ) ( 1) 2 ( 1) 2( 1) ( 1) ( 1) ( 1) .T q p T p q T q p T p q p q+ − ⋅ −− = − − = −

Dengan menggunakan Lemma 3.2, maka ( , )( 1) ( )T q p q p− = dan ( , )( 1) ( ).T p q p q− =

Dengan demikian,

( 1) 2 ( 1) 2( )( ) ( 1) .p qp q q p − ⋅ −= − �

Teorema 3.11

Jika p dan q adalah bilangan prima ganjil berbeda, maka

1 jika 3(mod 4) ( )( )

1 jika 1(mod 4) atau 1(mod 4).p q

p q q pp q

− ≡ ≡�= � ≡ ≡�

Bukti:

Jika 3(mod 4),p q≡ ≡ maka 4 3p k= + dan 4 3q j= + untuk suatu bilangan bulat k

dan .j Jadi,

( 1) 2 ( 1) 2( )( ) ( 1) p qp q q p − ⋅ −= −

83

(4 3 1) 2 (4 3 1) 2 ( 1) k j+ − ⋅ + −= −

(4 2) 2 (4 2) 2 ( 1) k j+ ⋅ += −

(2 1) (2 1) ( 1) k j+ ⋅ += −

4 2 2 1 ( 1) kj k j+ + += −

2(2 ) 1 ( 1) kj k j+ + += −

1. = −

Jika 1(mod 4),p ≡ maka 4 1p k= + untuk suatu bilangan bulat .k Jadi,

( 1) 2 ( 1) 2( )( ) ( 1) p qp q q p − ⋅ −= −

(4 1 1) 2 ( 1) 2 ( 1) k q+ − ⋅ −= −

4 2 ( 1) 2 ( 1) k q⋅ −= −

2 ( 1) 2 ( 1) k q⋅ −= −

( 1) 2 (1) k q⋅ −=

1. =

Jika 1(mod 4),q ≡ maka 4 1q k= + untuk suatu bilangan bulat .k Jadi,

( 1) 2 ( 1) 2( )( ) ( 1) p qp q q p − ⋅ −= −

( 1) 2 (4 1 1) 2 ( 1) p k− ⋅ + −= −

( 1) 2 (4 2) ( 1) p k− ⋅= −

( 1) 2 (2 ) ( 1) p k− ⋅= −

2 ( 1) 2 ( 1) k p⋅ −= −

84

( 1) 2 (1) k p⋅ −=

1.= �

Teorema 3.12

Misalkan p dan q adalah bilangan prima ganjil, maka

( ) jika 3(mod 4) ( )

( ) jika 1(mod 4) atau 1(mod 4).q p p q

p qq p p q

− ≡ ≡�= � ≡ ≡�

Bukti:

Dari Teorema 3.11, nilai yang mungkin dari ( )p q dan ( )q p adalah 1.± Jika

( ) 1,p q = maka

( )( ) 1p q q p =

1( ) 1q p =

( ) 1.q p =

Jadi, ( ) ( ).p q q p= Jika ( ) 1,p q = − maka

( )( ) 1p q q p =

1( ) 1q p− =

( ) 1.q p = −

Jadi, ( ) ( ).p q q p= Jika ( ) 1,p q = maka

( )( ) 1p q q p = −

1( ) 1q p = −

85

( ) 1.q p = −

Jadi, ( ) 1 ( )q p p q= − = − atau ( ) ( ).p q q p= − Jika ( ) 1,p q = − maka

( )( ) 1p q q p = −

1( ) 1q p− = −

( ) 1.q p =

Jadi, ( ) 1 ( )p q q p= − = − atau ( ) ( ).p q q p= − �

Contoh 3.5

Sebagai gambaran dari aplikasi sifat-sifat hukum timbal balik kuadratik, kita akan

menghitung (7411 9283). Karena 9283 3(mod 4),≡ maka dengan menggunakan

Teorema 3.12 didapatkan

(7411 9283) (9283 7411).= −

Karena 9283 1872(mod 7411),≡ maka dengan menggunakan Teorema 3.6 (i)

didapatkan

(9283 7411) (1872 7411).− = −

Faktor dari 41872 2 117.= ⋅ Jadi, menurut Teorema 3.6 (ii)

4(1872 7411) (2 7411) (117 7411).− = −

Karena 7411 3(mod8),≡ maka menurut Teorema 3.8, (2 7411) 1.= − Jadi,

4 4(2 7411) (117 7411) ( 1) (117 7411) (117 7411).− = − − = −

Dengan menggunakan Teorema 3.12, karena 117 1(mod 4),≡ maka

86

(117 7411) (7411 117).− = −

Karena 7411 40(mod117),≡ maka menurut Teorema 3.6 (i)

(7411 117) (40 117).− = −

Faktor dari 340 2 5.= ⋅ Dengan menggunakan Teorema 3.6 (ii)

3(40 117) (2 117) (5 117).− = −

Menurut Teorema 3.8, karena 117 3(mod8),≡ − maka (2 117) 1.= − Jadi,

3 3(2 117) (5 117) ( 1) (5 117) (5 117).− = − − =

Karena 117 1(mod 4)≡ dan 5 1(mod 4),≡ maka menurut Teorema 3.12 didapatkan

(5 117) (117 5).=

Menurut Teorema 3.6 (i), karena 117 2(mod 5),≡ maka

(117 5) (2 5).=

Jadi, dengan menggunakan Teorema 3.8, diperoleh

(2 5) 1.= −

Setelah kita membahas algoritma Solovay-Strassen, kita akan membahas algoritma

Miller-Rabin. Misalkan n adalah bilangan bulat positif dengan 1 2 ,kn m− = dimana

k adalah bilangan bulat taknegatif dan m adalah bilangan bulat positif ganjil. Pilih

bilangan bulat acak a dengan 1 1.a n≤ ≤ − Jika 1(mod ),ma n≡ ± maka n adalah

bilangan prima. Jika 0 (mod )ma b n≡ dan 0 1,b ≠ ± maka 21(mod )i ib b n+≡ untuk

0,1, , 1.i k= −� Hitungan ini dilakukan sampai kita mendapatkan 1 1.ib + = − Jika

87

1 1,ib + ≠ − maka n bukan bilangan prima. Jika 1 1,ib + = − maka n adalah bilangan

prima.

Contoh 3.6

Misalkan 353.n = Hitung 51 352 2 11.n − = = ⋅ Pilih sebarang a dengan 1 352.a≤ ≤

Misalkan kita pilih 116.a = Dengan menggunakan algoritma Miller-Rabin

diperoleh

11116 283(mod 353).≡ Karena 11116 1(mod 353),≡ ±/ maka hitung 2283 311(mod≡

353), 2311 1(mod353).≡ − Karena kita telah mendapatkan hasil 1,− maka n adalah

bilangan prima.

C. Algoritma Pemfaktoran

Cara yang paling jelas untuk menyerang kriptosistem RSA adalah dengan mencoba

untuk memfaktorkan kunci publik .n Ada beberapa algoritma yang dapat digunakan

untuk memfaktorkan suatu bilangan. Algoritma-algoritma yang akan dibahas pada

skripsi ini adalah algoritma Pollard 1,p − algoritma Pollard rho dan algoritma

kuadrat acak Dixon.

1. Algoritma Pollard 1p −

Algoritma Pollard 1p − adalah algoritma pemfaktoran yang berdasar pada Teorema

Kecil Fermat. Algoritma ini diciptakan oleh J.M. Pollard pada tahun 1974. Untuk

melihat bagaimana algoritma ini bekerja, misalkan kita ingin menentukan faktor dari

88

bilangan bulat positif .n Selanjutnya, misalkan n mempunyai faktor prima p

sedemikian sehingga 1p − membagi habis !,k di mana k adalah bilangan bulat

positif. Karena 1p − membagi habis !,k maka Teorema Kecil Fermat dapat

digunakan. Dari Teorema Kecil Fermat diketahui bahwa 12 1(mod ).p p− ≡ Karena

1p − membagi habis !,k maka ! ( 1)k p q= − untuk suatu bilangan bulat .q Dengan

demikian,

! ( 1) ( 1)2 2 (2 ) 1 1(mod ),k p q p q q p− −= = ≡ =

yang mengakibatkan p membagi habis !2 1.k − Karena p juga membagi habis ,n

maka |p d dengan !ppt(2 1, ).kd n= −

Untuk menggunakan algoritma ini, kita harus menghitung !2 ,k dengan k adalah

bilangan bulat positif. Untuk menentukan sisa positif terkecil dari !2k modulo ,n kita

tetapkan 1 2,r = 22 1 (mod ),r r n= 3

3 2 1(mod ), , (mod ).kk kr r n r r n−= =� Kita ilustrasikan

algoritma ini dengan contoh berikut.

Contoh 3.7

Untuk memfaktorkan 5157437 menggunakan algoritma Pollard 1,p − kita harus

menentukan ,kr sisa positif terkecil dari !2k modulo 5157437, untuk 1,2,3, .k = �

2 22 1 2 4(mod 5157437)r r≡ = ≡

3 33 2 4 64(mod5157437)r r≡ = ≡

89

4 44 3 64 16777216 1304905(mod5157437)r r≡ = = ≡

5 55 4 1304905 404913(mod5157437)r r≡ = ≡

6 66 5 404913 2157880(mod5157437)r r≡ = ≡

7 77 6 2157880 4879227(mod 5157437)r r≡ = ≡

8 88 7 4879227 4379778(mod 5157437)r r≡ = ≡

9 99 8 4379778 4381440(mod5157437).r r≡ = ≡

Jika kita hitung ppt( 1,5157437) 1kr − = untuk 1,2,3,4,5,6,7,8,k = tetapi untuk

9,k =

9ppt( 1,5157437) ppt(4381440 1,5157437)r − = −

ppt(4381439,5157437) =

2269, =

maka 2269 adalah pembagi dari 5157437.

2. Algoritma Pollard Rho

Bagian ini akan mendeskripsi algoritma pemfaktoran berdasarkan kongruensi yang

dikembangkan oleh J.M. Pollard pada tahun 1974. Pollard menyebut algoritma ini

sebagai algoritma Monte Carlo. Namun, sekarang algoritma ini lebih dikenal sebagai

algoritma Pollard rho.

Misalkan n adalah bilangan bulat komposit yang sangat besar dan p adalah pembagi

prima terkecilnya. Tujuannya adalah memilih bilangan-bilangan bulat 0 1, , , sx x x�

90

sedemikian sehingga bilangan-bilangan bulat ini memiliki sisa-sisa bilangan bulat

taknegatif terkecil modulo n yang berbeda, tetapi sisa-sisa bilangan-bilangan bulat

taknegatif terkecil modulo p tidak semuanya berbeda.

Setelah mendapatkan bilangan bulat ix dan ,jx 0 ,i j s≤ < ≤ sedemikian sehingga

(mod )i jx x p≡ tetapi (mod ),i jx x n≡/ maka ppt( , )i jx x n− adalah pembagi taktrivial

dari ,n karena | ( ),i jp x x− sedangkan | ( ).−/ i jn x x Untuk menghitung pembagi

persekutuan terbesar, kita dapat menggunakan Algorithma Euclides. Walau demikian,

diperlukan waktu yang cukup lama untuk mendapatkan ppt( , )i jx x n− untuk setiap

pasangan ( , )i j dengan 0 .i j s≤ < ≤ Kita akan menunjukkan suatu metode yang

dapat mereduksi sejumlah waktu saat menggunakan algorithma Euclides.

Definisi 3.6 (Rekursif)

Fungsi f dikatakan ditentukan secara rekursif jika (1)f ditentukan dan untuk setiap

bilangan bulat positif ,n sebuah aturan diberikan untuk menentukan ( 1)f n + dari

( ).f n

Untuk mendapatkan bilangan bulat ix dan ,jx gunakan prosedur berikut: Dimulai

dengan nilai 0x yang dipilih secara acak dan fungsi polinomial f dengan koefisien-

koefisien bilangan bulat dari derajat yang lebih besar dari 1. Hitung ,kx 1,2,3, ,k = �

dengan menggunakan definisi rekursif

91

1 ( )(mod ),k kx f x n+ ≡

dengan 10 .kx n+≤ <

Contoh 3.8

Misalkan 8051,n = 0 2x = dan 2( ) 1.f x x= + Kita dapatkan bahwa 1 5,x = 2 26,x =

3 677,x = 4 7474,x = 5 2839,x = dan seterusnya.

Sekarang, perhatikan bahwa dengan definisi rekursif dari ,kx jika

(mod ),i jx x d≡

dengan d adalah bilangan bulat positif, maka

1 1( ) ( ) (mod ).i i j jx f x f x x d+ +≡ ≡ ≡

Kemudian jika (mod ),i jx x d≡ maka barisan kx menjadi periodik modulo d dengan

periode .j i− Yaitu, (mod )q rx x d≡ untuk setiap (mod ),q r j i≡ − dengan q i≥ dan

.r i≥ Kemudian jika s adalah kelipatan terkecil dari j i− yang paling sedikit sama

besar dengan ,i maka 2 (mod ).s sx x d≡

Kemudian cari faktor dari ,n kita dapatkan pembagi persekutuan terbesar dari

2k kx x− dan n untuk 1,2,3, .k = � Kita telah mendapatkan faktor dari n ketika kita

mendapatkan nilai k dengan 21 .k kx x n< − <

92

Contoh 3.9

Kita gunakan algoritma Pollard rho dengan 0 2x = dan polinomial 2( ) 1f x x= +

untuk mendapatkan faktor taktrivial dari 8051.n = Kita dapatkan 1 5,x = 2 26,x =

3 677,x = 4 7474,x = 5 2839,x = 6 871.x = Dengan menggunakan algorithma

Euclides, maka 2 1ppt( ,8051) ppt(26 5,8051) ppt(21,8051) 1x x− = − = = dan

4 2ppt( ,8051) ppt(7474 26,8051) ppt(7448,8051) 1.x x− = − = = Kita dapatkan faktor

taktrivial dari 8051 pada langkah selanjutnya, seperti 6 3ppt( ,8051)x x− =

ppt(871 677,8051) ppt(194,8051) 97.− = = Jadi, faktor dari 8051 adalah 97.

Untuk melihat mengapa algoritma ini disebut algoritma Pollard rho, lihat Gambar 3.1.

Gambar ini menunjukkan periodik barisan ,ix dengan 0 2x = dan

21 1(mod97)i ix x+ = + dan 1.i ≥

2 26x =

3 677 95(mod97)x = ≡

1 5x = 4 7474 5(mod97)x = ≡

0 2x =

Gambar 3.1. Algoritma Pollard rho dengan 0 2x = dan ).97(mod121 +=+ ii xx

93

3. Algoritma Kuadrat Acak Dixon

Misalkan dapat ditemukan )(mod nyx ±≡ sedemikian sehingga ).(mod22 nyx ≡

Maka

))((| yxyxn +−

tetapi yx − atau yx + dibagi habis oleh .n Jadi, ),(ppt nyx + adalah faktor

taktrivial dari n (dan ),(ppt nyx − juga faktor tak trivial dari ).n

Contoh 3.10

Sangat mudah untuk menentukan bahwa ).77(mod3210 22 ≡ Dengan menghitung

ppt(10 32,77) 7,+ = kita dapatkan 7 adalah faktor dari 77.

Algoritma kuadrat acak menggunakan basis faktor, yaitu untuk suatu bilangan bulat

positif ,b himpunan B terdiri dari b bilangan-bilangan prima terkecil pertama.

Pertama kita harus mendapatkan bilangan-bilangan bulat 2 modz n yang berada di

dalam basis faktor .B Setelah kita mendapatkan kongruensi-kongruensi tersebut,

kemudian kita akan mendapatkan bentuk 2 2 (mod ),x y n≡ yang akan membantu kita

memfaktorkan bilangan .n

94

Contoh 3.11

Misalkan 11577070844=n dan ,6=b maka }.13,11,7,5,3,2{=B Perhatikan tiga

kongruensi berikut:

)(mod7383409341562 n×≡

)(mod137241204494294 2 n××≡

).(mod133227737000112 n××≡

Jika ketiga kongruensi ini dikalikan, maka diperoleh

)(mod)13732()2773700011412044942948340934156( 22 n×××≡××

)(mod546924554790430404757912786627561 22 n≡

).(mod5469503435785 22 n≡

Dengan menggunakan Algoritma Euclides diperoleh

.115759)11577070844,5469503435785(ppt =−

Jadi, faktor dari 15770708441 adalah 115759.

BAB IV

SERANGAN PADA RSA, KEAMANAN DARI RSA DAN APLIKASI

KRIPTOSISTEM RSA

A. Serangan pada RSA

Cara lain yang dapat digunakan untuk menyerang kriptosistem RSA adalah dengan

menghitung ( ).nφ Menghitung ( )nφ tidak lebih mudah daripada memfaktorkan .n

Karena, jika n dan ( )nφ diketahui, dan n adalah perkalian dua bilangan prima p

dan ,q maka n dapat difaktorkan dengan mudah, dengan menyelesaikan dua

persamaan

n pq=

( ) ( 1)( 1)n p qφ = − −

untuk p dan q yang tidak diketahui. Dengan mudah persamaan ini dapat

diselesaikan dengan mengganti ,q n p= diperoleh

( ) ( 1)( 1)n p n pφ = − −

( ) 1.n n n p pφ = − − +

Kalikan kedua ruas dengan ,p diperoleh

2( )n p np n p pφ = − − +

2 ( ( ) 1) 0.p n n p nφ− − + + =

96

Dua akar dari persamaan tersebut akan menjadi p dan .q Dengan demikian, jika

nilai ( )nφ dapat dihitung, maka n dapat difaktorkan dan kriptosistem dapat

dipecahkan dengan menghitung a sebagai invers perkalian b modulo ( ).nφ Dengan

kata lain, menghitung ( )nφ tidak lebih mudah daripada memfaktorkan .n

B. Keamanan dari RSA

Untuk memahami kriptosistem RSA, pertama perhatikan bahwa kita dapat

menemukan dua bilangan prima yang sangat besar p dan .q Bilangan-bilangan

prima ini dapat ditemukan dengan mengambil sebarang bilangan-bilangan bulat ganjil

secara acak. Untuk menguji keprimaan bilangan-bilangan ini, kita dapat

menggunakan algoritma Miller-Rabin atau algoritma Solovay-Strassen.

Jika bilangan prima p dan q telah ditemukan dan ,n pq= maka b harus dipilih

sedemikian sehingga ppt( , ( )) 1.b pqφ = Dengan menggunakan Algorithma Euclides

Diperluas, kita dapat memperoleh a dengan menghitung 1(mod ( )).ab nφ≡

Jika seseorang ingin mendapatkan kunci rahasia ,a yaitu invers b modulo ( ),nφ

pertama kita harus menemukan ( ).nφ Perhatikan bahwa menemukan ( )nφ tidak lebih

mudah daripada memfaktorkan bilangan bulat .n Jika bilangan bulat a diketahui,

tetapi ( )nφ tidak diketahui, maka n dapat difaktorkan dengan mudah, karena 1ab −

adalah kelipatan dari ( )nφ dan ada algoritma-algoritma khusus untuk memfaktorkan

97

sebuah bilangan bulat n dengan menggunakan suatu kelipatan dari ( ),nφ tetapi

dalam skripsi ini algoritma-algoritma tersebut tidak dibahas.

Metode yang sering digunakan untuk mendekripsi suatu pesan yaitu dengan

memfaktorkan n dan seperti yang telah kita ketahui, memfaktorkan bilangan bulat

yang sangat besar tampaknya menjadi persoalan yang membutuhkan waktu yang

sangat lama, meskipun kita mengunakan komputer. Jika tidak ditemukan metode

mendekripsi pesan-pesan RSA tanpa memfaktorkan modulus ,n maka keamanan

sistem RSA dapat dipertahankan. Pesan-pesan yang dienkripsikan dengan

menggunakan RSA akan menjadi mudah diserang jika memfaktorkan modulus n

mungkin dikerjakan. Ini berarti bahwa kita harus berhati-hati dalam memilih bilangan

prima dengan menggunakan bilangan-bilangan prima p dan q yang sangat besar

untuk melindungi kerahasiaan pesan selama puluhan atau ratusan tahun.

Seperti yang telah kita ketahui, keamanan kriptosistem RSA bergantung pada

kesulitan memfaktorkan bilangan-bilangan bulat besar. Khususnya, untuk

kriptosistem RSA, jika modulus n telah difaktorkan, maka dengan mudah dapat

diperoleh kunci rahasia yang mengakibatkan teks sandi dapat diubah ke teks biasa

sehingga dapat dibaca oleh orang lain yang tidak berhak. Walau demikian, ada

kemungkinan bahwa dapat ditemukan kunci rahasia dari kunci publik tanpa

memfaktorkan ,n meskipun hal ini tampaknya tidak mungkin saat ini.

98

C. Aplikasi Krisptosistem RSA

Danang dan Dimas ingin membuat suatu permainan di antara mereka. Kemudian

mereka berencana, jika mereka ingin memberitahukan suatu rahasia di antara mereka,

maka mereka akan menggunakan Kriptosistem RSA. Jika Dimas ingin mengirim

pesan rahasia kepada Danang, maka ia memerlukan kunci publik yang dimiliki oleh

Danang. Oleh karena itu, Danang akan membuat kunci publik sekaligus kunci

rahasianya. Pertama, ia akan memilih sebarang bilangan bulat ganjil secara acak,

misalnya 47p = dan 173.q = Sebelum Danang menghitung ,n ia harus yakin bahwa

bilangan-bilangan itu adalah bilangan-bilangan prima. Oleh karena itu, ia akan

menguji keprimaan bilangan-bilangan itu dengan menggunakan salah satu algoritma,

yaitu algoritma Miller-Rabin. Pertama, ia menghitung 1 46 2 23p − = = ⋅ dan

21 172 2 43.q − = = ⋅ Kemudian Danang memilih bilangan j dan k dengan 1 46j≤ ≤

dan 1 172,k≤ ≤ misalnya 27j = dan 83.k = Kemudian, ia menghitung 2327 mod 47

dan 4383 mod173. Karena 2327 1(mod 47)≡ dan 4383 1(mod173),≡ maka 47 dan 173

adalah bilangan prima.

Setelah itu, Danang akan menghitung nilai n dan ( ),nφ 47 173 8131n pq= = ⋅ = dan

( ) ( 1)( 1) 7912.n p qφ = − − = Kemudian Danang akan menentukan bilangan bulat b

sehingga ppt( ,7912) 1b = dan menghitung bilangan bulat a dengan 1(modab ≡

7912). Danang memilih 153b = dan ia akan menghitung ppt(153,7912) dengan

menggunakan Algoritma Euclides.

7912 51 153 109= ⋅ +

99

153 1 109 44= ⋅ +

109 2 44 21= ⋅ +

44 2 21 2= ⋅ +

21 10 2 1.= ⋅ +

Setelah Danang memperoleh nilai 153,b = maka ia akan menghitung a dengan

menggunakan Algoritma Euclides Diperluas.

j jr 1jr + 1jq + 2jr + js jt

0 7912 153 51 109 1 0

1 153 109 1 44 0 1

2 109 44 2 21 1 -51

3 44 21 2 2 -1 52

4 21 2 10 1 3 -155

5 2 1 2 0 -7 362

6 73 -3775

Nilai-nilai js dan jt dengan 0, 1, 2, 3, 4,j = dihitung dengan cara berikut:

0 01, 0,s t= =

1 10, 1,s t= =

2 0 1 1 2 0 1 11 0 51 1, 0 1 51 51,s s s q t t t q= − = − ⋅ = = − = − ⋅ = −

3 1 2 2 3 1 2 20 1 1 1, 1 ( 51) 1 52,s s s q t t t q= − = − ⋅ = − = − = − − ⋅ =

4 2 3 3 4 2 3 31 ( 1) 2 3, 51 52 2 155,s s s q t t t q= − = − − ⋅ = = − = − − ⋅ = −

100

5 3 4 4 5 3 4 41 3 2 7, 52 ( 155) 2 362,s s s q t t t q= − = − − ⋅ = − = − = − − ⋅ =

6 4 5 5 6 4 5 53 ( 7) 10 73, 155 362 10 3775.s s s q t t t q= − = − − ⋅ = = − = − − ⋅ = −

Karena 6 1 ppt(153,7912)r = = dan 6 6 67912 153,r s t= ⋅ + ⋅ diperoleh

( )1 73 7912 3775 153.= ⋅ + − ⋅

Jadi, Danang mempunyai kunci rahasia 3775 4137(mod 7912),a = − ≡ 47p = dan

173q = serta kunci publik 8131n = dan 153.b =

Karena Dimas mengetahui kunci publik Danang, maka ia dapat menggunakan kunci

itu untuk mengubah pesan yang akan ia sampaikan kepada Danang menjadi pesan

rahasia atau teks sandi. Dimas ingin mengirimkan pesan

AKU PERGI KE JAKARTA

kepada Danang. Danang dan Dimas mempunyai kesepakatan untuk mengubah tanda

spasi menjadi 00, huruf A menjadi 01, B menjadi 02, ..., Z menjadi 26, maka akan

dihasilkan teks biasa

0111 2100 1605 1807 0900 1105 0010 0111 0118 2001

yaitu pesan yang akan ia sandikan. Kemudian ia akan menghitung 153111 7485≡

(mod8131), 1532100 769(mod8131),≡ 1531605 285(mod8131),≡ 1531807 1630≡

(mod8131), 153900 3152(mod8131),≡ 1531105 6695(mod8131),≡ 15310 1262(mod≡

8131), 153118 7870(mod8131),≡ dan 1532001 2648(mod8131).≡ Kemudian Danang

menerima pesan dalam bentuk teks sandi

7485 0769 0285 1630 3152 6695 1262 7485 7870 2648

101

yang dengan mudah dapat ia ubah kembali ke bentuk teks biasa dengan menggunakan

kunci rahasia yang ia miliki. Ia akan menghitung 41377485 111(mod8131),≡

4137769 2100(mod8131),≡ 4137285 1605(mod8131),≡ dan seterusnya. Pada akhirnya,

Danang akan mendapatkan pesan yang dikirim Dimas.

Karena Ayu juga mengetahui kunci publik Danang dan ia ingin mengetahui pesan

yang dikirim Dimas kepada Danang, maka ia berusaha untuk memfaktorkan kunci

publik n dengan menggunakan algoritma Pollard 1.p − Pertama, ia akan menhitung

nilai !kr modulo 8131, untuk 1,2,3, .k = �

2 22 1 2 4(mod8131)r r≡ = ≡

3 33 2 4 64(mod8131)r r≡ = ≡

4 44 3 64 16777216 2963(mod8131)r r≡ = = ≡

5 55 4 2963 1865(mod8131)r r≡ = ≡

6 66 5 1865 269(mod8131)r r≡ = ≡

23 2323 22 6275 706(mod8131).r r≡ = ≡

Jika kita hitung ppt( 1,5157437) 1kr − = untuk 1,2,3, , 22,k = � tetapi untuk 23,k =

23ppt( 1,8131) ppt(706 1,8131)r − = −

ppt(705,8131)=

47,=

102

maka 47 adalah faktor dari 8131.

Karena Ayu telah memperoleh salah satu faktor dari 8131, maka ia dapat menghitung

faktor lainnya, yaitu 173. Setelah ia mendapatkan nilai p dan ,q maka ia dapat

menghitung ( )nφ dan a sehingga akhirnya ia dapat membaca pesan tersebut.

BAB V

PENUTUP

A. Kesimpulan

Kriptosistem RSA adalah salah satu sistem penyandian yang dapat membantu kita

membuat teks sandi yang tidak dapat dibaca oleh orang lain yang tidak berhak.

Kriptosistem RSA berdasar pada pemilihan bilangan prima p dan .q Semakin besar

bilangan prima p dan ,q semakin sulit orang lain memfaktorkan bilangan n dengan

.n pq=

Setiap orang mempunyai kunci publik dan kunci rahasia. Kunci publik inilah yang

akan digunakan oleh orang lain untuk menyandikan pesan yang telah ia buat.

Kemudian ia akan mengirim teks sandi tersebut kepada orang yang ia tuju. Teks sandi

tersebut hanya dapat dibaca dengan menggunakan kunci rahasia. Dengan begitu, jika

orang yang tidak berhak ingin membaca teks sandi tersebut, maka ia harus

mendapatkan kunci rahasia yang dapat diperoleh dengan memfaktorkan bilangan .n

Orang tersebut mengetahui bilangan n karena n adalah kunci publik di mana semua

orang tahu kunci itu. Orang tersebut dapat memfaktorkan bilangan n dengan

menggunakan algoritma Pollard 1,p − algoritma Pollard rho atau algoritma kuadrat

acak Dixon. Karena bilangan yang digunakan sangat besar, maka diperlukan waktu

yang sangat lama untuk memfaktorkan bilangan tersebut. Oleh karena itu, selama

kunci rahasia belum diperoleh, teks sandi tidak akan dapat dibaca oleh orang lain.

104

B. Saran

Dalam skripsi ini, penulis hanya membahas tentang teori saja. Skripsi ini masih dapat

dikembangkan dengan membuat program yang akan membantu kita dalam menguji

keprimaan suatu bilangan atau memfaktorkan bilangan .n Selain kriptosistem RSA,

ada juga sistem penyandian lain yang dapat digunakan untuk menyandikan pesan

biasa ke pesan rahasia.

DAFTAR PUSTAKA

Burton, David M. (1994). Elementary Number Theory (Third Edition). Dubuque: Wm. C. Brown Communications, Inc.

Durbin, John R. (1985). Modern Algebra (Second Edition). New York: John Wiley &

Sons, Inc. Lipschutz, Seymour. (1964). Set Theory and Related Topics. New York: McGraw-

Hill, Inc. Mao, Wenbo. (2004). Modern Cryptography Theory and Practice. Upper Saddle

River: Prentice-Hall, Inc. Rosen, Kenneth H. (2000). Elementary Number Theory and Its Applications (Fourth

Edition). New York: Addison Wesley Longman, Inc. Schneier, Bruce. (1994). Applied Cryptography. New York: John Wiley & Sons, Inc.

Stinson, Douglas R. (2002). Cryptography Theory and Practice (Second Edition). New York: Chapman & Hall/CRC.