Misalkan g adalah bilangan bulat positif lebih kecil n dan lebih besar sama dengan 2 (2<= g <=
n). g disebut generator modulo n atau akar primitif dari n jika g^a (a = 1 sampai n)
menghasilkan bilangan 1 sampai n-1 dengan urutan acak. Biasanya n yang kita gunakan adalah
bilangan prima
Contoh:
Buktikan apakah 9 adalah generator modulo 11. Artinya apakah 9^a menghasilkan bilangan 1
sampai 10, jika a = 1 .. 10?
Usaha pertama kita adalah mencoba menghitung 9^a (mod 11) untuk a= 1 sampai 10
Tabel berikut menunjukkan bahwa 31 bukan generator modulo 37. Tabelnya sengaja saya
potong karena sudah terjadi perulangan.
Terjadi perulangan
Karena tabelnya terlalu panjang untuk dijadikan gambar, maka saya langsung lampirkan file
excel-nya. Silahkan coba dengan bilangan g yang lain.
a 17^a (mod 37)
1 17
2 30
3 29
4 12
5 19
6 27
7 15
8 33
9 6
10 28
11 32
12 26
13 35
14 3
15 14
16 16
17 13
18 36
19 20
20 7
21 8
22 25
23 18
24 10
25 22
26 4
27 31
28 9
29 5
30 11
31 2
32 34
33 23
34 21
35 24
36 1
Cara coba semua kemungkinan bukanlah cara yang efisien kalau n yang kita gunakan besar.
Kita harus melakukan perulangan sebanyak (n-1) kali.
Cara cepat untuk menunjukkan apakah g generator modulo n atau tidak dapat dilakukan
dengan langkah-langkah sbb:
Contoh:
(1) n = 13 dan g = 8
1. faktor prima 12 = 2 dan 3, karena 12 = 2x2x3. Jadi f 1 = 2 dan f2 = 3. 12/2 =6 dan 12/3=4
2. Hitung 8^4 (mod 13) = 1. Karena kita peroleh nilai 1, maka tidak ada gunanya kita
mencoba menghitung 8^6 (mod 13)
(2) n= 13 dan g = 9
Hitung:
Untuk perhitungan di atas saya hanya menggunakan kalkulator windows, karena bilangan n kita
masih kecil.
Anda boleh mencoba bilangan g yang lain (g yang boleh dicoba dari 2 sampai 12)