Kriptosistem RSA - USD Repository

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

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

  

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 p − algoritma Pollard rho dan algoritma kuadrat acak Dixon. 1,

  

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

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

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

  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

  

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

  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 e yang dapat digunakan untuk mengirim pesan yang telah dienkripsi K ( ciphertext ) kepada orang yang dituju. Selain aturan enkripsi e , pengguna juga K mempunyai aturan dekripsi d yang dapat digunakan untuk mendekripsi ciphertext K kembali ke pesan semula ( plaintext ). Aturan enkripsi e disebut sebagai kunci-publik K

  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

  = =

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

1

  sebagai berikut:

  • = < <

  r q r r , r r 1 1 2 2 1

  • = < <

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

= < + <

r q r r , r r m 2 m 1 m 1 m m m 1

  

− − − −

= r q r . m 1 m m =

  Jadi, ppt( , ) r r r di mana r adalah sisa bilangan terakhir yang nilainya tidak 1 m m sama dengan nol. Jika bilangan bulat positif b < mempunyai invers modulo n n terhadap operasi perkalian, maka dengan menggunakan Algoritma Euclides Diperluas

  Teorema Sisa Cina adalah suatu metode yang dapat digunakan untuk memecahkan sistem-sistem kongruensi tertentu. Anggap m , m , , m adalah bilangan bulat yang 1 2 j = ≠ ≠ relatif prima (yaitu ppt( m m , ) 1 di mana m m dan i j ) dan a , a , , a i j i j 1 2 j adalah bilangan bulat. Perhatikan sistem kongruensi berikut ini:

  ≡

  

x a (mod m )

1 1

  ≡

  

x a (mod m )

2 2

xa (mod m ).

r r

  Sistem kongruensi ini mempunyai penyelesaian tunggal r

  

x a M y (mod M )

i = 1 i i i1

  = = = dengan M m m m , M M m dan y M (mod m ). 1 2 r i i i i i 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 kuadrat acak Dixon (Dixon’s Random Squares Algorithm). Cara-cara lain yang dapat digunakan untuk menyerang kriptosistem RSA adalah dengan menghitung

  φ φ = − − ( ), n di mana ( ) n ( p 1)( q 1).

  B. Rumusan Masalah

  Berdasar atas uraian yang telah dikemukakan dalam latar belakang, pokok permasalahan dalam skripsi ini dapat dirumuskan sebagai berikut:

  1. Apa yang dimaksud dengan kriptosistem RSA?

  2. Bagaimana cara untuk menguji keprimaan suatu bilangan?

  3. Bagaimana cara untuk menyerang kriptosistem RSA?

  4. Bagaimana keamanan dari kriptosistem RSA? C.

   Batasan Masalah 1. Himpunan yang dibicarakan dalam skripsi ini adalah . n 2. Dalam penulisan skripsi ini hanya dibahas mengenai teorinya saja.

  D. Tujuan Penulisan

  Penyusunan skripsi ini bertujuan untuk mempelajari salah satu teknik kriptosistem yang dapat digunakan untuk mengamankan kerahasiaan suatu informasi.

  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

  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 .

  ≤ dan ≤ ≤ ∀ ∈ 2. Transitif: Jika a b b c , maka a c , a b c , , S .

  ≤ dan ≤ = ∀ ∈ 3. Anti-simetrik: Jika a b b a , maka a b , a b , S . Himpunan S yang dilengkapi dengan suatu relasi urutan parsial disebut himpunan terurut parsial .

  Definisi 2.2

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

  x y S y atau yx .

  Definisi 2.3

  Suatu himpunan dikatakan tertata baik jika himpunan itu adalah himpunan terurut total yang setiap subhimpunan takkosong S di dalamnya memuat elemen terkecil, yaitu ada a ∈ sedemikian sehingga a S ≤ untuk semua b bS .

  Contoh 2.1

  Setiap subhimpunan takkosong dalam himpunan semua bilangan bulat taknegatif selalu mempunyai elemen terkecil. Jadi, himpunan semua bilangan bulat taknegatif tertata baik.

  Teorema 2.1 Algoritma Pembagian

  > Diberikan bilangan bulat a dan , b dengan b

  0. Maka ada tunggal bilangan bulat q

  • 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

  

S = { axb x : adalah bilangan bulat dan axb ≥ 0}

  bukan himpunan kosong. Cukup memperlihatkan bahwa ada bilangan x yang membuat axb taknegatif. Karena bilangan bulat b ≥ maka | | 1, 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 menggunakan bukti dengan r

  0. Akan kita tunjukkan bahwa r b ≥ kontradiksi. Andaikan r b , maka

  • − ( 1) = − − = − ≥ 0.

  a q b a qb b r b

  • ∈ − = − − = − < + − Hal ini berakibat a ( q 1) b S , tetapi a ( q 1) 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

  ′ ′

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

  ′ ′ ′ ′ ′ dengan 0 ≤ < r b , 0 ≤ r < b . Maka r − = r ( aq b ) ( − aqb ) = qbq b = b q ( − q ), sehingga

  = − | r ′ − r | b q | q′ | . ≤ < − < − ≤ − < − ≤

  Karena 0 r b , maka b r

  0. Dari dua pertidaksamaan b r dan ′

  ≤ ′ < − < − < < , − <

  r b , kita dapatkan b r r b atau | r ′ − r | b maka b q | q′ | b . Jadi,

  − < sehingga 0 ≤ | − < − ′ | q q′ | 1 q q′ |

  1. Karena | q q | adalah bilangan bulat takne- − = = ′ gatif, maka satu-satunya kemungkinan adalah | q q′ |

  0. Ini terjadi jika q q . = − = ⋅ = = ′

  Oleh karena itu, | r ′ − r | b q | q′ | b 0. Jadi, kita dapatkan r r .

  Jika a dan b adalah bilangan bulat taknol, maka himpunan pembagi persekutuan a dan b adalah himpunan bilangan bulat berhingga yang memuat bilangan bulat +1 dan − 1.

  Definisi 2.4

  Jika a dan b adalah bilangan-bilangan bulat dengan a ≠ 0, maka dikatakan bahwa

  

a membagi habis b jika ada bilangan bulat m sedemikian sehingga b = ma . Jika a

  membagi habis , b maka dikatakan juga bahwa a adalah pembagi atau faktor dari b

  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 c b a dan , , dengan 0. a ≠ Maka (1) | 0, a 1| , a | . a a (2) 1 | a jika dan hanya jika 1. a = ± (3) Jika b a | dan | , c d maka | . ac bd (4) Jika | dan | , a b b c maka | . a c (5) a b b a | dan | jika dan hanya jika . a b = ± (6) Jika b a | dan 0, b ≠ maka | | a ≤ | | . b (7) Jika c a b a | dan | , maka | ( ) a bx cy + untuk sebarang bilangan-bilangan bulat x dan y .

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

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

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

  =

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

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

  mungkin adalah 1 dan 1. − Jika kita ambil m = maka 1 1, = ma = ⋅ = 1 a a . Jika kita ambil m = − maka 1 1, = ma = − ⋅ = − atau ( 1) a a a = − Jadi, 1. a = ± 1. Sebaliknya, jika diketahui a = ± maka untuk 1, a = 1 benar bahwa |1 a sebab 1 1 1, = ⋅ dan untuk a = −

  1 benar bahwa |1 a karena 1 = − ⋅ − ( 1) ( 1). (3) Karena a b | dan | , c d maka ada bilangan bulat m dan n sedemikian se- hingga b = ma 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

  b = ea dan 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

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

  1. Karena e dan f adalah bilangan bulat, maka nilai e dan f yang kita ambil 1, f = − maka ( 1) . a fb b b = = − ⋅ = − Jadi, . a b = ± Sebaliknya, jika , a b = ± maka b a | karena = ± ⋅ 1 , b a dan a b | karena 1 . a b = ± ⋅

  (6) Jika | , a b maka ada bilangan bulat k sedemikian sehingga . b ka = Jika 0, b ≠ maka ≠ 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

  = ma b dan . c na =

  Kemudian, ( ) ( ) ( ) bx cy ma x na y amx any a mx ny

  • = + = + = + untuk sebarang bilangan-bilangan bulat x dan . y Karena ny mx + 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

  Bukti: Kita definisikan S sebagai himpunan semua kombinasi linear dari a dan b : + + S = { au bv au : bv > 0; , u v adalah bilangan-bilangan bulat}.

  Pertama akan kita tunjukkan bahwa S bukan himpunan kosong. Karena a ≠ 0, maka | | a = au + ⋅ ∈ dengan b S u = 1 atau u = − 1 . Karena S tertata baik, maka S pasti mempunyai elemen terkecil, misalkan . d Jadi, dari definisi , S ada bilangan bulat x dan y sedemikian sehingga + d = ax by . Menurut Algoritma Pembagian, terdapat bilangan-bilangan bulat q dan r sedemikian sehingga a = qd , + r dengan 0 ≤ < r d .

  Maka = − = − = − − + + = − −

r a qd a q ax by ( ) a qax qby a (1 qx ) b ( qy ).

  > ∈ Jika r 0, maka r S . Terjadi kontradiksi dengan kenyataan bahwa d adalah

  = = elemen terkecil di . S Oleh karena itu, r dan a qd atau d a | . Dengan cara yang sama, kita dapatkan d b | . Akibatnya d adalah pembagi persekutuan dari a dan

  

b . Sekarang, jika c adalah sebarang pembagi persekutuan dari a dan , b maka

  ≤ | | = + menurut Teorema 2.2 (7), | ( c ax by ), yaitu | . c d Maka c = | | c d d . Jadi, d = adalah pembagi persekutuan terbesar dari a dan , b yaitu d ppt( , ). a b

  Definisi 2.7

  Teorema 2.4

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

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

  Bukti: = maka menurut Teorema 2.3, ada bilangan bulat

  Jika ppt( , ) a b 1,

  x dan y yang

  • = = memenuhi 1 ax by . Sebaliknya, misalkan 1 ax by untuk suatu bilangan bulat x

  = dan y dan d ppt( , ). a b Karena d | a dan d b | , maka menurut Teorema 2.2 (7), = = +

  d | ( ax by )

  1. Jadi, menurut Teorema 2.2 (2), d 1.

  Teorema 2.5

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

  =

  Bukti: Misal a dan b adalah bilangan-bilangan bulat dengan ppt( , ) a b = d . Akan ditunjuk- kan bahwa a d dan b d tidak mempunyai pembagi persekutuan positif selain 1.

  Andaikan e adalah bilangan bulat positif sedemikian sehingga e a d ( ) dan e b d ( ).

  Karena d adalah pembagi persekutuan terbesar a dan , b maka ded . Jadi, e = 1. Akibatnya, ppt( , ) 1.

  a d b d = Teorema 2.6

  = maka Jika a | dan | , c b c dengan ppt( , ) a b 1, ab c | . Bukti: Jika diketahui a | dan | , c b c maka ada bilangan bulat r dan s sedemikian sehingga

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

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

  c = ⋅ = c 1 c ax ( by ) = acx bcy = a bs x ( ) + + + b ar y ( + ) = ab sx ( ry ).

  Jadi, terbukti ab c | .

  Teorema 2.7 (Lemma Euclides)

  Jika | a bc , dengan ppt( , ) a b = maka | . 1, a c Bukti:

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

  • = 1 ax by . Kita dapatkan

  = ⋅ = + = +

  c c 1 c ax by ( ) acx bcy .

  = + Karena | a ac dan | a bc , maka | ( a acx bcy ) c . Jadi, | . a c Diberikan bilangan-bilangan bulat taknol a dan . b Untuk suatu bilangan bulat , d

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

  1. d a | dan | , d b

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

  = =

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

  

d ax by untuk suatu bilangan bulat x dan y . Jadi, jika c a | dan | , 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 2 2

cd

2

cd

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

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

  a dan . b B.

   Algoritma Euclides

  Teorema 2.9 (Prinsip Induksi Matematis)

  Jika S adalah himpunan bilangan bulat positif dengan sifat: (i) 1 ∈ S , dan (ii) Jika kS , maka k + ∈

  1 S maka S adalah himpunan semua bilangan bulat positif.

  Bukti: Misalkan T adalah himpunan semua bilangan bulat positif yang tidak berada di S dan andaikan T bukan himpunan kosong. Karena T tertata baik, maka T mempunyai elemen terkecil, sebut a . Karena 1 ∈ S , maka a > 1 dan 0 < − < a 1 a . Karena a bilangan bulat terkecil di T , maka a − ∉

  1 T , jadi a − ∈

  1 S . Dengan hipotesa induksi, ( a − 1) 1 + = ∈ a S , sehingga aT , yang kontradiksi dengan kenyataan bahwa aT . Kita simpulkan bahwa T adalah himpunan kosong dan S terdiri dari semua bilangan bulat positif.

  Teorema 2.10 (Prinsip Kedua Induksi Matematis)

  Jika S adalah himpunan bilangan bulat positif yang mempunyai sifat: (i) 1 ∈ S , dan 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

  n

  1 S . Misalkan T adalah himpunan semua bilangan bulat positif n sedemikian sehingga semua bilangan-bilangan bulat positif yang kurang dari atau sama dengan n ∈ karena bilangan bulat positif yang kurang dari atau sama berada di . S Maka 1 T

  ∈ ∈ dengan 1, yaitu 1 S . Jika n T , maka semua bilangan bulat positif yang kurang

  • ∈ dari atau sama dengan n berada di . S Jadi menurut sifat himpunan , S n

  1 S . Jadi,

  n

  1 T . Dengan demikian, menurut Teorema 2.9, T adalah himpunan semua ∈ bilangan bulat positif. Ambil sebarang x T . Maka semua bilangan bulat positif

  ∈ yang kurang dari atau sama dengan x berada di S . Jadi, x S , sehingga T ∈ subhimpunan . S Berdasar definisi , S S memuat bilangan 1. Karena 1 S , maka

  ∈ ∈ ∈

  2 S . Karena 1, 2 S , maka 3 S , dan seterusnya. Jadi, jika diambil sebarang ∈

  

x S , maka x adalah bilangan bulat positif. Padahal T adalah himpunan semua

  ∈ bilangan bulat positif. Jadi, x T . Akibatnya S subhimpunan T . Jadi, karena T = subhimpunan S dan S subhimpunan , T maka S T , sehingga S adalah himpunan semua bilangan bulat positif. Jika + a = qb r , maka ppt( , ) a b = ppt( , ). b r Bukti:

  = −

  Jika d ppt( , ), a b maka d | a 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, d ppt( , ). b r

  Teorema 2.11 (Algoritma Euclides)

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

  Jika algoritma pembagian dijalankan secara berturutan untuk mendapatkan

  r = r q + r dengan < r < r untuk j = , 1, 2, , n1 j 1 j

  2 dan r = ,

  • 2 j 2 j 1 n
  • + j j

  • 1

      = maka ppt( , ) a b r di mana r adalah bilangan sisa terakhir yang nilainya tidak sama n n dengan nol.

      Bukti: =

      ≥ . Dengan men- Misal r a dan r = b adalah bilangan-bilangan bulat dengan a b 1 jalankan algoritma pembagian secara berurutan, kita dapatkan

      

    r = q r r + , < r < r

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

      < < + =

      r q r r , r r n 2 n 1 n 1 n n n 1

      =

    r q r .

    n

    1 n n

      −

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

    n

      Lemma 2.1, kita dapatkan = = = = = ppt( , ) a b ppt( , ) r r ppt( , ) r r ppt( r , ) r r . 1 1 2 n 1 n n

      = Jadi, ppt( , ) a b r . n 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( , ) dapat dinyatakan sebagai kombinasi linear dari

      d a b a

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

      b

      dapatkan bahwa = −

    r r q r .

    n n

    2 n

    1 n 1

      − − −

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

      − −

      menyatakan r = rq r , kita dapatkan n 1 n 3 n 2 n 2

      − − − − r = rq r n n 2 n

    1 n

    1

      = − −

      r q ( r q r ) n 2 n

    1 n

    3 n 2 n 2

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

      − − − − −

      = yang menyatakan r ppt( , ) a b sebagai kombinasi linear dari r dan r . Kita n nn 3 2 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( , ) sebagai kombinasi linear dari = dan

      a b r a r b . Secara umum, jika kita telah mendapatkan kombinasi linear 1 = j j + ppt( , ) a b = sr tr , 1 maka, karena

      = −

      

    r r q r ,

    j j

    2 j

    1 j 1 − − −

      kita dapatkan = + ppt ( , ) a b sr tr j j 1

    • = −

      s r ( q r ) tr j 2 j 1 j 1 j 1 − − − −

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

      − − −

      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.

    • = ppt( , ) a b s a t b , n n

      = untuk suatu n 0, 1, 2, di mana s dan t adalah bentuk ke- n dari barisan yang n n ditentukan secara rekursif dengan

      s = 1, t =

      = =

      s 0, t 1 1

      1 = − = −

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

      = untuk j 2, 3, , , n di mana q adalah hasil bagi dalam pembagian Algoritma j Euclides untuk mendapatkan ppt( , ).

      a b

      Bukti: Dengan menggunakan Prinsip Kedua Induksi Matematis, kita akan membuktikan bahwa

      r = s a t b +

    j j j

      = = + = = ⋅ + ⋅ = untuk j , 1, 2, , n . Untuk j 0, kita mempunyai r a

      1 a b s a t b . = = kita dapatkan

      Dengan demikian, benar untuk j

      0. Demikian juga, untuk j 1, = = ⋅ + ⋅ = = +

      r b a 1 1 b s a t b , sehingga benar untuk j 1 1 1 .

      Asumsikan bahwa

      r s a t b + =

    j j j

      = −

    r r q r .

    k k

    2 k

    1 k 1 Jadi, = −

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

    • = − −

      s a t b q s a q t b k 2 k

    2 k

    1 k 1 k 1 k 1

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

      − − − − − −

    • = s a t b .
    • k k

        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.

      • 1 j
      • 2 j
      • j

        s dan j t dengan 0, 1, 2, 3, 4, j = dihitung dengan cara berikut:

        18

        2

        3 −

        4

        4

        4 5 − Nilai-nilai j

        1, 0, s t = = 1 1 0, 1, s t

        3

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

        s s s q t t t q

        = − = − ⋅ = − = − = − − ⋅ = 4 2 3 3 4 2 3 3 1 ( 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

        36

        1 −

        j j r 1 j r

        54

        q

        r

        s j t

        252 198

        1

        54

        1 1 198

        3

        1

        36

        1

        2

        54

        36

        1

        18

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

        = ≥ . Jika setiap