Konstruksi Algoritma RESSOL beserta Analisisnya.

6 Contoh 1: Tentukan solusi dari 2 15 mod17 x ≡ . Jawab : 17 1 2 8 15 15 mod 17 − ≡ 1 mod 17 ≡ Karena 17 1 2 15 1 mod 17 − ≡ maka berdasarkan kriteria Euler 2 15 mod 17 x ≡ mempunyai solusi. Generator dari 17 adalah g = 3. Mencari nilai i sehingga 3 15mod17 i ≡ i 2 4 6 3 mod17 i 1 9 13 15 Dari tabel diperoleh nilai i adalah 6. 6 17 1 mod 2 2 u − ≡ 3mod 8 ≡ Solusinya adalah 3 3 10mod17 x ≡ ≡ . Solusi satunya adalah 10 7mod17 x − ≡ − ≡ . Jadi solusi dari 2 15 mod17 x ≡ adalah 7 dan 10 . Algoritma di atas tidak efisien untuk nilai p yang besar p 1.000.000 , karena untuk mencari g yaitu generator dari p untuk nilai p 1.000.000 tidaklah mudah, kemudian mencari nilai i sedemikian sehingga mod i g a p ≡ juga memerlukan waktu yang lama untuk nilai p 1.000.000. Oleh karena itu, di bagian berikutnya akan dibahas sebuah algoritma yang lebih efisien untuk mencari solusi dari 2 mod x a p ≡ yaitu Algoritma RESSOL. Mencari solusi dari 2 mod x a p ≡ memang tidak mudah, tetapi ada beberapa kasus untuk nilai p tertentu yang solusinya sudah dengan ditentukan. Misal untuk 3mod 4 p ≡ maka solusi dari 2 mod x a p ≡ adalah 1 4 mod p x a p + ≡ ± karena 2 1 2 1 4 p p a a + + ± = 1 2 . p a a − = mod a p ≡ . Berdasarkan Teorema 2.9, 2 1 mod x p ≡ − mempunyai solusi jika dan hanya jika 2 p = atau 1mod 4 p ≡ . Untuk 1mod 4 p ≡ misalkan 1 4 mod p x z p − = ± dengan z adalah suatu bilangan non residu kuadratik yang ambil secara acak dalam p . Berdasarkan Kriteria Euler diperoleh 2 2 1 4 1 2 1 mod p p x z z p − − ± ≡ ≡ ≡ − . Teorema 3.4 Jika a dan b relatif prima terhadap bilangan prima p, dan jika a dan b memiliki order 2 mod j p dengan j , maka ab memiliki order 2 mod j p untuk beberapa j j . [Niven, 1991] Bukti : 2 ord 2 mod 1mod j j a p a p ≡ ⇔ ≡ …1, berdasarkan Teorema Fermat, 1 1mod p a p − ≡ …2 Dari persamaan 1 dan 2 diperoleh 2 | 1 j p − dan p 2. Ambil 1 2 j x a − = , karena ord 2 mod j a p ≡ maka 1 2 1mod j x a p − = ≡ tetapi 2 2 1mod j x a p = ≡ sehingga berdasarkan Lemma 2.9 maka 1 2 1mod j x a p − = ≡ − . Dengan cara yang sama diperoleh 1 2 1mod j b p − ≡ − , dan mengakibatkan 1 1 1 2 2 2 1 1 1mod j j j ab a b p − − − = ≡ − − ≡ . Berdasarka Lemma 2.13 maka order dari ab membagi 1 2 j − sehingga order dari ab adalah 2 j untuk suatu j j . Teorema-teorema di atas menjadi landasan Algoritma RESSOL untuk mencari solusi dari 2 mod x a p ≡ dengan p a Q ∈ dan p prima ganjil.

3.2 Konstruksi Algoritma RESSOL beserta Analisisnya.

Untuk mencari solusi 2 mod x a p ≡ dengan p prima ganjil, ada sebuah algoritma yang dapat digunakan untuk mencarinya yaitu Algoritma RESSOL Residue Solver. Dalam bagian ini penulis akan mencoba merekonstruksi Algoritma RESSOL dan menganalisisnya. Berikut ini akan dijelaskan langlah-langkah penurunan Algoritma RESSOL. 7 Langkah pertama menghitung 1 2 mod p a p − dengan Kriteria Euleur. Jika 1 2 1 mod p a p − ≡ − maka 2 mod x a p ≡ tidak mempunyai solusi. Jika 1 2 1 mod p a p − ≡ maka untuk menentukan solusi dari 2 mod x a p ≡ adalah mencari nilai k dan m dengan k 0 dan m ganjil sedemikian sehingga 1 2 k p m − = . Kemudian didefinisikan : 1 2 mod m r a p + ≡ … 1 Jika kedua ruas persamaan 1 dikuadratkan, maka diperoleh : 1 2 mod m r a p + ≡ 2 . mod m r a a p ≡ . Misalkan mod m n a p ≡ , sehingga dapat ditulis : 2 mod r na p ≡ … 2 Jika 1 mod n p ≡ , maka solusinya adalah mod x r p ≡ ± . Jika n ≡ 1 mod p , maka untuk menentukan solusinya diperlukan langkah penyelesaian sebagai berikut. Ambil secara acak suatu bilangan nonresidu kuadratik di dalam p . Misal bilangan tersebut adalah z. Definisikan mod m c z p ≡ …3 Jika kedua ruas persamaan 3 dipangkatkan dengan 2 k , maka diperoleh : 2 2 k k m c z = 1 1 mod p z p − = ≡ … 4 Berdasarkan Lemma 2.13, order dari c membagi 2 k . Sementara itu, karena z adalah nonresidu kuadratik maka 1 1 2 2 k k m c z − − = 1 2 1 mod p z p − = ≡ − … 5 Jadi order dari c adalah tepat 2 k . Hal ini dapat ditulis ord 2 k c ≡ atau 2 1 mod k c p ≡ . Dengan cara yang sama diperoleh 1 2 2 1 mod k k p m n a a p − = = ≡ …6 Dengan demikian order dari n membagi 2 k . Dengan pengulangan kuadrat dapat ditentukan order dari n adalah 2 k . Sementara itu 1 1 1 2 2 2 k k p m n a a − − − = = , karena a adalah kuadratik residu mod p maka 1 1 2 2 1 mod k p n a p − − = ≡ …7 sehingga k k . Algoritma ini dimulai dengan proses pengulangan. Didefinisikan 1 2 mod k k b c p − − ≡ …8 mod r br p ≡ …9 2 mod c b p ≡ …10 mod n c n p ≡ …11 Dengan melakukan perkalian pada kedua ruas persamaan 2 oleh 2 b diperoleh : 2 2 2 mod b r b na p ≡ dengan menggunakan persamaan 9, 10 dan 11 diperoleh : 2 mod r an p ≡ …12 Dari persamaan 8 dan 10 diperoleh 2 mod c b p ≡ 1 2 2 mod k k c p − − ≡ 2 mod k k c p − ≡ …13 Jika kedua ruas persamaan 13 dipangkatkan dengan 2 k , maka diperoleh : 2 2 2 mod k k k k c c p − ≡ 2 mod 1 mod k c p p ≡ ≡ . Sementara itu 1 1 2 2 2 mod k k k k c c p − − − ≡ 1 2 mod 1 mod k c p p − ≡ ≡ − Dengan demikian c memiliki order tepat 2 k . Karena ord 2 k n ≡ dan ord 2 k c ≡ , maka berdasarkan Teorema 3.4, order dari mod n c n p ≡ adalah 2 k dengan k k . Jika k = , maka 1 mod n p ≡ , dan dengan menggunakan persamaan 12, maka solusi dari 2 mod x a p ≡ adalah mod x r p ≡ ± . Jika n ≡ 1 mod p maka 1 k , dan kondisi ini serupa dengan ketika pengulangan dimulai, sehingga pengulangan dilakukan kembali sampai solusi diperoleh. Langkah penyelesaian untuk menentukan solusi dari kongruensi 2 mod x a p ≡ tersusun dalam algoritma berikut ini. 8 Algoritma 2 Algoritma RESSOL : Mencari akar kuadrat modulo p prima ganjil. INPUT : Bilangan prima ganjil p dan bilangan bulat a, 1 ≤ a ≤ p – 1. OUTPUT : Dua akar kuadrat a modulo p. 1. Hitung 1 2 p a − dengan Kriteria Euleur. Jika 1 2 1 mod p a p − ≡ − maka a tidak mempunyai akar kuadrat modulo p dan proses berhenti . Jika 1 2 1 mod p a p − ≡ lanjut ke langkah 2. 2. Cari k dan m, dengan m ganjil sehingga 1 2 k p m − = . 3. Hitung 1 2 mod m r a p + ≡ dan mod m n a p ≡ . 4. Definisikan 2 mod r an p ≡ … i Jika 1 mod n p ≡ , maka solusinya adalah mod x r p ≡ ± . Jika n ≡ 1 mod p , lanjut langkah 5. 5. Ambil p z ∈ secara acak yang nonresidu kuadratik, dan tetapkan mod m c z p ≡ . Sehingga ordc = 2 k . 6. Dengan pengulangan kuadrat diperoleh ordn = 2 k . 7. Tetapkan 1 2 mod k k b c p − − ≡ , mod r br p ≡ , 2 mod c b p ≡ dan mod n c n p ≡ dengan k k 8. Kalikan kedua ruas i dengan c . Dengan demikian diperoleh 2 mod r an p ≡ …ii 9. Jika 1 mod n p ≡ , maka solusinya adalah mod x r p ≡ ± . Jika n ≡ 1 mod p , lakukan pengulangan langkah 6 – 8, sampai diperoleh 1 mod n p ≡ . 10. Solusinya adalah mod x r p ≡ ± . Algoritma RESSOL adalah algoritma acak randomized algorithm karena langkah ke-5 mensyaratkan untuk memilih bilangan nonresidu kuadratik secara acak dalam p . Dalam p , setengah dari anggotanya adalah non residu kuadratik sehingga pengambilan bilangan nonresidu kuadratik mempunyai peluang 1 2 dengan rata-rata pengambilan adalah 2 kali percobaan. Algoritma RESSOL bukanlah algoritma deterministic , tetapi prosedur perhitungannya lebih praktis dan cepat. Algoritma RESSOL mempunyai waktu eksekusi running time 4 lg O p bit operasi. [Menezes, 1997] Contoh 2. Tentukan solusi dari 2 13 mod 23 x ≡ . Jawab: 23 1 2 11 13 13 mod 23 − ≡ 1 mod 23 ≡ . Karena 23 1 2 13 1 mod 23 − ≡ maka 2 13 mod 23 x ≡ mempunyai solusi. 23 – 1 = 22 = 1 2 .11 pilih k = 1 dan m = 11 11 1 2 13 mod 23 r + ≡ 6 13 mod 23 6 mod 23 ≡ ≡ Karena 2 12 13 mod 23 r ≡ 11 13 .13 mod 23 ≡ dengan 11 13 mod 23 1 mod 23 n ≡ ≡ maka solusi dari 2 13 mod 23 x ≡ adalah 6 mod 23 x ≡ dan 6 mod 23 17 mod 23 x ≡ − ≡ Jadi solusi dari 2 13 mod 23 x ≡ adalah 6 dan 17. 9 Langkah-langkah dalam Algoritma RESSOL dapat dilihat melalui bagan berikut ini. Algoritma RESSOL hanya dapat digunakan untuk mencari solusi dari 2 mod x a p ≡ dengan p prima ganjil. Tetapi Algoritma RESSOL ini dapat dijadikan landasan untuk mencari solusi dari 2 mod , x a pq ≡ dengan p dan q prima ganjil, dan 2 mod j x a p ≡ , dengan p prima ganjil dan bilangan bulat 2 j ≥ . Hitung 1 2 mod m r a p + ≡ dan mod m n a p ≡ Tidak Tetapkan 1 2 mod k k b c p − − ≡ , mod r br p ≡ , 2 mod c b p ≡ , mod n c n p ≡ dengan k k Ya Selesai Tidak Ya Hitung 1 2 mod p a p − Mulai Bilangan prima ganjil p dan [ ] 1, 1 a p ∈ − Apakah 1 2 1 mod p a p − ≡ 2 mod x a p ≡ tak punya solusi Apakah 1 mod n p ≡ Solusinya adalah mod x r p ≡ ± Misalkan z adalah bilangan nonresidu kuadratik yang diambil secara acak dalam p . Hitung mod m c z p ≡ Hitung 2 mod r an p ≡ Apakah 1 mod n p ≡ Tidak Ya Solusinya adalah mod x r p ≡ ± 2 mod x a p ≡ punya solusi Bagan 2. Algoritma RESSOL 10 3.3 Mengkontruksi Algoritma untuk Mencari Solusi 2 mod x a pq ≡ dengan p dan q bilangan prima ganjil. Untuk mencari solusi kongruensi 2 mod , x a pq ≡ dengan p dan q prima ganjil, diawali dengan mencari terlebih dahulu solusi dari 2 mod x a p ≡ dan 2 mod x a q ≡ menggunakan Algoritma RESSOL. Misalkan 2 mod x a p ≡ mempunyai 2 solusi, yaitu mod x r p ≡ ...14 mod x r p ≡ − ...15 Misalkan 2 mod x a q ≡ mempunyai 2 solusi, yaitu mod x s q ≡ ...16 mod x s q ≡ − ...17 Kombinasi dari solusi 14, 15, 16, dan 17 menghasilkan 4 buah sistem kongruensi sebagai berikut : mod mod i x r p x s q ≡ ≡ mod mod ii x r p x s q ≡ ≡ − mod mod iii x r p x s q ≡ − ≡ mod mod iv x r p x s q ≡ − ≡ − Dengan menggunakan Teorema Sisa Cina, sistem kongruensi i, ii, iii dan iv menghasilkan 4 solusi kongruensi dari 2 mod x a pq ≡ dan secara berurutan dapat dituliskan sebagai 1 mod i x u pq ≡ , 2 mod ii x v pq ≡ , 3 mod iii x u pq ≡ − , 4 mod iv x v pq ≡ − . Keempat solusi ini merupakan solusi yang khas dari modulo pq. Langkah penyelesaian untuk menentukan solusi dari kongruensi 2 mod x a pq ≡ dengan p dan q bilangan prima ganjil tersusun dalam algoritma berikut ini. Algoritma 3 : Mencari akar kuadrat modulo pq, dengan p dan q prima ganjil. INPUT : Bilangan prima ganjil p dan q , dan 1 ≤ a ≤ pq – 1 OUTPUT : Empat akar kuadrat a modulo pq 1. Gunakan Algoritma RESSOL untuk mencari dua akar r dan –r yang merupakan solusi dari 2 mod x a p ≡ . 2. Gunakan Algoritma RESSOL untuk mencari dua akar s dan –s yang merupakan solusi dari 2 mod x a q ≡ . 3. Gunakan Algoritma Euclidean yang diperluas untuk mencari bilangan bulat c dan d sedemikian sehingga cp + dq = 1. 4. mod x rdq scp pq ≡ + mod y rdq scp pq ≡ − 5. Solusinya adalah mod x pq ± dan mod y pq ± Algoritma di atas mempunyai waktu eksekusi running time 3 lg O p bit operasi. [Menezes, 1997] Contoh 3. Tentukan solusi dari 2 71 mod 77 x ≡ . Jawab Karena 77 = 7 . 11 maka 2 2 2 71 mod 7 ... 71 mod 77 71 mod 11 ... x i x x ii ≡ ≡ ⇔ ≡ i 2 71 mod 7 1 mod 7 x ≡ ≡ solusiya adalah 1 mod 7 x ≡ ± ii 2 71 mod 11 5 mod 11 x ≡ ≡ solusiya adalah 4 mod 11 x ≡ ± Bilangan bulat yang memenuhi persamaan 7c+11d = 1 adalah c = -3 dan d = 2. x = 1.2.11 + 4.-3.7 = -62 15 mod 77 y = 1.2.11 - 4.-3.7 = 106 29 mod 77 -x = -15mod 77 48 mod 77 -y = -29 mod 77 62 mod 77 Jadi 4 solusi dari 2 71 mod 77 x ≡ yaitu 15, 29, 48 dan 62. 11 Langkah-langkah dalam Algoritma 3 dapat dilihat melalui bagan berikut ini. Bagan 3. Algoritma mencari akar kuadrat modulo pq, p dan q prima ganjil. 3.4 Mengkonstruksi Algoritma untuk Mencari Solusi 2 mod j x a p ≡ dengan p prima ganjil dan j 2. Untuk mencari solusi dari 2 mod j x a p ≡ , dengan p prima dan 2 j ≥ , dapat kita ubah bentuknya menjadi 2 0mod j x a p − ≡ . Kita misalkan f fungsi polinom dengan koefisien bilangan bulat, 2 f x x a = − . Untuk mencari solusi dari polinom 0mod j f x p ≡ … 18, kita mulai dari solusi modulo p, kemudian p 2 , p 3 , sampai j p . Misalkan x c = adalah sebuah solusi untuk 0mod j f x p ≡ maka kita bisa mencari solusi dari 1 0mod j f x p + ≡ . Solusi dari 1 0mod j f x p + ≡ berbentuk j x c tp = + , dengan t adalah suatu bilangan bulat yang dapat kita cari menggunakan deret Taylor’s 2 2 3 3 2 . . . 3 j j j j n nj n t p f c f c tp f c tp f c t p f c t p f c n + = + + + + + + dimana n adalah derajatpangkat dari fungsi polinom f x . Karena 2 f x x a = − polinom berderajat 2 dalam modulus 1 j p + , maka deret Taylor’s tersebut menjadi 1 mod j j j f c tp f c tp f c p + + = + . Karena 1 0mod j j f c tp p + + ≡ maka persamaan diatas dapat kita ubah menjadi 1 0 mod j j f a tp f c p + + ≡ . Karena 0mod j f x p ≡ mempunyai solusi x c = maka kita dapatkan mod j f c tf c p p ≡ − …19 yang merupakan persamaan linear dalam t. Persamaan 19 mungkin tidak mempunyai solusi, mempunyai solusi tunggal atau mempunyai p solusi. Jika 0mod f c p ≡ maka persamaan tersebut mempunyai tepat satu solusi. Solusi dari persamaan 18 dapat ditentukan dengan menggunakan Lemma Hensel’s. Lemma Hensel’s : Misalkan f x adalah fungsi polinom dengan koefisien-koefisiennya bilangan bulat dan p prima. Jika 0mod j f c p ≡ dan 0mod f c p ≡ maka ada bilangan bulat t mod p yang tunggal sedemikian sehingga 1 0mod j j f c tp p + + ≡ . [Niven, 1991] Mencari bilangan bulat c dan d sehingga cp + dq = 1 Ya Selesai Ya Tidak Tidak Mulai RESSOL [ , ] a p RESSOL [ , ] a q Bilangan prima p dan q, dan [1, 1] a pq ∈ − Apakah ada solusi Apakah ada solusi mod x r p ≡ mod x r p ≡ − mod x s q ≡ mod x s q ≡ − Solusinya adalah mod mod x n y n ± ± mod x rdq scp n ≡ + mod y rdq scp n ≡ − 12 Bukti dari Lemma Hensel’s tidak dicantumkan karena di luar jangkauan pembahasan. Jika f c 0mod p dan 0mod j f c p ≡ maka bilangan bulat c disebut akar nonsingular . Jika f c 0mod p dan 0mod f c p ≡ maka c disebut akar singular. Dari Lemma Hensel’s kita lihat bahwa sebuah akar nonsingular mod c p menghasilkan sebuah akar 2 2 mod c p . Karena 2 mod c c p ≡ maka 2 0mod f c f c p ≡ ≡ . Dari akar 2 2 mod c p akan dihasilkan sebuah akar 3 3 mod c p dan seterusnya sehingga mendapatkan akar mod j j c p . Dari persamaan 19 diperoleh sebuah persamaan rekursif untuk mencari solusi yaitu 1 1 j j j c c f c f r + − = − , dengan 1 f r − adalah sebuah bilangan bulat sedemikian sehingga 1 1mod f c f r p − ≡ . Contoh 4. Tentukan solusi dari 2 3 5mod11 x ≡ . Jawab : 2 2 3 3 5mod11 5 0mod11 x x ≡ ⇔ − ≡ Solusi dari 2 5 0mod11 x − ≡ adalah x = ±4 mengunakan Algoritma RESSOL 2 5 2 f x x f x x = − = 4 8 0mod11 f ≡ ≡ Karena 4 0mod11 f ≡ maka 4 adalah akar nonsingular. 4 8 7mod 11 f = ≡ 2 1 4 4 4 11.7 c c f f = − = − 2 73 48mod11 = − ≡ 3 2 48 4 48 2299.7 c c f f = − = − 3 16045 1258mod11 = − ≡ Solusi dari 2 3 5mod11 x ≡ adalah 3 1258mod11 x ≡ ± yaitu 1258 x = dan 73 x = . Jika 0mod j f c p ≡ dan 0mod f c p ≡ maka berdasarkan deret Taylor, 1 mod j j f c tp f a p + + ≡ untuk semua bilangan bulat t. Kemudian jika 1 0mod j f c p + ≡ maka 1 0mod j j f c tp p + + ≡ , sehingga sebuah akar mod j c p akan menghasilkan p buah akar 1 mod j p + . Tetapi jika 1 0mod j f c p + ≡ maka tidak ada solusi untuk 1 mod j p + . Contoh 5. Tentukan solusi dari 2 9mod 27 x ≡ . Jawab : 2 2 3 9mod 27 9 0mod 3 x x ≡ ⇔ − ≡ Solusi dari 2 9 0mod 3 x − ≡ adalah x = 0. 2 9 2 f x x f x x = − = 0mod 3 f ≡ Karena 0mod 3 f ≡ maka 0 adalah akar singular. 2 9 0mod 3 f = − ≡ , maka solusi mod 9 adalah x = 0, x = 0 + 3 = 3, x = 3 + 3 = 6 3 9 0mod 3 f = − ≡ , maka tak ada solusi mod 27 3 3 0mod 3 f ≡ , maka solusi mod 27 adalah x = 3, x = 3 + 9 = 12, x = 12 + 9 = 21 3 6 27 0mod 3 f = ≡ , maka solusi mod 27 adalah x = 6, x = 6 + 9 = 15, x = 15 + 9 = 24. Jadi solusi dari 2 9mod 27 x ≡ adalah x = 3, x = 6, x = 12, x = 15, x = 21 dan x = 24. Langkah penyelesaian untuk menentukan solusi dari kongruensi 2 mod j x a p ≡ dengan p bilangan prima ganjil dan bilangan bulat 2 j ≥ tersusun dalam algoritma berikut ini. 13 Algoritma 4 : Mencari akar kuadrat modulo j p , dengan p prima ganjil dan bilangan bulat 2 j ≥ . INPUT : Bilangan prima ganjil p , bilangan bulat 2 j ≥ dan 1 1 j a p ≤ ≤ − OUTPUT : Dua akar kuadrat a modulo j p . 1. Gunakan Algoritma RESSOL untuk mencari dua akar r dan –r yang merupakan solusi dari 2 mod x a p ≡ . 2. Tetapkan 2 f x x a = − dan 2 f x x = 3. Jika 0mod f r p ≡ , tentukan dan 1 1 1 mod j j j j r r f r f r p − − = − dengan 1 r r = . Solusinya dari 2 mod j x a p ≡ adalah mod j j x r p = ± . Jika 0mod f r p ≡ lanjut ke langkah 4. 4. Untuk 2, 3, ..., 1 k j = − berlaku jika 0mod k f r p ≡ maka k x r tp ≡ + dengan 1, 2, 3, ..., t p = merupakan solusi dari 2 1 mod k x a p + ≡ . Jika 0mod k f r p ≡ maka tak ada solusi dari 2 1 mod k x a p + ≡ . Langkah-langkah dalam Algoritma 4 dapat dilihat melalui bagan berikut ini. Ya Tak ada solusi dari 2 1 mod k x a p + ≡ Selesai Tidak Apakah 0mod f r p ≡ Solusinya adalah mod j j x r p ≡ ± Tetapkan 2 f x x a = − dan 2 f x x = RESSOL [ , ] a p Mulai Bilangan prima ganjil p, 2 j ≥ dan [1, 1] a p ∈ − Ya Apakah ada solusi mod x r p ≡ mod x r p ≡ − Hitung 1 f r − dan 1 1 1 mod j j j j r r f r f r p − − − = − dengan 1 r r = . Hitung mod k f r p untuk 2, 3, ..., 1 k j = − Apakah 0mod k f r p ≡ Tidak Ya k t x r tp ≡ + dengan 1, 2, 3, ..., t p = adalah Solusi dari 2 1 mod k x a p + ≡ Tidak Bagan 4. Algoritma mencari akar kuadrat mod j p , dengan p prima ganjil dan 2 j ≥ . 1 f r − 14

3.5 Membandingkan