You are on page 1of 24

27 Oktober 2010

METODE
FAKTORISASI
FERMAT DAN DIXON

ARIF FACHRU ROZI


Overview RSA
 Algoritma kunci publik yang terdiri dari 2
buah kunci publik dan kunci prifat.
Kunci publik (n,e) diketahui oleh umum dan
digunakan untuk proses enkripsi pesan.
Kunci prifat (n,d) dirahasiakan dan
digunakan untuk proses dekripsi pesan.
 “n” merupakan perkalian dua buah
bilangan prima yang besar.
Overview RSA
Variabel Pembangun RSA
n = p.q
p, q merupakan bilangan prima
e.d = 1 mod Ø(n)
∅(n) = (p-1) (q-1)
c = me mod (n)
m = cd mod (n)
Bilangan Intejer
 Bilangan prima adalah sebuah bilangan
asli yang lebih besar dari 1, tidak dapat
dibagi oleh bilangan asli selain bilangan
tersebut dan 1
 Teorema ( Fundamental Theorem of
Arithmetic) : “Setiap integer positif n > 1
dapat direpresentasikan sebagai
perkalian bilangan prima dan
representasi ini bersifat unik“
METODE FERMAT
Metode Fermat
Ide dasar dari metode faktorisasi Fermat
adalah: ”Setiap bilangan komposit ganjil
dapat dinyatakan sebagai selisih dari
dua buah bilangan kuadrat”.
n = x2 – y2 = (x-y)(x+y)
(x-y) dan (x+y) merupakan faktor dari ”n”
Algoritma Faktorisasi Fermat
 Input : bilangan integer ganjil positif “n”
 Output : Sebuah faktor dari “n”, atau
sebuah pesan “n” adalah prima
 
 Langkah 1 : Dimulai dengan n . Jika
n,lalu
x 2
x
merupakan faktor dari dan n
selesai;
jika tidak, naikan 1 nilai bilangan x dan
ke langkah 2
Algoritma Faktorisasi Fermat Lanj
 Langkah 2 : Jika x  (n  1) / 2, kemudian
merupakan bilangan prima dan selesai;
jika tidak hitung y  x 2  n
 Langkah 3 : Jika y merupakan sebuah
bilangan integer ( jika y  x 2  n )
2

kemudian mempunyai faktor (x+y) dan


(x-y) dan selesai; Jika tidak naikan 1
nilai bilangan x dan ke langkah 2
Contoh Fermat
 n = 1342127;
 Langkah 1;
Cari nilai ‘x” dimana x  n ; diperoleh nilai
x  1342127  1158,50

Krn x bukan faktor dari n maka ambil


nilai x = 1158 lalu naikkan 1 nilai
bilangan x;
Contoh Fermat Lanjutan
 Langkah 2
Hitung nilai x = (n+1)/2;
x = (1342127+1)/2 = 671064;
x bukan bilangan prima maka lanjut ke
langkah 3 hitung y  x 2  n
Contoh Fermat Lanj.
 Langkah 3
 Hitung y  x hingga
2
n diperoleh nilai “y”
merupakan bilangan integer, dengan
menambahkan nilai 1 pada bilangan x .
maka diperoleh nilai sebagai berikut :
x y  x2  n
1159 33,97
1160 58,97
1161 76,11
1162 90,09
1163 102,18
1164 113
Contoh Fermat Lanj.
Diperoleh nilai x = 1164; dan nilai y =
113.
Sehingga faktor bilangan “n” diperoleh :
(x+y) = 1164 + 113 = 1277;
(x-y) = 1164 – 113 = 1051;
Faktor bilangan 1342127 adalah 1277
dan 1051
Analisis
Metode Fermat efektif menemukan x
dan y jika dua buah bilangan tersebut
saling berdekatan. Akan tetapi, metode
ini tidak efektif bila dua buah bilangan x
dan y tidak saling berdekatan.
METODE DIXON
Metode Dixon
Ide dasar metode ini adala menguraikan
bilangan intejer besar bukan mencari
nilai x dan y yang menghasilkan n  x 2  y 2
namun mencari perbedaan kuadrat
modulo bilangan yang diuraikan
gcd( x  y,atau
n) gcd( x  y, n)
Karena n membagi x 2  y 2  ( x  y )( x  y )
Algoritma Dixon
1. Identifikasi factor base, yang merupakan
B-number
2. Cari bilangan-bilangan intejer positif
b  b   pi i (mod n)
2 
B  number
merupakan
bi mod n x
3. Produk dari menghasilkan
 pi (mod n)
 i

4. Produk dari yang berelasi dengan


bi mod n
produk tersebut
y menghasilkan
5. Hitung faktor-faktor dari n , yaitu :

gcd(x  y,atau
n) gcd( x  y, n)
Algoritma Dixon Lanj.
 Definisi Least Absolute Residue:
Suatu bilangan b mrpkn least absolute residue
dr a modulus n, dmn n adl bil ganjil jk:
a ≡ b (mod n) dan –(n-1)/2 ≤ b ≤ (n-1)/2
- Metode Dixon m’coba menemukan x dan y dg
menggunakan factor base;
- Factor Base
“Suatu factor base merupakan himpunan
B  { p1 , p2 ,..., ph }
bilangan pprima
1
yang berbeda
kecuali dapat berupa -1”
Algoritma Dixon Lanj.
Definisi B-number (B-smooth):
b 2  t (modmerupakan
n) B-number jika t
adalah least absolute residue modulu n,
h

dan t   p
i 1
i
i

dimana B={p1, p2, …, ph} adalah factor


base dan  i  0, untuk setiap i
Kompleksitas
Contoh Algoritma Dixon
 Akan dilakukan percobaan memfaktorkan
N=84923
 Langkah 1

Kita memilih factor base P={2,3,5,7}


 Langkah 2

Secara random kita mencari B-number


yang dimulai dari  n  hingga N.
Anggap kita peroleh 513 dan 537
Contoh Algoritma Dixon Lanj.
5132 = 8400 mod 84923 = 24 . 3 . 52 . 7
5372 = 33600 mod 84923 = 26 . 3 . 52 . 7
Jadi
(513.537)2 = (275481)2 mod 84923 = 210 . 32 .
54 . 72
 Langkah 3

Mencari bilangan x dari bi mod n;


(513.537)2 mod 84923 = (20712)2 mod 84923
x = 20712
Contoh Algoritma Dixon Lanj.
 Langkah 4
Produk dari  i (mod

pi
n) berelasi dengan
yang
produk tersebut menghasilkan
bi mod n
207122 mod 84923 y = (25 . 3 . 52 . 7)2

mod 84923 = 168002 mod 84923


 Langkah 5

Hitung faktor-faktor dari , yaitu :


84923 = gcd(20712 - 16800, n 84923) x
gcd(20712 + 16800, 84923) = 163 x 521
Analisis
Tingkat kesuksesan metode Dixon
sangat tergantung pada pencarian bi
dengan least absolute residue dari
2
bi mod n
Referensi
 Mathematics Cipher, SS Coutinho.1998
 Factorization and Primality Testing,
David M.Bressoud. 1988
 Teori dan Aplikasi Kriptografi, Sentot
Kromodimedjo. 2010
 Wikipedia,
Dixon's_factorization_method.htm

You might also like