fermat dan dixon
TRANSCRIPT
METODE FAKTORISASIFERMAT DAN
DIXON
ARIF FACHRU ROZI
27 Oktober 2010
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 RSAn = 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 . Jika
, lalu merupakan faktor dari dan selesai;
jika tidak, naikan 1 nilai bilangan dan ke langkah 2
n2xn x n
x
Algoritma Faktorisasi Fermat Lanj Langkah 2 : Jika ,
kemudian merupakan bilangan prima dan selesai; jika tidak hitung
Langkah 3 : Jika merupakan sebuah bilangan integer ( jika ) kemudian mempunyai faktor (x+y) dan (x-y) dan selesai; Jika tidak naikan 1 nilai bilangan dan ke langkah 2
2/)1( nx
y
nxy 2
nxy 22
x
Contoh Fermat
n = 1342127; Langkah 1;
Cari nilai ‘x” dimana ; diperoleh nilai
Krn x bukan faktor dari n maka ambil nilai x = 1158 lalu naikkan 1 nilai bilangan x;
nx
50,11581342127 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 nxy 2
Contoh Fermat Lanj.
Langkah 3 Hitung hingga diperoleh nilai
“y” merupakan bilangan integer, dengan menambahkan nilai 1 pada bilangan x .
maka diperoleh nilai sebagai berikut :
nxy 2
1159 33,97
1160 58,97
1161 76,11
1162 90,09
1163 102,18
1164 113
x nxy 2
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 namun mencari perbedaan kuadrat modulo bilangan yang diuraikan
atau
Karena membagi
22 yxn
),gcd( nyx ),gcd( nyx n ))((22 yxyxyx
Algoritma Dixon1. Identifikasi factor base, yang merupakan
B-number
2. Cari bilangan-bilangan intejer positifmerupakan
3. Produk dari menghasilkan
4. Produk dari yang berelasi dengan produk tersebut menghasilkan
5. Hitung faktor-faktor dari , yaitu :
atau
)(mod2 npbb ii numberB
nbi mod x)(modnp i
i
nbi mody
n),gcd( nyx ),gcd( nyx
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 bilangan prima yang berbeda kecuali dapat berupa -1”
},...,,{ 21 hpppB 1p
Algoritma Dixon Lanj.
Definisi B-number (B-smooth): merupakan B-number jika
t adalah least absolute residue modulu n, dan
dimana B={p1, p2, …, ph} adalah factor base dan 0, untuk setiap i
)(mod2 ntb
h
iiipt
1
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 hingga N.
Anggap kita peroleh 513 dan 537 n
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 yang berelasi dengan produk tersebut menghasilkan
207122 mod 84923 = (25 . 3 . 52 . 7)2
mod 84923 = 168002 mod 84923 Langkah 5
Hitung faktor-faktor dari , yaitu :
84923 = gcd(20712 - 16800, 84923) x gcd(20712 + 16800, 84923) = 163 x 521
)(modnp ii
nbi mod
y
n
Analisis
Tingkat kesuksesan metode Dixon sangat tergantung pada pencarian bi dengan least absolute residue dari
mod n2ib
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