• Tidak ada hasil yang ditemukan

( ) ( p) ( ) ( ) ( ) ( ) ( ) Lemma 2.15 Jika a memiliki order h( mod ) memiliki order ( mod m) m, maka. [Niven, 1991] III.

N/A
N/A
Protected

Academic year: 2021

Membagikan "( ) ( p) ( ) ( ) ( ) ( ) ( ) Lemma 2.15 Jika a memiliki order h( mod ) memiliki order ( mod m) m, maka. [Niven, 1991] III."

Copied!
11
0
0

Teks penuh

(1)

Lemma 2.15

Jika a memiliki order h

(

modm , maka

)

ak

memiliki order

( ) (

, mod

)

h m

h k .

[Niven, 1991] III. PEMBAHASAN

Pada bagian pendahuluan telah disebutkan bahwa tujuan dari penulisan ini adalah mempelajari teorema-teorema yang terkait solusi residu kuadratik dan mengkonstruksi algoritma untuk mencari solusinya, merekonstruksi Algoritma RESSOL beserta analisisnya, mengkonstruksi algoritma untuk mencari solusi

(

)

2 mod

xa pq dan x2a

(

modpj

)

serta

membandingkan waktu eksekusi algoritma yang terkait bilangan besar.

3.1 Teorema – Teorema yang Terkait Solusi Residu Kuadratik.

Definisi 3.1 [Akar kuadrat] Misalkan a Qn. Jika

(

)

* 2 mod n x x a n ∃ ∈ Ζ ∋ ≡

,

maka x dinamakan akar kuadrat dari a modulo n.

[Menezes, 1997] Mencari solusi dari x2 a

(

modn

)

tidaklah mudah, apalagi jika n adalah bilangan komposit yang tidak diketahui faktor primanya. Jika n adalah bilangan prima, maka ada beberapa teorema yang dapat digunakan untuk mencari solusinya.

Teorema 3.1

Jika p prima, (a,p) = 1 dan

(p1 / ,) (n p1) 1 mod

(

)

a − − p , maka kongruensi

xna

(

modp

)

…(i) mempunyai (n, p–1) solusi.

Jika a(p−1 / ,) (n p−1)≡/1 mod

(

p

)

maka

(

mod

)

n

xa p tidak mempunyai solusi. [Niven, 1991] Bukti :

Karena p prima maka berdasarkan Teorema 2.8, *

p mempunyai generator. Misal g adalah generator (mod p) maka berdasarkan Teorema 2.7 ada i dimana 0≤ ≤ − i p 2 sedemikian sehingga i (mod )

ga p …(ii)

Jika ada x yang merupakan solusi dari 0

(

mod

)

n

xa p maka

(

x p0,

)

= , sehingga 1 ada u dimana 0≤ ≤ − sedemikian u p 2 sehingga 0 u(mod )

xg p …(iii) Dari (i) , (ii) dan (iii) diperoleh

(

mod

)

( )

n (mod ) n u i xa pgg p gun gi(mod )p un i≡ (modp− 1) Misalkan k = (n, p -1).

Berdasarkan Teorema 2.11, un i≡ (modp− 1) mempunyai k solusi jika k i dan tidak | mempunyai solusi jika k i|/ .

Jika k i| maka i p( 1) 0(modp 1)

k

≡ −

(karena i

k adalah bilangan bulat) sehingga

( )

( )

(

)

1 ( 1) 1 1 mod p i p i p k k k a g g p − − − ≡ ≡ ≡

Jika k i|/ maka i p( 1) 0(modp 1)

k − ≡/ − dan berakibat ( )

(

)

1 ( 1) 1 mod p i p k k a g p − − ≡ ≡/ .

Dari Teorema 3.1 dapat kita ambil kasus khusus untuk n = 2

(

x2 a

(

modp

)

)

.

Akibat 3.2 [Kriteria Euler]

Jika p adalah bilangan prima ganjil,

( )

a p, =1 dan a(p−1 / 2) 1 mod

(

p

)

maka x2 a

(

modp

)

mempunyai 2 buah solusi.

Jika a(p−1 / 2) ≡ −1 mod

(

p

)

maka

(

)

2 mod

xa p tidak mempunyai solusi. [Niven, 1991] Bukti :

Berdasarkan Teorema 3.1 x2 a

(

modp

)

mempunyai (2,p− = buah solusi jika 1) 2

(p1 / 2) 1 mod

(

)

a p

.

Misal (p1) / 2

b a=, maka 2 (p1)

b =a.

(2)

2 (p1) 1(mod ) b =a p sehingga 1(mod ) b≡ ± p . Jika (p1) / 2 1(mod ) b ap = ≡ −

maka x2 a

(

modp

)

tidak mempunyai solusi

berdasarkan Teorema 3.1.

Dalam mencari solusi dari

(

)

2 mod

xa p dengan p prima ganjil ada beberapa hal yang perlu diperhatikan. Jika

0(mod )

ap maka solusinya adalah 0(mod )

xp . Jika a≡/0(mod )p maka

(

)

2 mod

xa p mungkin tidak mempunyai solusi tergantung kriteria Euler.

Jika x2a

(

modp

)

mempunyai solusi

maka solusinya ada 2. Misal x adalah salah 0

satu solusinya maka − adalah solusi x0

lainnya, karena 2 2

(

)

0 0

(−x ) =xa modp . Karena p ganjil maka x0 ≡ −/ x0(mod )p

sehingga x2a

(

modp

)

akan mempunyai 2

solusi yang berbeda.

Dalam hal x2a

(

modp

)

mempunyai

solusi, dari bukti Teorema 3.1 kita dapat menemukan solusinya apabila generator dari

*

p diketahui.

Dalam bukti tersebut terlihat bahwa solusi dari x2a

(

modp

)

adalah

(mod ) u

x gp dengan g adalah generator dari *

p, dan u adalah solusi dari 2u i≡ (modp−1) 2 1 (mod 1)

2

p

u

i

⇔ ≡

dengan i adalah bilangan genap sedemikian sehingga i (mod )

ga p .

Dari uraian di atas dapat dibuat sebuah algoritma untuk mencari solusi dari

(

)

2 mod

xa p .

Algoritma 1 :

Mencari solusi x2a

(

modp

)

dengan

terlebih dahulu mencari generator dari * p. INPUT : Bilangan prima ganjil p dan

bilangan bulat a, 1 ≤ a ≤ p-1. OUTPUT : Dua akar kuadrat a modulo p. 1. Hitung a(p−1 2) dengan Kriteria Euleur.

Jika a(p−1 2) ≡ −1 mod

(

p

)

maka a tidak

mempunyai akar kuadrat modulo p dan proses berhenti .

Jika a(p−1 2) 1 mod

(

p

)

lanjut ke langkah

2.

2. Cari generator dari *

p, misalkan generator tersebut adalah g.

3. Cari i sedemikian sehingga (mod )

i

ga p dengan 4. Cari u sedemikian sehingga

1 1

2 (mod )

2

p

u≡ −i

5. Solusinya adalah u(mod )

x gp Langkah-langkah dalam algoritma tersebut

dapat dilihat melalui bagan berikut ini.

Bagan 1. Algoritma mencari solusi

Tidak Ya

Hitung

(p1 2) (mod )

ap

Mulai

Bilangan prima panjil p dan a

[

1,p− 1

]

Apakah (p1 2) 1 mod

(

)

a p

(

)

2 mod xa p

tak punya solusi

Cari g = generator * p

(

)

2 mod xa p punya solusi Hitung (mod ) i g p dengan 0, 2, 4,..., 1 i= p− Apakah (mod ) i ga p Tidak Ya Hitung 1 1 2 (mod ) 2 p ui − Solusi adalah (mod ) u x gp Selesai

(

)

2 mod xa p 0, 2, 4,..., 1 i= p

(3)

Contoh 1:

Tentukan solusi dari x215 mod17

(

)

.

Jawab :

(17 1 2) 8

15 − 15 (mod 17) 1 (mod 17) Karena 15(17 1 2−) 1 (mod 17) maka

berdasarkan kriteria Euler x215 mod 17

(

)

mempunyai solusi. Generator dari *

17 adalah g = 3.

Mencari nilai i sehingga 3i ≡15(mod17)

i 0 2 4 6

3 (mod17)i 1 9 13 15 Dari tabel diperoleh nilai i adalah 6.

6 17 1

(mod )

2 2

u≡ − ≡3(mod 8)

Solusinya adalah x3310(mod17). Solusi satunya adalah − ≡ − ≡x 10 7(mod17). Jadi solusi dari x215 mod17

(

)

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

ga 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

xa p yaitu Algoritma RESSOL. Mencari solusi dari x2a

(

modp

)

memang tidak mudah, tetapi ada beberapa kasus untuk nilai p tertentu yang solusinya sudah dengan ditentukan. Misal untuk

3(mod 4)

p≡ maka solusi dari

(

)

2 mod xa p adalah x≡ ±a(p+1 / 4)

(

modp

)

karena

(

±a(p+1) / 4

)

2=a(p+1 / 2) =a(p−1 / 2) .aa

(

modp

)

. Berdasarkan Teorema 2.9,

(

)

2 1 mod

x ≡ − p mempunyai solusi jika dan hanya jika p= atau 2 p≡1(mod 4). Untuk

1(mod 4)

p≡ misalkan (p1) / 4(mod )

x zp

= ±

dengan z adalah suatu bilangan non residu

kuadratik yang ambil secara acak dalam * p. Berdasarkan Kriteria Euler diperoleh

(

)

2

(

)

2 (p1) / 4 (p 1) / 2 1 mod

x ±zz≡ − p .

Teorema 3.4

Jika a dan b relatif prima terhadap bilangan prima p, dan jika a dan b memiliki order

(

)

2 modj p dengan j> , maka ab memiliki 0

order 2 modj'

(

p untuk beberapa '

)

j < . j

[Niven, 1991] Bukti :

2

ord( ) 2 (mod )a j p a j 1(mod )p …(1), berdasarkan Teorema Fermat,

p1 1(mod )

a p …(2)

Dari persamaan (1) dan (2) diperoleh 2 | (j 1)

p− dan p > 2.

Ambil x a= 2j−1, karena ord( ) 2 (mod )a j p maka x a= 2j−1≡/1(mod )p tetapi

2 2j 1(mod )

x =ap sehingga berdasarkan Lemma 2.9 maka x a= 2j−1 ≡ −1(mod )p .

Dengan cara yang sama diperoleh 1 2 1(mod ) j b − ≡ − p , dan mengakibatkan

( )

2 1 2 1 2 1 ( 1)( 1) 1(mod ) j j j ab − =ab − ≡ − − ≡ p . Berdasarka Lemma 2.13 maka order dari ab membagi 2j−1

sehingga order dari ab adalah

'

2j untuk suatu 'j < . j

Teorema-teorema di atas menjadi landasan Algoritma RESSOL untuk mencari solusi dari x2 a

(

modp

)

dengan

p a Q∈ dan

p prima ganjil.

3.2 Konstruksi Algoritma RESSOL beserta Analisisnya.

Untuk mencari solusi x2 a

(

modp

)

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.

(4)

Langkah pertama menghitung

(p1 2) (mod )

ap dengan Kriteria Euleur. Jika (p1 2) 1 mod

(

)

a≡ − p maka x2a

(

modp

)

tidak mempunyai solusi.

Jika a(p−1 2) 1 mod

(

p

)

maka untuk

menentukan solusi dari x2a

(

modp

)

adalah mencari nilai k dan m dengan k > 0 dan

m ganjil sedemikian sehingga p− =1 2km.

Kemudian didefinisikan :

r a (m+1 / 2)

(

modp

)

…(1)

Jika kedua ruas persamaan (1) dikuadratkan, maka diperoleh :

r2a(m+1)

(

modp

)

r2a am. mod

(

p

)

.

Misalkan n a m

(

modp

)

, sehingga dapat ditulis : r2na

(

modp

)

…(2)

Jika n≡1 mod

(

p

)

, maka solusinya adalah

x≡ ±r

(

modp

)

.

Jika n1 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

c z m

(

modp

)

…(3) Jika kedua ruas persamaan (3) dipangkatkan dengan 2k, maka diperoleh :

2k 2km

c =z =zp−11 mod

(

p

)

…(4)

Berdasarkan Lemma 2.13, order dari c membagi 2k. Sementara itu, karena z adalah

nonresidu kuadratik maka

2k1 2k1m

c − =z=z(p−1 / 2) ≡ −1 mod

(

p

)

…(5)

Jadi order dari c adalah tepat 2k. Hal ini

dapat ditulis ord( ) 2c k atau

(

)

2k 1 mod

cp

.

Dengan cara yang sama diperoleh

2k 2km p 1 1 mod

(

)

n =a =a − ≡ p

…(6)

Dengan demikian order dari n membagi 2k

.

Dengan pengulangan kuadrat dapat ditentukan order dari n adalah 2k'.

Sementara itu n2k−1 a2k−1m a( )p−1 / 2

= = , karena

a adalah kuadratik residu mod p maka

n2k−1 =a( )p−1 / 2 ≡1 mod

(

p

)

…(7)

sehingga k'<k

.

Algoritma ini dimulai dengan proses pengulangan. Didefinisikan b c2k k− −'1

(

modp

)

…(8)

(

)

' mod rbr p …(9) c'b2

(

modp

)

…(10) n' ' mod≡c n

(

p

)

…(11) Dengan melakukan perkalian pada kedua ruas persamaan (2) oleh b2 diperoleh :

(

)

2 2 2 mod

b rb na p

dengan menggunakan persamaan (9), (10) dan (11) diperoleh :

(

)

2

' 'mod

ran p …(12) Dari persamaan (8) dan (10) diperoleh

(

)

2

' mod

cb p c2k k− −'1 2

(

modp

)

c2k k−'

(

modp

)

…(13)

Jika kedua ruas persamaan (13) dipangkatkan dengan 2k', maka diperoleh :

( )

2' 2 '2'

(

)

' mod k k k k ccp c2k

(

modp

) (

1 modp

)

. Sementara itu

( )

(

)

'1 ' '1 2 2 2 ' mod k k k k c c p − − − ≡ c2k−1

(

modp

)

≡ −1 mod

(

p

)

Dengan demikian c memiliki order tepat '

'

2k.

Karena ord( ) 2n k' dan ord( 'c) 2 k'

,

maka berdasarkan Teorema 3.4, order dari ' '(mod )

nc n p adalah 2k'' dengan 'k' '<k . Jika 'k ' 0= , maka n' 1 mod≡

(

p

)

, dan dengan menggunakan persamaan (12), maka solusi dari x2a

(

modp

)

adalah

(

)

'mod

x≡ ±r p .

Jika n'≡1 mod p maka '

(

)

k' 1> , dan kondisi ini serupa dengan ketika pengulangan dimulai, sehingga pengulangan dilakukan kembali sampai solusi diperoleh.

Langkah penyelesaian untuk menentukan solusi dari kongruensi x2 a

(

modp

)

(5)

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 a(p−1 2) dengan Kriteria Euleur.

Jika a(p−1 2) ≡ −1 mod

(

p

)

maka a tidak

mempunyai akar kuadrat modulo p dan proses berhenti .

Jikaa(p−1 2) 1 mod

(

p

)

lanjut ke langkah

2.

2. Cari k dan m, dengan m ganjil sehingga 1 2k

p− = m.

3. Hitung r a (m+1 / 2)

(

modp

)

dan

(

mod

)

m

n ap

.

4. Definisikan

r2an

(

modp

)

…( i )

Jika n≡1 mod

(

p

)

,

maka solusinya adalah x≡ ±r

(

modp

)

.

Jika n1 mod p , lanjut langkah 5.

(

)

5. Ambil *

p

z∈ secara acak yang nonresidu kuadratik, dan tetapkan

(

mod

)

m

c zp

. Sehingga ord(c) = 2

k

.

6. Dengan pengulangan kuadrat diperoleh ord(n) = 2k'

.

7. Tetapkan b c2k k− −'1

(

modp

)

,

(

)

' mod rbr p , c'b2

(

modp

)

dan

(

)

' ' mod nc n p dengan k'< k

8. Kalikan kedua ruas (i) dengan 'c .

Dengan demikian diperoleh

r'2an'mod

(

p

)

…(ii)

9. Jika n' 1 mod≡

(

p

)

, maka solusinya

adalah x≡ ±r'mod

(

p

)

.

Jika n'≡1 mod p , lakukan

(

)

pengulangan langkah (6) – (8), sampai diperoleh n' 1 mod≡

(

p

)

.

10. Solusinya adalah x≡ ±r'mod

(

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) O((lg ) )p 4 bit operasi.

[Menezes, 1997] Contoh 2.

Tentukan solusi darix213 mod 23

(

)

.

Jawab:

(23 1 2) 11

13 − 13 (mod 23) 1 (mod 23). Karena 13(23 1 2−) 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 + 13 (mod 23) 6 (mod 23)6 Karena r2 13 (mod 23)12 11 13 .13 (mod 23) ≡

dengan n13 (mod 23) 1 (mod 23)11 maka solusi dari x213 mod 23

(

)

adalah

6 (mod 23)

x≡ dan

6 (mod 23) 17 (mod 23)

x≡ − ≡

Jadi solusi dari x213 mod 23

(

)

adalah 6

(6)

Langkah-langkah dalam Algoritma RESSOL dapat dilihat melalui bagan berikut ini.

Algoritma RESSOL hanya dapat digunakan untuk mencari solusi dari

(

)

2 mod

xa p dengan p prima ganjil. Tetapi Algoritma RESSOL ini dapat dijadikan landasan untuk mencari solusi dari

(

)

2 mod ,

xa pq dengan p dan q prima ganjil, dan 2 (mod j)

xa p , dengan p prima ganjil dan bilangan bulat j≥2.

Hitung r a (m+1 / 2)

(

modp

)

dan n a m

(

modp

)

Tidak Tetapkan b c2k k− −'1

(

modp

)

,

(

)

' mod rbr p , c'b2

(

modp

)

,

(

)

' ' mod nc n p dengan k'< k Ya Selesai Tidak Ya Hitung (p1 2) (mod ) ap Mulai

Bilangan prima ganjil p dan a

[

1,p− 1

]

Apakah (p1 2) 1 mod

(

)

a p

(

)

2 mod xa p

tak punya solusi

Apakah

(

)

1 mod np Solusinya adalah

(

mod

)

x≡ ±r p

Misalkan z adalah bilangan nonresidu kuadratik yang diambil secara acak dalam *

p. Hitung c z m

(

modp

)

Hitung

(

)

2 ' 'mod ran p Apakah

(

)

' 1 mod np Tidak Ya Solusinya adalah

(

)

'mod x≡ ±r p

(

)

2 mod xa p punya solusi

(7)

3.3 Mengkontruksi Algoritma untuk Mencari Solusi x2a

(

modpq

)

dengan

p dan q bilangan prima ganjil.

Untuk mencari solusi kongruensi

(

)

2 mod ,

xa pq dengan p dan q prima ganjil, diawali dengan mencari terlebih dahulu solusi dari x2a

(

modp

)

dan

(

)

2 mod

xa q menggunakan Algoritma RESSOL.

Misalkan x2a

(

modp

)

mempunyai 2

solusi, yaitu

x r

(

modp

)

...(14) x≡ −r

(

modp

)

...(15) Misalkan x2≡a

(

modq

)

mempunyai 2 solusi, yaitu

x s

(

modq

)

...(16) x≡ −s

(

modq

)

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

xa pq

dan secara berurutan dapat dituliskan sebagai

(

)

1 ( )i xu modpq ,

(

)

2 ( )ii xv modpq ,

( )

iii x3≡ −u

(

modpq

)

,

(

)

4 ( )iv x ≡ −v modpq .

Keempat solusi ini merupakan solusi yang khas dari modulo pq.

Langkah penyelesaian untuk menentukan solusi dari kongruensi x2a

(

modpq

)

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 x2a

(

modp

)

.

2. Gunakan Algoritma RESSOL untuk mencari dua akar s dan –s yang merupakan solusi dari x2a

(

modq

)

.

3. Gunakan Algoritma Euclidean yang diperluas untuk mencari bilangan bulat c dan d sedemikian sehingga cp + dq = 1. 4. x≡(rdq scp+ )(modpq)

( )(mod )

yrdq scppq

5. Solusinya

adalah±x(modpq)dan±y(modpq) Algoritma di atas mempunyai waktu eksekusi (running time) 3

((lg ) )

O p bit operasi. [Menezes, 1997] Contoh 3.

Tentukan solusi dari x271 mod 77

(

)

.

Jawab Karena 77 = 7 . 11 maka

(

)

2

(

(

)

)

2 2 71 mod 7 ...( ) 71 mod 77 71 mod 11 ...( ) x i x x ii ≡ ≡ ⇔ ≡ (i) x271 mod 7

(

) (

1 mod 7

)

solusiya adalah x≡ ±1 mod 7

(

)

(ii) x271 mod 11

(

)

5 mod 11

(

)

solusiya adalah x≡ ±4 mod 11

(

)

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 = -15(mod 77) 48 (mod 77) -y = -29 (mod 77) 62 (mod 77)

Jadi 4 solusi dari x271 mod 77

(

)

yaitu

(8)

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)

xa p dengan

p prima ganjil dan j 2.

Untuk mencari solusi dari 2

(mod j)

xa p , dengan p prima dan j≥ , 2 dapat kita ubah bentuknya menjadi

2

0(mod j)

x − ≡a p . Kita misalkan f fungsi polinom dengan koefisien bilangan

bulat, 2

( )

f x =x − . Untuk mencari solusi a

dari polinom ( ) 0(mod j)

f xp … (18), kita mulai dari solusi modulo p, kemudian p2, p3, sampai j

p .

Misalkan x c= adalah sebuah solusi untuk ( ) 0(mod j)

f xp maka kita bisa

mencari solusi dari 1

( ) 0(mod j ) f x p + ≡ . Solusi dari 1 ( ) 0(mod 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 derajat/pangkat dari fungsi polinom f x . Karena ( ) 2

( )

f x =xa

polinom berderajat 2 dalam modulus j1

p + , maka deret Taylor’s tersebut menjadi

1 ( j) ( ) j '( ) (mod j ) f c tp f c tp f c p+ + = +

.

Karena 1 ( j) 0(mod j ) f c tp p + + ≡ maka

persamaan diatas dapat kita ubah menjadi 1 ( ) j '( ) 0 (mod j ) f a +tp f c p + . Karena ( ) 0(mod j) f xp mempunyai solusi

x c= maka kita dapatkan ( ) '( ) f cj (mod )

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 'f c( ) 0(mod )≡/ 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 ( ) 0(mod j)

f cp dan

'( ) 0(mod )

f c ≡/ p maka ada bilangan bulat t (mod )p yang tunggal sedemikian sehingga

1 ( j) 0(mod 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 a∈[1,pq− 1]

Apakah

ada solusi ada solusi Apakah

(

mod

)

x rp

(

mod

)

x≡ −r p

(

mod

)

x sq

(

mod

)

x≡ −s q Solusinya adalah (mod ) (mod ) x n y n ± ±

(

)

( ) mod xrdq scp+ n

(

)

( ) mod yrdq scpn

(9)

Bukti dari Lemma Hensel’s tidak dicantumkan karena di luar jangkauan pembahasan.

Jika f c'( ) 0(mod )p dan ( ) 0(mod j)

f cp maka bilangan bulat c disebut akar nonsingular. Jika

'( )

f c 0(mod )p dan f c'( ) 0(mod )≡ p

maka c disebut akar singular.

Dari Lemma Hensel’s kita lihat bahwa sebuah akar nonsingular c(mod )p

menghasilkan sebuah akar 2 2(mod )

c p .

Karena c2c(mod )p maka 2

'( ) '( ) 0(mod )

f cf 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

(

f r'( )

)

−1 adalah sebuah bilangan bulat sedemikian sehingga

(

)

1

'( ) '( ) 1(mod )

f c f r − ≡ p .

Contoh 4.

Tentukan solusi dari x25(mod11 )3 .

Jawab : 2 3 2 3 5(mod11 ) 5 0(mod11 ) x ≡ ⇔x − ≡ Solusi dari 2 5 0(mod11) x − ≡ adalah x = ±4 (mengunakan Algoritma RESSOL)

2

( ) 5 '( ) 2

f x =xf x = x

'(4) 8 0(mod11)

f ≡ ≡/

Karena 'f (4) 0(mod11)≡/ maka 4 adalah akar

nonsingular. '(4) 8 7(mod11) f =

2 1 (4) '(4) 4 11.7 c = −c f f = − = − ≡73 48(mod11 )2 3 2 (48) '(4) 48 2299.7 c =cf f = − = −16045 1258(mod11 ) 3

Solusi dari x25(mod11 )3 adalah

3 1258(mod11 ) x≡ ± yaitu x=1258 dan 73 x= . Jika ( ) 0(mod j) f cp dan '( ) 0(mod )

f cp maka berdasarkan deret Taylor, ( j) ( )(mod j1)

f c tp f a p +

+ ≡ untuk

semua bilangan bulat t.

Kemudian jika ( ) 0(mod j1)

f c p+

≡ maka ( j) 0(mod j1)

f c tp+ p+ , sehingga

sebuah akar (mod j)

c p akan menghasilkan p

buah akar (mod j1)

p+ . Tetapi jika 1

( ) 0(mod j )

f c ≡/ p+ maka tidak ada solusi untuk (mod j1)

p+ . Contoh 5.

Tentukan solusi dari x29(mod 27). Jawab :

2 9(mod 27) 2 9 0(mod 3 )3

x ≡ ⇔x − ≡

Solusi dari x2− ≡9 0(mod 3) adalah x = 0. 2

( ) 9 '( ) 2

f x =xf x = x

'(0) 0(mod 3)

f

Karena 'f (0) 0(mod 3)≡ maka 0 adalah akar singular.

2 (0) 9 0(mod 3 )

f = − ≡ , maka solusi mod 9 adalah x = 0, x = 0 + 3 = 3, x = 3 + 3 = 6

3 (0) 9 0(mod 3 )

f = − ≡/ , maka tak ada solusi mod 27

3 (3) 0(mod 3 )

f ≡ , maka solusi mod 27 adalah x = 3, x = 3 + 9 = 12, x = 12 + 9 = 21

3 (6) 27 0(mod 3 )

f = ≡ , maka solusi mod 27 adalah x = 6, x = 6 + 9 = 15, x = 15 + 9 = 24.

Jadi solusi dari x29(mod 27) adalah x = 3,

x = 6, x = 12, x = 15, x = 21 dan x = 24.

Langkah penyelesaian untuk menentukan solusi dari kongruensi x2 a

(

modpj

)

dengan p bilangan prima ganjil dan bilangan bulat j≥ tersusun dalam algoritma berikut 2 ini.

(10)

Algoritma 4 :

Mencari akar kuadrat modulo j

p , dengan p

prima ganjil dan bilangan bulatj≥ . 2 INPUT : Bilangan prima ganjil p , bilangan bulat j≥ dan 12 ≤ ≤a pj− 1 OUTPUT : Dua akar kuadrat a modulo j

p .

1. Gunakan Algoritma RESSOL untuk mencari dua akar r dan –r yang merupakan solusi dari x2≡a

(

modp

)

. 2. Tetapkan f x( )=x2− dan '( ) 2a f x = x 3. Jika '( ) 0(mod )f r ≡/ p , tentukan

dan

(

1 ( 1) '( ) (mod1

)

) j

j j j

r = rf r f r p

dengan r1= . r Solusinya dari

(

)

2 mod j

xa p adalah (mod j)

j

x= ±r p .

Jika 'f r( ) 0(mod )≡ p lanjut ke langkah 4.

4. Untuk k=2, 3,...,j− berlaku jika 1

)

( ) 0(mod k

f rp maka x r tp≡ + k dengan t=1, 2, 3,...,p merupakan solusi dari x2≡a(modpk+1).

Jika f r( ) 0(mod≡/ pk) maka tak ada solusi dari x2≡a(modpk+1).

Langkah-langkah dalam Algoritma 4 dapat dilihat melalui bagan berikut ini.

Ya

Tak ada solusi dari x2a(modpk+1) Selesai Tidak Apakah '( ) 0(mod ) f rp Solusinya adalah (mod j) j x≡ ±r p Tetapkan f x( )=x2a dan 'f x( ) 2= x RESSOL [ , ]a p Mulai

Bilangan prima ganjil p, 2

j≥ dana∈[1,p− 1]

Ya Apakah

ada solusi x rx≡ −

(

rmod

(

modp

)

p

)

Hitung ( 'f r( ))−1dan

(

1

)

1 ( 1)( '( )) (mod ) j j j j r r f r f rp − − = − dengan r1= . r Hitung f r( )(modp k) untuk k =2, 3,...,j− 1 Apakah ) ( ) 0(mod k f rp Tidak Ya xt ≡ +r tpk dengan t=1, 2, 3,...,p adalah Solusi dari x2a(modpk+1) Tidak

Bagan 4. Algoritma mencari akar kuadrat modp , dengan p prima ganjil dan j j≥ . 2

(

)

1

'( )

(11)

3.5 Membandingkan waktu eksekusi Algoritma 1 dengan Algoritma RESSOL yang terkait bilangan besar. Pada bagian ini akan dibandingkan waktu eksekusi Algoritma 1 dengan Algoritma RESSOL. Implementasi dari Algoritma 1 dan Algoritma RESSOL menggunakan perangkat lunak Mathematica 5.2 dapat dilihat di lampiran.

Tabel 1 adalah waktu eksekusi dari Algoritma 1 dan Algoritma RESSOL menggunakan perangkat lunak Mahtematica 5.2. Nilai p adalah bilangan prima yang ditentukan terlebih dahulu, sedangkan a adalah bilangan bulat positif yang diambil secara acak dalam *

p.

Tabel 1. Waktu Eksekusi Algoritma 1 dan Algoritma RESSOL

Waktu Eksekusi (detik)*

p a Algoritma 1 Algoritma RESSOL 25 0,0015 0,0015 97 89 0,0016 0,0016 507 0,0031 0,0031 377 0,0024 0,0024 541 64 0,0021 0,0021 149 0,0047 0,0047 77 0,0024 0,0024 997 694 0,0069 0,0069 3095 0,0098 0,0098 1548 0,0081 0,0081 3571 814 0,0076 0,0076 979 0,0151 0,0015 3962 0,0162 0,0016 1271 0,0153 0,0031 7919 5858 0,0204 0,0024 5274 0,0315 0,0021 7087 0,0316 0,0047 11012 0,0167 0,0024 4355 0,0318 0,0069 12553 8836 0,0319 0,0098 14229 0,2048 0,0081 35517 0.2817 0,0076 76305 0,1566 0,0098 49617 0,2505 0,0081 1630 0,2664 0,0076 104729 44704 0,2813 0,0069 592085 0,6092 0,0015 467495 1,6251 0,0016 231000 0,5782 0,0031 96620 1,3753 0,0024 136341 0,8444 0,0021 399632 1,2815 0,0047 611953 541897 0,6256 0,0024 328426 1,2657 0,0069 671944 2,1888 0,0098 231057 1,4539 0,0081 601890 3,8138 0,0076 825496 1,2037 0,0015 290150 3,8286 0,0016 1299709 291949 2,7545 0,0031 3090665 22,0474 0,0024 5210769 42,5473 0,0021 14621620 26,8592 0,0047 14141212 13,9061 0,0024 12920893 31,9062 0,0069 5871391 37,2353 0,0098 15485863 9473376 15,9844 0,0021 Dari data Tabel 1 dapat diambil kesimpulan bahwa waktu eksekusi Algoritma RESSOL lebih cepat dibandingkan Algoritma 1.

Algoritma 1 tidak efisien untuk nilai p yang besar yaitu p > 1.000.000, sedangkan Algoritma RESSOL lebih efisien untuk nilai p yang besar.

Berdasarkan hasil percobaan (Tabel 2), Algoritma RESSOL masih dapat digunakan untuk mencari solusi x2a(mod )p untuk nilai p yang sangat besar, yaitu p =

29.996.224.275.833.

Tabel 2. Waktu Eksekusi Algoritma RESSOL

p a Eksekusi Waktu (detik)* 424613597121 0,0159 10878246026665 0,0178 5887477973699 0,0167 20786675373559 0,0206 1574940209207 0,0185 5641355712333 0,0194 10073237724502 0,0153 27504498309348 0,0212 7273523082800 0,0143 29996224275833 18488184417987 0,0134 *)menggunakan komputer P4 3,0GHz 512MB

Gambar

Tabel 2.  Waktu Eksekusi Algoritma RESSOL

Referensi

Dokumen terkait

BPR BKK Boyolali mengatur bahwa jika debitur lalai atau cidera janji dan melakukan wanprestasi, maka kreditur selaku penerima fidusia berhak untuk melakukan eksekusi dengan

Kebijakan yang dilakukan oleh perusahaan pada saat keadaan stockout terjadi yaitu meminjam dari kantor PT MTS cabang yang lain... Selain itu jumlah bedasarkan data

Hasil wawancara dengan ketiga guru yang peneliti lakukan pada saat peneliti menanyakan mengenai anak hiperaktif, ketiga guru mengatakan bahwa ada beberapa anak yang tidak bisa diam

Berdasarkan identifikasi masalah tersebut dan demi keefektifan penelitian ini, pembatasan masalah dalam penelitian ini adalah pengaruh model pembelajaran kooperatif

Hutan mangrove atau yang sering disebut dengan hutan bakau merupakan komunitas vegetasi pantai tropis yang didalamnya didominasi oleh beberapa jenis tumbuhan

Hermawan dan Maf’ulah (2014), Lulukiyyah (2014), Chuzaimah dan Amalina (2014) meneliti terkait dengan kinerja perusahaan dan hasil penelitian menunjukan bahwa kinerja

jka kita selalu lukis bentuk market trade Bank ...lurus..Merata... sampai melekat di minda separa sedar kita.. minda separa sedar kita hidup.. tetiba..di satu hari

Untuk bubu laut dalam biasanya digunakan rangka berupa besi massif (kokoh). Hal ini bertujuan agar bubu dapat bertahan dengan baik selama dioperasikan di dalam