script src='http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js' type='text/javascript'/>

Rabu, 30 November 2011

Teori Bilangan Bulat

Teori Bilangan Bulat


Bilangan Bulat
·       Bilangan bulat adalah bilangan yang tidak mempunyai pecahan desimal, misalnya 8, 21, 8765, -34, 0
·       Berlawanan dengan bilangan bulat adalah bilangan riil yang mempunyai titik desimal, seperti 8.0, 34.25, 0.02.

Sifat Pembagian pada Bilangan Bulat

·       Misalkan a dan b adalah dua buah bilangan bulat dengan syarat a ¹ 0. Kita menyatakan bahwa a habis membagi b (a divides b) jika terdapat bilangan bulat c  sedemikian sehingga b = ac.

·       Notasi: a | b  jika b = ac, c Î Z dan a ¹ 0.       (Z = himpunan bilangan bulat)

·       Kadang-kadang pernyataan “a habis membagi b“ ditulis juga  “b  kelipatan a”.

·       Contoh 1: 4 | 12 karena 124 = 3 (bilangan bulat) atau 12 = 4 ´ 3. Tetapi 4 | 13 karena 134 = 3.25 (bukan bilangan bulat).



Teorema 1 (Teorema Euclidean). Misalkan m dan n adalah dua buah bilangan bulat dengan syarat n > 0. Jika m dibagi dengan n maka terdapat dua buah bilangan bulat unik q (quotient) dan r (remainder), sedemikian sehingga
                                m = nq + r                                              (1)
dengan 0 £ r < n.

Contoh 2.
(i)  1987 dibagi dengan 97 memberikan hasil bagi 20 dan sisa 47:
                   1987 = 97 × 20 + 47
(ii) –22 dibagi dengan 3 memberikan hasil bagi –8 dan sisa 2:
–22 = 3(–8) + 2 
tetapi –22 = 3(–7)  – 1 salah karena r = –1 tidak memenuhi syarat 0 £ r < n.
                                                                                                         

Pembagi Bersama Terbesar (PBB)

·       Misalkan a dan b adalah dua buah bilangan bulat tidak nol. Pembagi bersama terbesar (PBB – greatest common divisor atau gcd) dari a dan b adalah bilangan bulat terbesar d sedemikian sehingga d | a dan d | b. Dalam hal ini kita nyatakan bahwa PBB(a, b) = d.

·       Contoh 3. Faktor pembagi 45: 1, 3, 5, 9, 15, 45;
Faktor pembagi 36: 1, 2, 3, 4, 9, 12, 18, 36;
Faktor pembagi bersama dari 45 dan 36 adalah 1, 3, 9
PBB(45, 36) = 9.


Teorema 2. Misalkan m dan n adalah dua buah bilangan bulat dengan syarat n > 0 sedemikian sehingga
               m = nq + r      , 0 £ r < n
maka PBB(m, n) = PBB(n, r)

Contoh 3: m = 60, n = 18,
60 = 18 × 3  + 12
                  maka PBB(60, 18) = PBB(18, 12) = 6
Algoritma Euclidean
·       Algoritma Euclidean adalah algoritma untuk mencari PBB dari dua buah bilangan bulat.
·       Euclid, penemu algoritma Euclidean, adalah seorang matematikawan Yunani yang menuliskan algoritmanya tersebut dalam bukunya yang terkenal, Element.

Misalkan m dan n adalah bilangan bulat tak negatif dengan
m ³ n. Misalkan r0 = m dan r1 = n.

Lakukan secara berturut-turut pembagian untuk memperoleh

          r0 = r1q1 + r2                 0 £ r2 £ r1,

          r1 = r2q2 + r3                 0 £ r3 £ r2,


          rn– 2 = rn–1 qn–1  + rn      0 £ rn £ rn–1,

          rn–1  = rnqn  + 0

Menurut Teorema 2,

          PBB(m, n) = PBB(r0, r1) = PBB(r1, r2) = … =
         PBB(rn– 2, rn– 1)  = PBB(rn– 1, rn) = PBB(rn, 0) = rn

Jadi, PBB dari m dan n adalah sisa terakhir yang tidak nol dari runtunan pembagian tersebut





·       Diberikan dua buah bilangan bulat tak-negatif m dan n (m ³ n). Algoritma Euclidean berikut mencari  pembagi bersama terbesar dari m dan n.

Algoritma Euclidean

1. Jika n = 0 maka
       m adalah PBB(m, n);
       stop.
 tetapi jika n ¹ 0,
           lanjutkan ke langkah 2.
2.  Bagilah m dengan n dan misalkan r adalah sisanya.
3. Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali ke langkah 1.

 

procedure Euclidean(input m, n : integer,
                    output PBB : integer)
{ Mencari PBB(m, n) dengan syarat m dan n bilangan tak-negatif dan m ³ n
  Masukan: m dan n, m ³ n dan m, n ³ 0
  Keluaran: PBB(m, n)
}
Deklarasi
   r : integer

Algoritma:
   while n ¹ 0 do
      r¬m mod n
      m¬n
      n¬r
   endwhile  
   { n = 0, maka PBB(m,n) = m }
   PBB¬m  







Contoh 4. m = 80, n = 12 dan dipenuhi syarat m ³ n

          
Sisa pembagian terakhir sebelum 0 adalah 4, maka PBB(80, 12) = 4.                                               

·       PBB dua buah bilangan bulat a dan b dapat dinyatakan sebagai kombinasi lanjar (linear combination) a dan b dengan dengan koefisien-koefisennya.


Teorema 3. Misalkan a dan b adalah dua buah bilangan bulat positif, maka terdapat bilangan bulat m dan n sedemikian sehingga PBB(a, b) = ma + nb.

Misalnya PBB(80, 12) = 4 , dan 4 = (-1) × 80 + 7 × 12.


Contoh 5. Nyatakan PBB(60, 18) = 6 sebagai kombinasi lanjar dari 60 dan 18.












Relatif Prima

·       Dua buah bilangan bulat a dan b dikatakan relatif prima jika PBB(a, b) = 1.

·       Contoh 6. 20 dan 3 relatif prima sebab PBB(20, 3) = 1. Begitu juga 7 dan 11 relatif prima karena PBB(7, 11) = 1. Tetapi 20 dan 5 tidak relatif prima sebab PBB(20, 5) = 5 ¹ 1.

·       Jika a dan b relatif prima, maka terdapat bilangan bulat m dan n sedemikian sehingga

                             ma + nb = 1                                                        (2)

·       Contoh 7. Bilangan 20 dan 3 adalah relatif prima karena PBB(20, 3) =1, atau dapat ditulis

                             2 . 20 + (–13) . 3 = 1

dengan m = 2 dan n = –13. Tetapi 20 dan 5 tidak relatif prima karena PBB(20, 5) = 5 ¹ 1 sehingga 20 dan 5 tidak dapat dinyatakan dalam m . 20 + n . 5 = 1.                                                                      


Aritmetika Modulo

·       Misalkan a adalah bilangan bulat dan m adalah bilangan bulat > 0. Operasi a mod m (dibaca “a modulo m”) memberikan sisa jika a dibagi dengan m.
·       Notasi: a mod m = r  sedemikian sehingga a = mq + r, dengan 0 £ r < m.

·       Bilangan m disebut modulus atau modulo, dan hasil aritmetika modulo m terletak di dalam himpunan {0, 1, 2, …, m – 1} (mengapa?). 
Contoh 8. Beberapa hasil operasi dengan operator modulo:
(i)   23 mod 5 = 3         (23 = 5 × 4 +  3)
                   (ii)  27 mod 3 = 0        (27 = 3 × 9 + 0)
                   (iii) 6 mod 8 = 6          (6 = 8 × 0 + 6)    
                   (iv)  0 mod 12 = 0       (0 = 12 × 0 + 0)
                   (v) – 41 mod 9 = 4      (–41 = 9 (–5) + 4)
                   (vi) – 39 mod 13 = 0   (–39 = 13(–3) + 0)

Penjelasan untuk (v): Karena a negatif, bagi |a| dengan m mendapatkan sisa r’. Maka a mod m = mr’ bila r¹ 0. Jadi |– 41| mod 9 = 5, sehingga  –41 mod 9 = 9 – 5 = 4.                                                    



Kongruen

·       Misalnya 38 mod 5 = 3 dan 13 mod 5 = 3, maka kita katakan 38 º 13 (mod 5) (baca: 38 kongruen dengan 13 dalam modulo 5).

·       Misalkan a dan b adalah bilangan bulat dan m adalah bilangan > 0, maka a º b (mod m) jika m habis membagi ab.

·       Jika a tidak kongruen dengan b dalam modulus m, maka ditulis a º/ b (mod m) .

Contoh 9.
17 º 2 (mod 3)             ( 3 habis membagi 17 – 2 = 15)
 –7 º 15 (mod 11)       (11 habis membagi –7 – 15 = –22)
12 º/ 2 (mod 7)            (7 tidak habis membagi 12 – 2 = 10 )
–7 º/ 15 (mod 3)         (3 tidak habis membagi –7 – 15 = –22)
               




·       Kekongruenan a º b (mod m) dapat pula dituliskan dalam hubungan        
a = b + km                                                                    (3)
yang dalam hal ini k adalah bilangan bulat.

Contoh 10.
17 º 2 (mod 3)   dapat ditulis sebagai 17 = 2 + 5 × 3
–7 º 15 (mod 11) dapat ditulis sebagai –7 = 15 + (–2)11                            

·       Berdasarkan definisi aritmetika modulo, kita dapat menuliskan a mod m = r  sebagai
                   a º r (mod m)

Contoh 11.
Beberapa hasil operasi dengan operator modulo berikut:
         (i)   23 mod 5 = 3         dapat ditulis sebagai 23 º 3 (mod 5)
                                                (ii)  27 mod 3 = 0        dapat ditulis sebagai 27 º 0 (mod 3)
                                                (iii) 6 mod 8 = 6         dapat  ditulis sebagai 6 º 6 (mod 8)       
                                                (iv)  0 mod 12 = 0      dapat ditulis sebagai 0 º 0 (mod 12)
                                                (v) – 41 mod 9 = 4     dapat ditulis sebagai –41 º 4 (mod 9)
                                                (vi) – 39 mod 13 = 0  dapat ditulis sebagai – 39 º 0 (mod 13)                             

Teorema 4. Misalkan m adalah bilangan bulat positif.
1. Jika a º b (mod m) dan c adalah sembarang bilangan bulat maka
(i)  (a + c) º (b + c) (mod m)
(ii) ac º bc (mod m)
(iii) ap º bp (mod m) untuk suatu bilangan bulat tak negatif p.

2. Jika a º b (mod m) dan c º d (mod m), maka
(i)  (a + c) º (b + d) (mod m)
(ii) ac º bd (mod m)

Bukti (hanya untuk 1(ii) dan 2(i) saja):
          1(ii)  a º b (mod m) berarti:
                             Û a = b + km              
                             Û ab = km
                             Û (ab)c = ckm                 
                             Û ac = bc + Km          
                             Û ac º bc (mod m)                                                 ¾                                                 
                  
     2(i)   a º b (mod m)     Û     a = b + k1m
              c º d (mod m)     Û     c = d + k2m  +
                                      Û     (a + c) = (b + d) + (k1 + k2)m
                                      Û     (a + c) = (b + d) + km     ( k = k1 + k2)
Û             (a + c) = (b + d) (mod m)                    ¾                   

Contoh 12.
Misalkan 17 º 2 (mod 3) dan 10 º 4 (mod 3), maka menurut Teorema 2,
17 + 5 = 2 + 5 (mod 3)     Û         22 = 7 (mod 3)            
17 . 5 = 5 × 2 (mod 3)       Û          85 = 10 (mod 3)          
17 + 10  = 2 + 4 (mod 3)  Û         27 = 6 (mod 3)            
17 . 10 = 2 × 4 (mod 3)     Û 170 = 8 (mod 3)          

·       Perhatikanlah bahwa Teorema 4 tidak memasukkan operasi pembagian pada aritmetika modulo karena jika kedua ruas dibagi dengan bilangan bulat, maka kekongruenan tidak selalu dipenuhi. Misalnya:
(i)              10 º 4 (mod 3) dapat dibagi dengan 2 karena 10/2 = 5 dan 4/2 = 2, dan 5 º 2 (mod 3)
(ii)           14 º 8 (mod 6) tidak dapat dibagi dengan 2, karena 14/2 = 7 dan 8/2 = 4, tetapi  7 º/ 4 (mod 6).  

Balikan Modulo (modulo invers)

·       Jika a dan m relatif prima dan m > 1, maka kita dapat menemukan balikan (invers) dari a modulo m. Balikan dari a modulo m adalah bilangan bulat  sedemikian sehingga

                   a º 1 (mod m)

Bukti: Dari definisi relatif prima diketahui bahwa PBB(a, m) = 1, dan menurut persamaan (2) terdapat bilangan bulat p dan q sedemikian sehingga

                   pa + qm = 1

yang mengimplikasikan bahwa

          pa + qm º 1 (mod m)

Karena  qm º 0 (mod m), maka

pa º 1 (mod m)
                                        
Kekongruenan yang terakhir ini berarti bahwa p adalah balikan dari a modulo m.                    ¾


·       Pembuktian di atas juga menceritakan bahwa untuk mencari balikan dari a modulo m, kita harus membuat kombinasi lanjar dari a dan m sama dengan 1. Koefisien a dari kombinasi lanjar tersebut merupakan balikan dari a modulo m.






Contoh 13.
Tentukan balikan dari 4 (mod 9), 17 (mod 7), dan 18 (mod 10).
Penyelesaian:
(a)  Karena PBB(4, 9) = 1, maka balikan dari 4 (mod 9) ada. Dari algoritma Euclidean diperoleh bahwa

9 = 2 × 4 + 1

      Susun persamaan di atas  menjadi

                   –2 × 4 + 1 × 9 = 1

      Dari persamaan terakhir ini kita peroleh –2 adalah balikan dari 4 modulo 9. Periksalah bahwa

–2 × 4 º 1 (mod 9)        (9 habis membagi –2 × 4 – 1 = –9)

         
(b) Karena PBB(17, 7) = 1, maka balikan dari 17 (mod 7) ada. Dari algoritma Euclidean diperoleh  rangkaian pembagian berikut:

          17 = 2 × 7 + 3      (i)
           7 =  2 × 3 + 1      (ii)
            3 = 3 × 1 + 0      (iii)   (yang berarti: PBB(17, 7) = 1) )

      Susun (ii) menjadi:

          1 = 7 – 2 × 3        (iv)

      Susun (i) menjadi

          3 = 17 – 2 × 7      (v)

     Sulihkan (v) ke dalam (iv):

          1 = 7 – 2 × (17 – 2 × 7) = 1 × 7 – 2 × 17 + 4 × 7 = 5 × 7 – 2 × 17

         atau  

              –2 × 17  + 5 × 7 = 1

        Dari persamaan terakhir ini kita peroleh –2 adalah balikan dari 17 modulo 7. 

–2 × 17 º 1 (mod 7)     (7 habis membagi –2 × 17 – 1 = –35)

(c)   Karena PBB(18, 10) = 2 ¹ 1, maka balikan dari 18 (mod 10) tidak ada.



Kekongruenan Lanjar

·       Kekongruenan lanjar adalah kongruen yang berbentuk

                ax º b (mod m)

dengan m adalah bilangan bulat positif, a dan b sembarang bilangan bulat,  dan x adalah peubah bilangan bulat.


·       Nilai-nilai x dicari sebagai berikut:
     ax = b + km

yang dapat disusun menjadi
            
         
dengan k adalah sembarang bilangan bulat. Cobakan untuk k = 0, 1, 2, … dan k = –1, –2, … yang menghasilkan x sebagai bilangan bulat.


Contoh 14.
Tentukan solusi: 4x º 3 (mod 9) dan 2x º 3 (mod 4)
Penyelesaian:
(i) 4x º 3 (mod 9)
         

k = 0 à x = (3 + 0 × 9)/4 = 3/4       (bukan solusi)
          k = 1 à x = (3 + 1 × 9)/4 = 3
          k = 2 à x = (3 + 2 × 9)/4 = 21/4    (bukan solusi)
          k = 3, k = 4  tidak menghasilkan solusi
          k = 5 à x = (3 + 5 × 9)/4 = 12       
          …
          k = –1 à x = (3 – 1 × 9)/4 = –6/4 (bukan solusi)
          k = –2 à x = (3 – 2 × 9)/4 = –15/4          (bukan solusi)
          k = –3 à x = (3 – 3 × 9)/4 = –6 
          …
          k = –6 à x = (3 – 6 × 9)/4 = –15 
          …

          Nilai-nilai x yang memenuhi: 3, 12, … dan –6, –15, …


(ii)  2x º 3 (mod 4)


Karena 4k genap dan 3 ganjil maka penjumlahannya menghasilkan ganjil, sehingga hasil penjumlahan tersebut jika dibagi dengan 2 tidak menghasilkan bilangan bulat. Dengan kata lain, tidak ada nilai-nilai x  yang memenuhi 2x º 3 (mod 5).



Chinese Remainder Problem

Pada abad pertama, seorang matematikawan China yang bernama Sun Tse mengajukan pertanyaan sebagai berikut:
         
Tentukan sebuah bilangan bulat yang bila dibagi dengan 5 menyisakan 3, bila dibagi 7 menyisakan 5, dan bila dibagi 11 menyisakan 7.

Pertanyaan Sun Tse dapat dirumuskan kedalam sistem kongruen lanjar:

          x º 3 (mod 5)
          x º 5 (mod 7)
          x º 7 (mod 11)

Teorema 5. (Chinese Remainder Theorem) Misalkan m1, m2, …, mn adalah bilangan bulat positif sedemikian sehingga PBB(mi, mj) = 1 untuk i ¹ j. Maka sistem kongruen lanjar

                             x º ak (mod mk)

mempunyai sebuah solusi unik modulo m = m1 × m2 ×× mn.





Contoh 15.
Tentukan solusi  dari pertanyaan Sun Tse di atas.
Penyelesaian:
Menurut persamaan (5.6), kongruen pertama, x º 3 (mod 5), memberikan x = 3 + 5k1 untuk beberapa nilai k. Sulihkan ini ke dalam kongruen kedua menjadi 3 + 5k1 º 5 (mod 7), dari sini kita peroleh k1 º 6 (mod 7), atau k1 = 6 + 7k2  untuk beberapa nilai k2. Jadi kita mendapatkan x = 3 + 5k1 = 3 + 5(6 + 7k2) = 33 + 35k2 yang mana memenuhi dua kongruen pertama.  Jika x memenuhi kongruen yang ketiga, kita harus mempunyai 33 + 35k2 º 7 (mod 11), yang mengakibatkan k2 º 9 (mod 11) atau k2 = 9 + 11k3. Sulihkan k2 ini ke dalam kongruen yang ketiga menghasilkan x = 33 + 35(9 + 11k3) º 348 + 385k3 (mod 11). Dengan demikian, x º 348 (mod 385) yang memenuhi ketiga konruen tersebut. Dengan kata lain, 348 adalah solusi unik modulo 385. Catatlah bahwa 385 = 5 × 7 × 11.

Solusi unik ini mudah dibuktikan sebagai berikut.  Solusi tersebut modulo m = m1 × m2 × m3 = 5 × 7 × 11 = 5 × 77 = 11 × 35. Karena 77  3 º 1 (mod 5), 55 × 6 º 1 (mod 7), dan 35 × 6 º 1 (mod 11), solusi unik dari sistem kongruen tersebut adalah

                   x º 3 × 77 × 3 + 5 × 55 × 6  + 7 × 35 × 6 (mod 385)
                      º 3813 (mod 385) º 348 (mod 385)


Bilangan Prima

·       Bilangan bulat positif p (p > 1) disebut bilangan prima jika pembaginya hanya 1 dan p.

·       Contoh: 23 adalah bilangan prima karena ia hanya habis dibagi oleh 1 dan 23.

·       Karena bilangan prima harus lebih besar dari 1, maka barisan bilangan prima dimulai dari 2, yaitu 2, 3, 5, 7, 11, 13, …. Seluruh bilangan prima adalah bilangan ganjil, kecuali 2 yang merupakan bilangan genap.

·       Bilangan selain prima disebut bilangan komposit (composite). Misalnya 20 adalah bilangan komposit karena 20 dapat dibagi oleh 2, 4, 5, dan 10, selain 1 dan 20 sendiri.


Teorema 6. (The Fundamental Theorem of Arithmetic). Setiap bilangan bulat positif yang lebih besar atau sama dengan 2 dapat dinyatakan sebagai perkalian satu atau lebih bilangan prima.

Contoh 16.
          9 = 3 ´ 3                                 (2 buah faktor prima)
          100 = 2 ´ 2 ´ 5 ´ 5               (4 buah faktor prima) 
          13 = 13        (atau 1 ´ 13)     (1 buah faktor prima) 

·       Untuk menguji apakah n merupakan bilangan prima atau komposit, kita cukup membagi n dengan sejumlah bilangan prima, mulai dari 2, 3, … , bilangan prima £ Ön. Jika n habis dibagi dengan salah satu dari bilangan prima tersebut, maka n adalah bilangan komposit, tetapi jika n tidak habis dibagi oleh semua bilangan prima tersebut, maka n adalah bilangan prima.


Contoh 17.
Tunjukkan apakah (i) 171 dan (ii) 199 merupakan bilangan prima atau komposit.
Penyelesaian:
             (i) Ö171 = 13.077. Bilangan prima yang £ Ö171 adalah 2, 3, 5, 7, 11, 13. Karena 171 habis dibagi 3, maka 171 adalah bilangan komposit.

  (ii) Ö199 = 14.107. Bilangan prima yang £ Ö199 adalah 2, 3, 5, 7, 11, 13. Karena 199 tidak habis dibagi 2, 3, 5, 7, 11, dan 13, maka 199 adalah bilangan prima.                                

·       Terdapat metode lain yang dapat digunakan untuk menguji keprimaan suatu bilangan bulat, yang terkenal dengan Teorema Fermat. Fermat (dibaca “Fair-ma”) adalah seorang  matematikawan Perancis pada tahun 1640.


Teorema 6 (Teorema Fermat). Jika p adalah bilangan prima dan a adalah bilangan bulat  yang tidak habis dibagi dengan p,  yaitu PBB(a, p) = 1, maka

          ap–1 º 1 (mod p)



Contoh 18. 
Kita akan menguji apakah 17 dan 21 bilangan prima atau bukan. Di sini kita mengambil nilai a = 2 karena PBB(17, 2) = 1 dan PBB(21, 2) = 1. Untuk 17,
                  
                        217–1 = 65536 º 1 (mod 17)

karena 17 habis membagi 65536 – 1 = 65535   
(6553517 = 3855).

Untuk 21,
                        221–1 =1048576 º\ 1 (mod 21)

karena 21 tidak habis membagi 1048576 – 1 = 1048575.                                                         

·       Kelemahan Teorema Fermat: terdapat bilangan komposit n sedemikian sehingga 2n–1 º 1 (mod n). Bilangan bulat seperti itu disebut bilangan prima semu (pseudoprimes).
·       Misalnya komposit 341 (yaitu 341 = 11 × 31) adalah bilangan prima semu karena menurut teorema Fermat,

                             2340 º 1 (mod 341)

Untunglah bilangan prima semu relatif jarang terdapat.


Contoh 19.
Periksalah bahwa (i) 316 º 1 (mod 17) dan (ii) 186 º 1 (mod 49).
Penyelesaian:
(i)                  Dengan mengetahui bahwa kongruen 33 º 10 (mod 17), kuadratkan kongruen tersebut menghasilkan

     36 º 100 º –2  (mod 17)

       Kuadratkan lagi untuk menghasilkan

          312 º 4 (mod 17)

      Dengan demikian, 316 º 312 × 33  × 3 º 4 × 10 × 3 º 120 º 1 (mod 17)     

(ii)  Caranya sama seperti penyelesaian (i) di atas:
         
          182 º 324 º 30 (mod 49)
          184 º 900 º 18 (mod 49)
          186 º 184 × 182 º 18 × 30 º 540 º 1 (mod 49)
               



Kriptografi


·       Kriptografi: ilmu sekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) dengan cara menyamarkannya (to crypt artinya menyamar) menjadi bentuk yang tidak dapat dimengerti.

·       Tujuan penyandian adalah agar isi pesan tidak dapat dimengerti oleh orang yang tidak berhak.

·       Kehidupan saat ini dikelilingi oleh kriptografi, mulai:
- ATM tempatmengambil uang,
- Telepon genggam (HP),
- Komputer di lab/kantor,
- Internet,
- Gedung-gedung bisnis,
- sampai ke pangkalan militer

Sejarah Kriptografi
·       Kriptografi sudah lama digunakan oleh tentara Sparta di Yunani pada permulaan tahun 400 SM.
Scytale : Pita panjang dari daun papyrus +  sebatang silinder
Pesan ditulis horizontal (baris per baris).
Bila pita dilepaskan, maka huruf-huruf di dalamnya telah tersusun membentuk pesan rahasia.
Untuk membaca pesan, penerima melilitkan kembali silinder yang diameternya sama dengan diameter silinder pengirim.





·       Beberapa terminologi dasar dalam kriptografi:

1.            Plainteks (plaintext atau cleartext, artinya teks jelas yang dapat dimengerti): pesan yang dirahasiakan.
2.            Chiperteks (chipertext atau cryptogram, artinya teks tersandi): pesan hasil penyandian.
3.            Enkripsi (encryption atau enchipering): proses penyandian dari plainteks ke chiperteks.
4.            Dekripsi (decryption atau dechipering): proses pembalikan dari chiperteks ke plainteks

      
       plainteks                           chiperteks                        plainteks semula
enkripsi                        dekripsi



                Contoh:
                  plainteks:   uang disimpan di balik buku X
                   chiperteks: j&kloP(d$gkhtpuBn%6^klp..t@8^

5.            Algoritma kriptografi (atau chiper):
-  aturan untuk enchipering dan dechipering
 - fungsi matematika yang digunakan untuk enkripsi dan dekripsi.
6.  Kriptografer: orang menggunakan algoritma kriptografi  untuk merahasiakan pesan dan mendekripsikannya kembali
7. Kriptanalisis (cryptanalysis): ilmu dan seni untuk memecahkan chiperteks, berupa proses untuk memperoleh plainteks dari chiperteks tanpa mengetahui kunci yang diberikan. Pelakunya disebut kriptanalis.
8. Kriptologi (cryptology): studi mengenai kriptografi dan kriptanalisis.   


·       Aplikasi kriptografi:
1.    Pengiriman data melalui saluran komunikasi
2.    Penyimpanan data di dalam disk storage.

·       Data ditransmisikan dalam bentuk chiperteks. Di tempat penerima chiperteks dikembalikan lagi menjadi plainteks.

·       Data di dalam media penyimpanan komputer (seperti hard disk) disimpan dalam bentuk chiperteks. Untuk membacanya, hanya orang yang berhak yang dapat mengembalikan chiperteks menjadi plainteks.



Notasi Matematis
·       Misalkan:
C = chiperteks
P = plainteks dilambangkan

·       Fungsi enkripsi E memetakan P ke C,

          E(P) = C                                                                      

·       Fungsi dekripsi D memetakan C ke P,

          D(C) = P                                                                      

·       Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan asal, maka kesamaan berikut harus benar,
         
                   D(E(P)) = P                                                                          

·       Pada sistem kriptografi modern, kekuatan kriptografinya terletak pada kunci,  yang berupa deretan karakter atau bilangan bulat, dijaga kerahasiaannya.

·       Dengan menggunakan kunci K, maka fungsi enkripsi dan dekripsi menjadi
EK1(P) = C                                                                   

          DK2(C) = P                                                                   
    dan kedua fungsi ini memenuhi
          DK2(EK1(P)) = P

                                K1                                      K2

      
       plainteks                           chiperteks                        plainteks semula
enkripsi                        dekripsi



·       Jika K1 = K2, maka algoritma kriptografinya disebut algoritma simetri, konvensional, secret key, atau one-key .
     Contoh: DES (Data Encyption Standard).

·       Jika K1 ¹ K2,  maka sistem kriptogafinya disebut algoritma nirsimetri atau kunci publik
    Contoh: RSA (Rivest-Shamir-Adleman)








Caesar Cipher

·       Ini adalah algoritma kriptografi yang mula-mula digunakan oleh kaisar Romawi, Julius Caesar (sehingga dinamakan juga caesar chiper), untuk menyandikan pesan yang ia kirim kepada para gubernurnya.

·       Caranya adalah dengan mengganti (menyulih atau mensubstitusi) setiap karakter dengan karakter lain dalam susunan abjad (alfabet).

·       Misalnya, tiap huruf disubstitusi dengan  huruf ketiga berikutnya dari susunan akjad. Dalam hal ini kuncinya adalah jumlah pergeseran huruf (yaitu k = 3). 


Tabel substitusi:

pi : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C


Contoh 20. Pesan
                   AWASI ASTERIX DAN TEMANNYA OBELIX
disamarkan (enskripsi) menjadi

                   DZDVL DVWHULA GDQ WHPDQQBA REHOLA

Penerima pesan men-dekripsi chiperteks dengan menggunakan tabel substitusi, sehingga chiperteks

DZDVL DVWHULA GDQ WHPDQQBA REHOLA

dapat dikembalikan menjadi plainteks semula:

AWASI ASTERIX DAN TEMANNYA OBELIX


·       Dengan mengkodekan setiap huruf abjad dengan integer sebagai berikut: A = 0, B = 1, …, Z = 25, maka secara matematis caesar chiper menyandikan plainteks pi menjadi ci dengan aturan:

ci = E(pi) = (pi + 3) mod 26                                        (1)

dan dekripsi chiperteks ci menjadi pi dengan aturan:
 
          pi = D(ci) = (ci – 3) mod 26                                        (2)



Algoritma RSA



ALGORITMA RSA
1.    Pilih dua buah bilangan prima sembarang, sebut a dan b. Jaga kerahasiaan a dan b ini.
2.    Hitung n = a ´ b. Besaran n tidak dirahasiakan.
3.    Hitung m = (a – 1) ´ (b – 1). Sekali m telah dihitung, a dan b dapat dihapus untuk mencegah diketahuinya oleh pihak lain.
4.    Pilih sebuah bilangan bulat untuk kunci publik, sebut namanya e, yang relatif prima terhadap m
5.    Bangkitkan kunci dekripsi, d, dengan kekongruenan ed º 1 (mod m). Lakukan enkripsi terhadap isi pesan dengan persamaan ci = pie mod n, yang dalam hal ini pi adalah blok plainteks, ci adalah chiperteks yang diperoleh, dan e adalah kunci enkripsi (kunci publik). Harus dipenuhi persyaratan bahwa nilai pi harus terletak dalam himpunan nilai 0, 1, 2, …, n – 1 untuk menjamin hasil perhitungan tidak berada di luar himpunan.
6.    Proses dekripsi dilakukan dengan menggunakan persamaan pi = cid mod n, yang dalam hal ini d adalah kunci dekripsi.

Contoh 21. Misalkan a = 47 dan b = 71 (keduanya prima), maka dapat dihitung
n = a ´ b = 3337 dan m = (a – 1)´(b – 1) = 3220.

Pilih kunci publik e = 79 (yang relatif prima dengan 3220 karena pembagi bersama terbesarnya adalah 1).  Nilai e dan m dapat dipublikasikan ke umum.

Selanjutnya akan dihitung kunci dekripsi d seperti yang dituliskan pada langkah instruksi 4,

                   e ´ d º 1 (mod m)

Kunci dekripsi d sebagai berikut:                                                                             

Dengan mencoba nilai-nilai k = 1, 2, 3, …, diperoleh nilai d yang bulat adalah 1019. Ini adalah kunci dekripsi.

Misalkan plainteks

P = HARI INI

atau dalam desimal ASCII:

7265827332737873

Pecah P menjadi blok yang lebih kecil (misal 3 digit):

          p1 = 726              p4 = 273
          p2 = 582              p5 = 787
          p3 = 733              p6 = 003
Blok pertama dienkripsikan sebagai 72679 mod 3337 = 215 = c1.

Blok kedua dienkripsikan sebagai 58279 mod 3337 = 776 = c2.

Dengan melakukan proses yang sama untuk sisa blok lainnya, dihasilkan chiperteks C = 215 776 1743 933 1731 158.

Proses dekripsi dilakukan dengan menggunakan kunci rahasia d = 1019.

Blok c1 didekripsikan sebagai 2151019 mod 3337 = 726 = p1,
Blok c2 didekripsikan sebagai 7761019 mod 3337 = 582 = p2.

Blok plainteks yang lain dikembalikan dengan cara yang serupa. Akhirnya kita memperoleh kembali plainteks semula P = 7265827332737873 yang karakternya adalah P = HARI INI.                                                 
Perhitungan perpangkatan pada proses enkripsi (ci = pie mod n)dan dekripsi (pi = cid mod n) membutuhkan bilangan yang sangat besar. Untuk menghindari penggunaan bilangan yang besar, maka dapat digunakan penyederhanaan dengan persamaan berikut:

                             ab mod m = [(a mod m)(b mod m)] mod m                                  (5.14)         

Kekuatan dan Keamanan RSA
·       Kekuatan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan non prima menjadi faktor primanya, yang dalam hal ini n = a ´ b.
·       Sekali n berhasil difaktorkan menjadi a dan b, maka m = (a – 1)´(b – 1) dapat dihitung. Selanjutnya, karena kunci enkrispi e diumumkan (tidak rahasia), maka  kunci dekripsi d dapat dihitung dari persamaan e ´ d º 1 (mod m). Ini berarti proses dekripsi dapat dilakukan oleh orang yang tidak berhak.
·       Penemu algoritma RSA menyarankan nilai a dan b panjangnya lebih dari 100 digit. Dengan demikian hasil kali n = a ´ b akan berukuran lebih dari 200 digit. Bayangkanlah berapa besar usaha kerja yang diperlukan untuk memfaktorkan bilangan bulat 200 digit menjadi faktor primanya. Menurut Rivest dan kawan-kawan, uasaha untuk mencari faktor bilangan 200 digit membutuhkan waktu komputasi selama 4 milyar tahun! (dengan asumsi bahwa algoritma pemfaktoran yang digunakan adalah algoritma yang tercepat saat ini dan komputer yang dipakai mempunyai kecepatan 1 milidetik).



Fungsi Hash


                                h(k) = k mod m                                                                                                            

- m adalah jumlah lokasi memori yang tersedia
- Fungsi h menempatkan record dengan kunci k pada
   lokasi memori yang beralamat h(k).

Contoh: m = 11 mempunyai sel-sel memori yang diberi indeks 0 sampai 10. Akan disimpan data record yang masing-masing mempunyai kunci 15, 558, 32, 132, 102, dan 5.

                   h(15) = 15 mod 11 = 4
                   h(558) = 558 mod 11 = 8
                   h(32) = 32 mod 11 = 10
                   h(132) = 132 mod 11 = 0
                   h(102) = 102 mod 11 = 3
                   h(5) = 5 mod 11 = 5

132


102
15
5


558

32
0
1
2
3
4
5
6
7
8
9
10


International Standard Book Number (ISBN)
·       Kode ISBN terdiri dari 10 karakter, biasanya dikelompokkan dengan spasi atau garis, misalnya 0–3015–4561–9.
·       ISBN terdiri atas empat bagian kode:
- kode yang mengidentifikasikan bahasa,
- kode penerbit,
- kode yang diberikan secara unik kepada buku tersebut,
- sebuah karakter uji (dapat berupa angka atau huruf X untuk merepresentasikan angka 10).

Karakter uji dipilih sedemikian sehingga

º 0 (mod  11)
mod  11 = karakter uji                                                           

Untuk kode ISBN 0–3015–4561–8, 0 adalah kode kelompok negara berbahasa Inggris, 3015 adalah kode penerbit, 4561 adalah kode unik untuk buku yang diterbitkan oleh penerbit tersebut, dan 8 adalah karakter uji. Karakter uji ini didapatkan sebagai berikut:

          1 × 0 + 2 × 3 + 3 × 0 + 4 × 1 + 5 × 5 + 6 × 4 + 7 × 5 + 8 × 6 + 9 × 1 = 151

Jadi, karakter ujinya adalah 151 mod 11 = 8.  Catatlah bahwa untuk kode ISBN ini,

= + 10x10 = 151 + 10 × 8 = 231
dan 231 mod 11 = 0 atau 231 º 0 (mod 11).                                                 







Tidak ada komentar: