diff --git a/topik6.tex b/topik6.tex
index 250aadb01673322644537352d468eee5006da289..7e9ef4050d5f9c361428539948f6a0db20591091 100644
--- a/topik6.tex
+++ b/topik6.tex
@@ -2,10 +2,10 @@
 
 \section{Pendahuluan}
 
-Discrete Log Problem adalah suatu permasalahaan yang tingkat kesusahan nya sangat ditentukan oleh angka yang digunakan. Tingkat kesulitan dari permasalahan ini sering digunakan sebagai basis keamanan dari banyak sistem kripto. Beberapa diantaranya adalah \textit{\textbf{Diffie-Helmann Key Agreement}}, \textit{\textbf{Digital Signature Algorithm}} dan lainnya. Salah satu algoritma yang cukup handal dalam mengatasi permasalahan ini adalah \textit{\textbf{Index Calculus Method}} yang akan dibahas lebih lanjut.
+Discrete Log Problem adalah suatu permasalahaan yang tingkat kesusahannya sangat ditentukan oleh angka yang digunakan. Tingkat kesulitan dari permasalahan ini sering digunakan sebagai basis keamanan dari banyak sistem kripto. Beberapa diantaranya adalah \textit{\textbf{Diffie-Helmann Key Agreement}}, \textit{\textbf{Digital Signature Algorithm}} dan lainnya. Salah satu algoritma yang cukup handal dalam mengatasi permasalahan ini adalah \textit{\textbf{Index Calculus Method}} yang akan dibahas lebih lanjut.
 
 \subsection{Discrete Logarithm Problem}
-\textbf{\textit{Discrete Logarithm}} adalah logaritma yang berkaitan dengan \textit{multiplicative cyclic group}. Misalkan \textit{G} adalah sebuah \textit{multiplicative cyclic group} dan \textit{g} adalah generator dari \textit{G}, maka dari definisi grup siklik, kita tahu setiap elemen \textit{h} dalam \textit{G} dapat ditulis sebagai $g^x$ untuk beberapa x. \textit{\textbf{Discrete Logarithm}} ke dasar \textit{g} dari \textit{h} dalam group \textit{G} didefinisikan sebagai x. Sebagai contoh, misalkan group nya adalah $Z_5{^*}$, dan generator nya adalah 2, maka \textit{\textbf{Discrete Logarithm}} 1 adalah 4 karena  24 $\equiv$ 1 mod 5.
+\textbf{\textit{Discrete Logarithm}} adalah logaritma yang berkaitan dengan \textit{multiplicative cyclic group}. Misalkan \textit{G} adalah sebuah \textit{multiplicative cyclic group} dan \textit{g} adalah generator dari \textit{G}, maka dari definisi grup siklik, kita tahu setiap elemen \textit{h} dalam \textit{G} dapat ditulis sebagai $g^x$ untuk beberapa x. \textit{\textbf{Discrete Logarithm}} ke dasar \textit{g} dari \textit{h} dalam group \textit{G} didefinisikan sebagai x. Sebagai contoh, misalkan group-nya adalah $Z_5{^*}$, dan generator nya adalah 2, maka \textit{\textbf{Discrete Logarithm}} 1 adalah 4 karena  24 $\equiv$ 1 mod 5.
 
 \hfill
 \\
@@ -18,102 +18,109 @@ Bilangan prima aman adalah bilangan prima yang sama dengan 2q + 1 di mana q adal
 
 \subsection{Pengertian Index Calculus}
 
-Index calculus dikenal sebagai algoritma yang dapat menyelesaikan permasalahan discrete log. Permasalahan tersebut dapat dipecahkan dengan menggunakan persamaan: 
-\[g^x = h (mod p)\] 
-dengan syarat p adalah bilangan prima. Selain memecahkan secara langsung, persamaan tersebut juga dapat diselesaikan dengan cara mencari sebuah nilai B, dimana akan diperoleh nilai l yang lebih kecil daripada B yang memenuhi persamaan:  Dari persamaan tersebut dapat dihitung discrete \[log_g (l)\]
+\textit{Index calculus} dikenal sebagai algoritma yang dapat menyelesaikan permasalahan \textit{discrete log}. Permasalahan tersebut dapat dipecahkan dengan menggunakan persamaan: 
+\[g^x \equiv h\ (mod\ p)\] 
+dengan syarat p adalah bilangan prima. Selain memecahkan secara langsung, persamaan tersebut juga dapat diselesaikan dengan cara mencari sebuah nilai B, dimana akan diperoleh nilai $\ell$ yang lebih kecil daripada B yang memenuhi persamaan:  Dari persamaan tersebut dapat dihitung discrete log_g (\ell)
 
 \section{Serangan Index Calculus}
-Serangan untuk index calculus dapat dilakukan dengan menggunakan nilai \textit{B-Smooth}. \textit{B-Smooth} merupakan bilangan integer positif yang memiliki bilangan faktor prima yang tidak lebih besar dari bilangan B tersebut. Sebagai contoh:  \textit{B-Smooth} dari bilangan 1620 adalah 5. Atau dapat ditulis: 1620 adalah \textit{5-Smooth}. Hal ini dikarenakan bilangan faktor prima dari 1620 $\le$ 5, yaitu: \[1620 = 2^3 \times 3^4 \times 5, (B = {2,3,5})\] 
-
-\paragraph{}
+Serangan untuk index calculus dapat dilakukan dengan menggunakan nilai \textit{B-Smooth}. \textit{B-Smooth} merupakan bilangan integer positif yang memiliki bilangan faktor prima yang tidak lebih besar dari bilangan B tersebut. Sebagai contoh:  \textit{B-Smooth} dari bilangan 1620 adalah 5. Atau dapat ditulis: 1620 adalah \textit{5-Smooth}. Hal ini dikarenakan 1620 tidak memiliki bilangan faktor prima yang lebih besar dari 5. Adapun faktorisasi dari 1620 yaitu: \[1620 = 2^2 \cdot 3^4 \cdot 5, \ \ \ \ \ (B = {2, 3, 5})\] 
+\hfill
+\\
 Contoh:
-\[37^x = 211 (mod 18443))\] 
+Bilangan prima \textit{p} = 18443 dan menggunakan \textit{index calculus} untuk memecahkan permasalahan \textit{discrete logarithm}
+\[37^x \equiv 211\ (mod\ 18443)\] 
 Diketahui:
-g = 37, p = 18443 (prima), B = 5 (faktor basis primanya = {2,4,5})
+g = 37 adalah primitive root modulo \textit{p} = 18443 (prima), B = 5 (faktor basisnya adalah himpunan bilangan prima \{2, 3, 5\})
 
-\paragraph{}
-Setelah ratusan kali percobaan ditemukanlah empat persamaan, yaitu: 
+\hfill
+\\
+Mengambil secara random g = 37 modulo 18443 dan memilih yang menghasilkan \textit{B-smooth}. Setelah ratusan kali percobaan ditemukanlah empat persamaan, yaitu: 
 
-\[g^{12708} = 2^3 \times 3^4 \times 5\ (mod\ 18443)\]
-\[g^{15400} =  2^3 \times 3^3 \times 5\ (mod\ 18443)\]
-\[g^{11311} = 2^3 \times 5^2\ (mod\ 18443)\]
-\[g^{2731} = 2^3 \times 3 \times 5^4\ (mod\ 18443)\]
+\[g^{12708} \equiv 2^3 \cdot 3^4 \cdot 5\ (mod\ 18443)\]
+\[g^{15400} \equiv  2^3 \cdot 3^3 \cdot 5\ (mod\ 18443)\]
+\[g^{11311} \equiv 2^3 \cdot 5^2\ (mod\ 18443)\]
+\[g^{2731} \equiv 2^3 \cdot 3 \cdot 5^4\ (mod\ 18443)\]
 
-Dari beberapa persamaan yang dihasilkan, maka kita dapat membentuk persamaan linear dengan logaritma basis g. contoh persamaannya dapat dilihat seperti berikut :
+Dari beberapa persamaan yang dihasilkan, maka kita dapat membentuk persamaan linear dengan logaritma basis \textit{g}. Contoh persamaannya yaitu seperti berikut :
+\[12708 = 3 \cdot log_{g}(2) + 4 \cdot log_{g}(3) + log_{g}(5)\]
+Jika $x_2$ =  $log_{g}(2)$ , $x_3$ =  $log_{g}(3)$ , $x_5$ =  $log_{g}(5)$, maka dihasilkan:
+\[12708 = 3x_2 + 4x_3 + x_5\ (mod\ 18442)\]
+\[11311 = 3x_2 \ \ \ \ \ \ \ + 2x_5\  (mod\ 18442)\]
+\[15400 = 3x_2 + 3x_3 + x_5\ (mod\ 18442)\]
+\[2731  = 3x_2 +  x_3 + 4x_5\ (mod\ 18442)\]
 \\
-12708=3 $\cdot$ $log_{g}(2)$ + 4 $\cdot$ $log_{g}(3)$ + $log_{g}(5)$
+Adapun p - 1 = 18442 = 2 $\cdot$ 9221 \ karena \textit{discrete logarithm} didefinisikan hanya modulo p - 1 dan 9221 merupakan bilangan prima. Keempat persamaan diatas menghasilkan nilai $x_2$ = 5733, $x_3$ = 15750, dan $x_5$ = 6277
 \hfill
 \\
-\\ jika $x_2$ =  $log_{g}(2)$ , $x_3$ =  $log_{g}(3)$ , $x_5$ =  $log_{g}(5)$, maka dapat kita hasilkan: \vspace{0.1in}
-\\ 12708 = 3$x_2$ + 4$x_3$ + $x_5$ (mod 18442)
-\\ 11311 = 3$x_2$          +2$x_5$ (mod 18442)
-\\ 15400 = 3$x_2$ + 3$x_3$ + $x_5$ (mod 18442)
-\\ 2731  = 3$x_2$ +  $x_3$ +4$x_5$ (mod 18442)
-\\ keempat persamaan diatas menghasilkan nilai $x_2$ = 5733, $x_3$ = 15750, $x_5$ = 6277
-\\ solusi dari persamaan diatas dapat dibuktikan dengan menghitung
-\\ $37^{5733}  = 2 (mod 18443)$
-\\ $37^{15750} = 3 (mod 18443)$
-\\ $37^{6277}  = 5 (mod 18443)$
+Solusi dari persamaan diatas dapat dibuktikan dengan menghitung
+\[37^{5733}  \equiv 2\ (mod\ 18443)\]
+\[37^{15750} \equiv 3\ (mod\ 18443)\]
+\[37^{6277}  \equiv 5\ (mod\ 18443)\]
 
 \hfill
 \\
-Untuk mendapatkan nilai \textit{k} dapat digunakan rumus berikut:
-\[h \cdot  g^{-k} (mod\ p)\ \ \ \ \ \ \ \ \ \ \ ; for\ \textit{k} = 1, 2\]
+Adapun tujuan utama kita adalah memecahkan permasalahan \textit{discrete logarithm}
+37^x  \equiv 211\ (mod\ 18443)
+
 
 \hfill
 \\
-Cari nilai \textit{k} sehingga hasil dari modulo merupakan B-smooth
-\[h \cdot g^{-k}  \equiv  \prod  \limits _{\ell \le B} \ell ^ {e_\ell}  (mod p) \]
+Hitung nilai 211 $\cdot$ $ 37^{-k}\ (mod\ 18443) $ untuk nilai acak \textit{k} sehingga menemukan nilai B-smooth
+
 \hfill
 \\
-Jadi, bagaimana cara untuk mendapatkan hasil
-$37 ^ x$  $ \equiv$ 211 (mod 18443) ?
+Untuk mendapatkan nilai \textit{k} dapat digunakan rumus berikut:
+\[h \cdot  g^{-k} (mod\ p)\ \ \ \ \ \ \ \ \ \ \ ; for\ \textit{k} = 1, 2\]
 
 \hfill
 \\
-Hitung nilai 211 $\cdot$ $ 37^{-9549} (mod 18443) $ untuk nilai acak \textit{k} sehingga menemukan nilai B-smooth
+Cari nilai \textit{k} sehingga hasil dari modulo merupakan B-smooth
+\[h \cdot g^{-k}  \equiv  \prod  \limits _{\ell \le B} \ell ^ {e_\ell}  (mod p) \]
+
 
 \hfill
 \\
-211 $\cdot$ $ 37^{-9549}$ $\equiv$ $2^5$ $\cdot$ $3^2$ $\cdot$ $5^2$ (mod 18443)
+Setelah beberapa kali percobaan, didapatkan bahwa
+\[211 \cdot 37^{-9549} \equiv 2^5 \cdot 3^2 \cdot 5^2\ (mod\ 18443)\]
 
 \hfill
 \\
-Jadi setelah didapat nilai k, dimana nilai k adalah 9549 maka
-\\
-$log_g(211) = 9549 + 5 log_g(2) + 2 log_g(3) + 2 log_g(5)$ (mod 18442)
+Jadi, setelah didapat nilai \textit{k} dimana nilai \textit{k} adalah 9549 maka kita hitung
+\[\log_g(h) \equiv k + \sum_{\ell \le B} {e_\ell} \cdot \log_g (\ell) \ (mod\ p-1)\]
 \hfill
 \\
-= 9549 + 5 . 5733  + 2 . 15750 + 2 . 6277 (mod 18442)
-= 8500
-
+Sehingga didapat:
 \hfill
 \\
-Setelah itu kita bisa mendapatkan jawaban atas pertanyaan kita $log_g (211) = 8500$, dengan menghitung:
-\\
-$37^8500 \equiv 211$ mod 18443
+\[log_g(211) = 9549 + 5\ log_g(2) + 2\ log_g(3) + 2\ log_g(5)\]
+\[\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ = 9549\ +\ 5\ \cdot \ 5733\ +\ 2\ \cdot \ 15750\ +\ 2\ \cdot \ 6277\ \equiv 8500\ (mod\ 18442)\]
 
 \hfill
 \\
-Metode Index Calculus ini memiliki "running time" yang subexponential, artinya jika p = 2q + 1, prime dari q harus dipilih yang cukup besar
+Akhirnya kita bisa melakukan pengecekan jawaban $log_g(211) = 8500$ yang kita dapatkan dengan menghitung:
+\\
+\[37^{8500} \equiv 211\ (mod\ 18443) \ \ \surd\]
 
 \hfill
 \\
-Pada discrete problem ini, untuk kompleksitas dan running timenya
-yaitu gx = h yang mudah untuk diselesaikan jika g adalah produk dari kekuatan bilangan prima kecil. Karena p - 1 selalu genap (p adalah prima), yang terbaik yang dapat kita lakukan adalah mengambil p = 2q +1
-Maka waktu berjalan dari algoritma collision adalah O (q) = O (p).
-Metode kalkulus indeks memiliki waktu berjalan yang subeksponensial, sehingga meskipun p = 2q + 1, q prima harus dipilih untuk menjadi cukup besar.
+Pada \textit{discrete problem}, $g^x = h$ mudah untuk diselesaikan jika \textit{g} adalah \textit{product of powers} dari bilangan prima kecil. Karena p - 1 selalu genap (p adalah prima).
+Adapun \textit{running time} dari algoritma collision adalah $O(\sqrt{q}) = O(\sqrt{p})$.
+Metode \textit{index calculus} memiliki \textit{running time} yaitu subexponential.
  
 
 \section{Implementation Code}
-Dari contoh sebelumnya, yaitu p = 18443, gunakan p tersebut untuk menyelesaikan $37^x$ = 211 (mod 18443). Sebelumnya diketahui bahwa g adalah primitive root dari modulo p. Berikan inputan B = 5, untuk membuat set of primes \{ 2, 3, 5 \}. Congruences berdasarkan input dari max equation yang merupakan integer apapun yang bernilai \textgreater 3. Kemudian cek hasilnya jika merupakan set of primes maka benar itu B-Smooth. Jika B-Smooth, maka k dapat ditemukan dari congruences sebelumnya.
-Terakhir, hitung lagi $37^x$ = 211 (mod 18443), maka x ditemukan dengan hasil 8500.
+Dari contoh sebelumnya, yaitu \textit{p} = 18443, gunakan \textit{p} tersebut untuk menyelesaikan $37^x$ = 211 (mod 18443). Sebelumnya diketahui bahwa \textit{g} adalah primitive root dari modulo \textit{p}. Berikan inputan B = 5, untuk membuat set of primes \{ 2, 3, 5 \}. Congruences berdasarkan input dari max equation yang merupakan integer apapun yang bernilai \textgreater \ 3. Kemudian cek hasilnya jika merupakan set of primes maka benar itu \textit{B-smooth}. Jika \textit{B-smooth}, maka \textit{k} dapat ditemukan dari congruences sebelumnya.
+Terakhir, hitung lagi $37^x \equiv 211 (mod\ 18443)$, maka \textit{x} ditemukan dengan hasil 8500.
 
+\hfill
+\\
 (Penjelasan kode)
+\hfill
+\\
 
-Masukkan input g, h, p, B, max equation. Pastikan g adalah primitive root modulo p, kemudian h untuk hasil dari modulo, p yaitu nilai modulo p nya. Kemudian pilih B random set of primes, lebih banyak lebih baik, begitu juga dengan max equation yaitu banyaknya congruences yang akan muncul, karena metode ini metode yang kurang lebih sama dengan brute force, maka dia mencari sampai banyaknya congruences yang diinput, jika max equation nya sedikit, akan kecil pula kemungkinan untuk mendapatkan k, dan tentu saja tidak dapat dikatakan B-Smooth. Perlu diperhatikan juga bahwa brute force disini menggunakan pula metode random, jadi kadang ketika diinput max equation 5, dan ketemu solusi nya seperti k nya yang menjadi B-Smoot, maka belum tentu pula selanjutnya akan ditemukan solusinya, karena brute force disini random, semakin banyak congruences, semakin besar kemungkinan muncul k nya untuk dijadikan B-Smooth.
+Masukkan input \textit{g}, \textit{h}, \textit{p}, \textit{B}, \textit{max equation}. Pastikan \textit{g} adalah primitive root modulo \textit{p}, kemudian \textit{h} untuk hasil dari modulo \textit{p} yaitu nilai modulo \textit{p} nya. Kemudian pilih B random set of primes, lebih banyak lebih baik, begitu juga dengan max equation yaitu banyaknya congruences yang akan muncul, karena metode ini metode yang kurang lebih sama dengan brute force, maka dia mencari sampai banyaknya congruences yang diinput, jika max equation nya sedikit, akan kecil pula kemungkinan untuk mendapatkan \textit{k}, dan tentu saja tidak dapat dikatakan \textit{B-smooth}. Perlu diperhatikan juga bahwa brute force disini menggunakan pula metode random, jadi kadang ketika diinput max equation 5, dan ketemu solusi nya seperti \textit{k} nya yang menjadi \textit{B-smooth}, maka belum tentu pula selanjutnya akan ditemukan solusinya, karena brute force disini random, semakin banyak congruences, semakin besar kemungkinan muncul \textit{k} nya untuk dijadikan \textit{B-smooth}.
 
 
 \section{Penutup}
 
-Demikian Penjelasan tentang Discrete Log dan Index calculus beserta kode implementasinya, agar kita dapat memahami apa itu problem pada discrete log dan bagaimana memecahkan problem tersebut.
+Demikian Penjelasan tentang \textit{Discrete Log} dan \textit{Index calculus} beserta kode implementasinya, agar kita dapat memahami apa itu problem pada \textit{discrete log} dan bagaimana memecahkan problem tersebut.