laporan penelitian efisiensi algoritme aritmetik

advertisement
LAPORAN PENELITIAN
( )
EFISIENSI ALGORITME ARITMETIK
DENGAN OPERASI DIBANGKITKAN DARI
SIFAT GRUP SIKLIK PADA KRIPTOGRAFI
KURVA ELIPTIK
Oleh :
Dra. Eleonora Dwi W., M.Pd
Ahmadi, M.Si
FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN
UNIVERSITAS PANCASAKTI TEGAL
2012
BAB I
PENDAHULUAN
Masalah keamanan merupakan salah satu aspek penting dari sebuah sistem
informasi. Untuk menjamin keamanan sebuah informasi yang bersifat rahasia
diperlukan suatu teknik pengamanan baik secara fisik maupun non fisik. Salah
satu teknik pengamanan secara non fisik yaitu dengan mengenkripsi informasi
rahasia menggunakan teknik kriptografi.
Kriptografi secara terminologi dasarnya terdiri dari dua tipe yaitu
kriptografi
simetrik dan kriptografi asimetrik atau sering disebut sebagai
kriptografi kunci publik. Kunci simetris adalah jenis kriptografi yang paling
umum digunakan. Kunci untuk membuat pesan yang disandikan sama dengan
kunci untuk membuka pesan yang disandikan itu. Jadi pembuat pesan dan
penerimanya harus memiliki kunci yang sama persis. Siapapun yang memiliki
kunci tersebut termasuk pihak-pihak yang tidak diinginkan dapat membuat dan
membongkar rahasia ciphertext. Contoh algoritme kunci simetris yang terkenal
adalah DES (Data Encryption Standard). Karya ini menjadi alat keamanan
komersial elektronik di banyak institusi keuangan di seluruh dunia hingga
pertengahan tahun 1990-an. DES secara DES tak aman sejak juli 1998. Walaupun
demikian DES telah melandasi prinsip-prinsip sandi simetrik modern yang dewasa
ini muncul produk-produk penggantinya seperti : AES (Advanced Encryption
Standard), Blowfish, 3DES, RC5, dan lain sebagainya.
Kunci asimetrik merupakan pasangan kunci kriptografi yang salah satunya
digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi. Semua orang
yang mendapatkan kunci publik dapat menggunakannya untuk mengenkripsikan
suatu pesan,data ataupun informasi, sedangkan hanya satu orang saja yang
memiliki rahasia tertentu dalam hal ini kunci privat untuk melakukan
pembongkaran terhadap sandi yang dikirim untuknya. Pada algoritme kunci
publik ini, semua orang dapat mengenkripsi data dengan memakai kunci publik
penerima yang telah diketahui secara umum. Akan tetapi data yang telah
terenkripsi tersebut hanya dapat didekripsi dengan menggunakan kunci privat
2
yang hanya diketahui oleh penerima. Contoh algoritme terkenal yang
menggunakan kunci asimetrik adalah skema RSA yang ditemukan oleh Rivest,
Shamir, dan Adleman pada tahun 1978. Skema ini didasarkan pada problem
matematika yang sulit, yaitu pemecahan masalah faktorisasi integer besar. Bentuk
praktis skema kunci publik lainnya ditemukan oleh ElGamal pada tahun 1985.
Skema ini didasarkan pada pemecahan problem logaritma diskret. Keamanan
algoritme ini sangat tergantung pada pemilihan bilangan prima p. Semakin besar p
maka algoritme ini akan semakin aman, akan tetapi semakin besar pula beban
komputasi yang digunakan. Oleh karena itu pada masa sekarang, orang sudah
mulai mencari alternatif lain untuk menggantikan aritmetik modular diantaranya
aritmetik yang dibangkitkan struktur finite field
(
), kurva eliptik kriptografi,
dan hipereliptik kriptografi.
Teori finite field mulai diperkenalkan pada abad ke tujuh dan abad ke
delapan, dengan tokoh matematikanya Pierre de Fermat (1601-1665) dan
Leonhard Euler (1707-1783) dengan kontribusinya pada khusus teori struktur
finite field. Teori secara umum tentang finite field mulai dikerjakan oleh Carl
Friedrich Gauss (1777-1855) dan Evariste Galois (1811-1832), teori ini banyak
dikembangkan dalam dunia aplikasi matematika, komputer, dan teori komunikasi.
2
3
BAB II
TINJAUAN PUSTAKA
Untuk mencapai tujuan penulisan penelitian diperlukan beberapa pengertian
dan teori yang berkaitan dengan pembahasan. Dalam subbab ini akan diberikan
beberapa teori berupa definisi, lemma, dan teorema yang berkaitan dengan
pembahasan.
3.1. Teori Grup
Definisi 3.1. Struktur aljabar ⟨ ,⋇⟩ tertutup terhadap operasi biner  disebut
grup jika memenuhi aksioma-aksioma berikut:
a) Operasi biner ⋇ bersifat asosiatif: a   b  c    a  b   c , untuk setiap
a, b, c  G .
b) Terdapat unsur identitas e  G , untuk * pada G sehingga berlaku
a  e  e  a  a untuk setiap a  G .
c) Untuk setiap a  G ada unsur a1  G sehingga a  a 1  a1  a  e . ( a-1
disebut invers a terhadap operasi *).
Grup G disebut grup komutatif atau grup abelian jika operasi * bersifat komutatif
yaitu: a  b  b  a , untuk semua a, b  G .
Grup berhingga yaitu grup yang kardinalitasnya berhingga. Dalam hal ini
kardinalitas suatu grup G disebut dengan order dari G, dinotasikan ord  G  atau
O  G  atau G .
Definisi 3.2. Jika H himpunan bagian atas grup G adalah grup di bawah operasi
G, maka H subgrup dari G.
Teorema 3.3. (Uji satu langkah) Misalkan G grup dan H himpunan bagian yang
tak kosong atas G. Maka H adalah subgrup atas G jika H tertutup di bawah
operasi pembagian; yaitu jika .
bilamana ,
Teorema 3.4. (Uji dua langkah) Misalkan G grup dan H himpunan bagian tak
kosong atas G. Maka, H disebut subgrup dari G jika .
3
bilamana
,
4
(tertutup terhadap perkalian), dan
bilamana
(tertutup terhadap
invers)
Sebagai contoh, Z dan Q merupakan subgrup dari R terhadap operasi +.
Tentu saja Z  Q  R dan masing-masing merupakan grup terhadap operasi
yang sama yaitu +.
Misal G sembarang grup, a  G , dan n bilangan bulat positif, maka:
a n : aa
...a ,

n kali
1 1
a n : a
a
...
a1 ,
n kali
n -1
= (a )
dan a0 : e .
Jika ada bilangan bulat tidak nol m sedemikian sehingga am  e , maka order
dari unsur a, notasi O  a  , didefinisikan sebagai bilangan bulat positif terkecil n
sedemikian sehingga an  e . Jika tidak ada bilangan bulat tidak nol n sedemikian
sehingga an  e , maka dikatakan a mempunyai order di tak hingga (infinity).
Ringkasan 3.5. Berikut ini 3 sifat dasar yang berkaitan dengan pengertian order.
1. Jika O  a   n , maka ada tepat n kuasa dari a (power of a) yang masingmasing berbeda, yaitu a 0  e, a, a 2 ,..., a n1 .
2. Jika O  a  tak hingga, maka semua kuasa dari a berbeda. Artinya, jika r dan s
yaitu dua bilangan bulat yang berbeda, maka ar  a s .
3. Misalkan a yaitu unsur dari grup G dan O  a   n . Maka at  e jika dan
hanya jika t yaitu kelipatan dari n (t kelipatan n artinya ada bilangan bulat q
sehingga t=nq).
Definisi 3.6. Misalkan H subgrup dari
= { ℎ|ℎ
grup G.
Himpunan
} atas G disebut koset kiri atas H memuat
himpunan bagian
= {ℎ |ℎ
bagian
. Sedangkan
} atas G disebut koset kanan atas H memuat .
Teorema 3.7. (Teorema Lagrange) Misalkan H subgrup dari grup berhingga G.
Maka order dari H adalah pembagi dari order G.
Teorema 3.8. Order dari unsur grup berhingga G membagi order G.
4
5
Jika H merupakan subgrup dari grup G, indeks dari H di dalam G diartikan
sebagai jumlah koset dari H di dalam G, notasinya
G : H  
G : H  .
sedangkan
G
H
3.2. Grup Siklik
Grup G disebut siklik jika dan hanya jika ada unsur a  G (a disebut
generator) sehingga


G  a  an n  Z .
Dalam kasus G grup aditif, dapat ditulis
G  a  na n  Z .
Ringkasan 3.9. (Sifat-sifat Grup Siklik)
1. Jika grup G berorder n, maka G siklik jika dan hanya jika ada a  G sehingga
O a  n .
2. Setiap grup siklik yaitu abelian.
3. Setiap subgrup dari grup siklik adalah siklik.
4. Jika G  a dan b  G , maka O  b  O  a  .
5. Jika G yaitu grup siklik berorder n dan suatu bilangan bulat k n , maka ada
b  G sehingga O  b   k .
6. Misalkan G yaitu grup abelian berorder mn dengan m dan n prima relatif. Jika
G mempunyai suatu unsur a dengan O  a   m dan b dengan O  b   n , maka
G yaitu grup siklik dengan G  ab .
7. a r yaitu generator dari G  a dengan G  n jika dan hanya jika r dan n
prima relatif.
3.3. Grup Homomorfisme dan Isomorphisme
Misal G dan H grup. Suatu homomorfisma (grup) dari G ke H yaitu suatu
fungsi f : G  H sedemikian sehingga untuk sembarang a dan b di dalam G,
f  ab   f  a  f  b  .
5
6
Bayangan (Imej) dari f, dinotasikan Im  f  , yaitu
Im  f   f  G    f  x  x  G .
Kernel dari f, dinotasikan ker  f  , yaitu


ker  f   x  G f  x   e
(secara implisit e yaitu unsur identitas dari f).
Sifat-sifat dasar homomorfisma dinyatakan dalam Ringkasan berikut ini.
Ringkasan 3.10. (Sifat-sifat Dasar Homomorfisma) Misalkan G dan H yaitu
grup, f : G  H homomorfisma, maka sifat-sifat berikut dipenuhi.
1.
f e   e .
2.
(
) = ( ( ))
untuk setiap a  G .
3. Im  f  merupakan subgrup dari H.
4. ker  f  merupakan subgrup dari G.
Jika
homomorfisme yang bijektif, maka f disebut isomorfisme.
3.4. Ring
Struktur aljabar dengan dua operasi biner yang paling umum yaitu Ring.
Definisi 2.11. Ring R adalah himpunan dengan dua operasi + dan x (disebut
dengan penjumlahan dan perkalian) yang memenuhi aksioma-aksioma berikut:
a.
R,  adalah grup abelian
adalah asosiatif : (
) = (
) untuk setiap a, b, c  R .
b.
Operasi
c.
Berlaku hukum distributif atas R : Untuk setiap a, b, c  R memenuhi
( + ) =(
)+(
) dan
( + )=(
)+(
)
Ring R disebut komutatif jika perkaliannya bersifat komutatif. Ring R disebut
mempunyai unsur kesatuan jika terdapat unsur 1
Definisi 3.12. Unsur bukan nol
ada unsur bukan nol
sehingga .
dengan 1 = 1 = ,
dari Ring komutatif R disebut pembagi nol jika
=0
Definisi 3.13. Ring komutatif dengan unsur kesatuan 1 disebut daerah integral
jika tidak memuat pembagi nol
6
7
Definisi 3.14. Karakteristik Ring R adalah sekurang-kurangnya integer positif
= 0 untuk setiap
sehingga
. Jika tidak ada, R disebut berkarakteristik 0.
Teorema 3.15. Karakteristik daerah integral adalah 0 atau prima.
Teorema 3.16. Di dalam sembarang Daerah Integral D dengan karakteristik p,
 a  b
p
 a p  b p untuk semua unsur a, b  D .
Definisi 3.17. Field adalah suatu Ring komutatif, ada unsur kesatuan 1 dan setiap
unsur tak nolnya mempunyai invers (multiplikatif)
Teorema 3.18. Daerah integral yang berhingga adalah field.
Akibat 3.19. Untuk setiap bilangan prima p, Ring Zp integer modulo p, adalah
field
Definisi 3.20. SubRing A dari Ring R disebut ideal dari R jika untuk setiap
dan setiap
,
dan
.
Teorema 3.21. Misal R Ring, I  R , I tidak kosong. Himpunan bagian I disebut
ideal jika memenuhi:
a.
→( − )
,
b.
dan
→
dan
.
Untuk setiap Ring R, {0} dan R adalah ideal atas R. Ideal {0} disebut ideal trivial.
Misalkan R Ring komutatif dengan unsur kesatuan 1 dan
⟨ ⟩={
|
. Suatu himpunan
} merupakan ideal. Ideal yang demikian disebut ideal utama yang
dibangun oleh .
Definisi 3.22. Suatu ideal I atas Ring komutatif R disebut ideal prima atas R jika
,
dan
sehingga
dan
. Suatu ideal B atas Ring komutatif R
disebut ideal maksimal atas R jika B adalah ideal atas R dan ⊆
⊆
maka
B = A atau B = R.
Misalkan Ring R dan I merupakan ideal dari R. Karena R merupakan grup
terhadap penjumlahan dan I subgrup dari R, maka Ring faktor
sebagai ⁄ = { + |
/ dapat ditulis
}.
Teorema 3.23. Misal R Ring komutatif dengan unsur kesatuan 1. I ideal
maksimal dari R. Maka R
I
adalah field jika dan hanya jika I ideal maksimal.
7
8
Definisi 3.24. Suatu homomorfisma dari Ring R ke Ring R ' yaitu suatu fungsi
f : R  R ' yang memenuhi, ∀ ,
a.
f  a  b   f  a   f  b  , dan
b.
f  ab   f  a  f  b  .
berlaku :
Jika f surjektif, maka R ' disebut bayangan homomorfik dari R.
Kernel dari f diDefinisikan


ker  f   x  R f  x   0 ,
dan range dari f diDefinisikan
ran  f    f  x  x  R .
Jika f homomorfisma yang bijektif, maka f disebut isomorfisma. Dalam hal ini R
dan R ' dikatakan isomorfik, dinotasikan
Teorema
3.25.
Misal

⋍ ′
f : R  R'
Ring
homomorfisma.
Maka

ker  f   x  R f  x   0 merupakan ideal dari R.
Teorema 3.26. R I merupakan bayangan homomorfik dari R.
Teorema 3.27. (Teorema dasar homomorfisme) Misalkan
f : R  R'
merupakan epimorfisme, dan misalkan K yaitu kernel dari f. Maka ′ ≅ / .
3.5. Ring Polinomial
Misalkan R Ring komutatif dengan unsur kesatuan, dan x simbol yang tak
+
tetap. Setiap ekspresi berbentuk
polinomial dalam x dengan
+
disebut
. Polinomial dalam x dapat ditulis dengan
( ), ( ), ( ), dan lain-lain. Misal
∑
+⋯+
( )=
+
+⋯+
merupakan sembarang polinomial, derajat dari polinomial
bilangan terbesar n sehingga koefisien dari
=
( ) yaitu
bukan nol dan dinotasikan dengan
deg ( ).
Polinomial
( )=0
+0
+ ⋯ + 0 yang semua koefisiennya nol
disebut polinomial nol, dan dinotasikan dengan
( )=
( )=
( ) = 0.
Jika polinomial
, maka ( ) berderajat nol dan disebut polinomial konstan. Misalkan
+
+ ⋯+
+
8
dan
9
( )=
+
+ ⋯+
+
. Operasi penjumlahan dan
perkalian polinomial didefinisikan sebagai berikut :
( )+ ( )= (
Dimana
+
=0
=
Jika R Ring, maka
+(
+
>
( ). ( ) =
Dimana,
)
)
=0
+
+
+⋯+(
>
+
+ ⋯+
+
) +
+
,
+
+
, untuk k = 0, …, m+n
[ ] menotasikan himpunan semua polinomial dalam x yang
koefisiennya ada di R dengan operasi penjumlahan dan perkalian seperti yang
didefinisikan sebelumnya.
Teorema 3.28. Misal R Ring komutatif dengan unsur kesatuan 1. Maka R[x]
merupakan Ring komutatif dengan unsur kesatuan 1.
Teorema 3.29. Jika R adalah daerah integral, maka R[x] adalah daerah integral.
Definisi 3.30. Suatu polinomial ( )
dinyatakan sebagai perkalian
[ ] irredusibel atas F bila f(x) tidak dapat
( ), ℎ( ) dimana
( ), ℎ( )
[ ] keduanya
berderajat lebih rendah dari f(x).
Teorema 3.31. Misal F field dan Ring polinomial F  x  . Jika f  x  , g ( x )  F  x 
dengan g  x   0 , maka ada polinomial unik q  x  , r ( x)  F  x  sehingga
f ( x)  q  x  g  x   r  x  dengan r  x   0 atau derajat r  x   derajat g  x  .
Teorema 3.32. Misal F field, I ideal tak nol di F[x], dan unsur ( )
= ⟨ ( )⟩ jika dan hanya jika
[ ]. Ideal
( ) merupakan polinomial tak nol berderajat
terendah di I.
Teorema 3.33. Semua ideal dari [ ] merupakan ideal utama
Teorema 3.34. Misal F field dan ( )
[ ]. ⟨ ( )⟩ ideal maksimal jika dan
hanya jika ( ) irredusibel atas F.
Teorema 3.35. ⟨ ( )⟩ ideal maksimal jika dan hanya jika [ ]/⟨ ( )⟩ field.
3.6. Perluasan Field
Definisi 3.36. Jika E field yang memuat subfield F, maka E disebut perluasan
field dari F.
Definisi 3.37. Misal E perluasan field dari field F dan c  E . c disebut algebraic
atas F jika f  c   0 untuk f  x   F  x  yang tak nol.
9
10

c
E
F
Gambar 1. Perluasan Field F
Definisi 3.38. Misal E perluasan field dari field F dan c  E algebraic atas F.
Polinomial monik p  x  merupakan polinomial irredusibel dengan akar c atas F
dinotasikan dengan irr  c, F  dan derajat dari polinomial irredusibel dengan akar
c atas F dinotasikan dengan deg  c, F 
Teorema 3.39. Misal F subfield dari field E, c  E
(indeterminate).
Pemetaan
 c : F  x  E
yang
dan x tak tentu
diDefinisikan
dengan
 c  f  x    f  c  dimana f  x   a0  a1 x  ...  an x n , f  x   F  x  merupakan
homomorfisma. Homomorfisma  c disebut homomorfisma evaluasi dan berlaku
 c  x   c serta  c  a   a , a  F .
Kernel atas homomorfisma
( )=
sehingga
( )
merupakan himpunan semua polinomial ( )
( ( )) = 0. Jadi, kernel( ) berisi semua polinomial
[ ] sehingga c merupakan akar dari
dinotasikan sebagai
( ). Misalkan kernel( )
, menurut Teorema 2.25 kernel untuk setiap homomorfisma
merupakan ideal, sehingga
merupakan ideal dari F[x]. Menurut Teorema 2.33
setiap ideal dari F[x] merupakan ideal utama. Karena
dan berdasarkan Teorema 2.32, (∃ ( )),
merupakan ideal utama
= ⟨ ( )⟩ = { ( ) ( )| ( )
[ ]}
dengan ( ) polinomial berderajat terendah. Dengan Definisi 2.30 mudah untuk
membuktikan bahwa
( ) merupakan polinomial irredusibel. Misalkan ( ) =
( ). ℎ( ). Sehingga 0 = ( ) = ( ). ℎ( ),
( ), ℎ ( )
( ) = 0 atau ( ) = 0 dimana
. Hal ini tidaklah mungkin, karena
berderajat terendah di dalam
. Sehingga
( ) merupakan polinomial
( ), ℎ( ) merupakan polinomial
berderajat lebih tinggi dari ( ). Maka menurut Definisi 2.30,
( ) merupakan
polinomial irredusibel. Karena setiap konstanta pengali dari ( ) ada di
10
maka
11
( ) monik. Sehingga dapat disimpulkan bahwa
( ) merupakan polinomial
minimum dari c atas F.
Lalu bagaimana dengan Range dari
Range
= { ( ( ))| ( )
= { ( )| ( )
?
[ ]}
[ ]}
Dari penjelasan di atas diperoleh
: [ ] → ( ) merupakan epimorfisme,
= ⟨ ( )⟩ dengan ( )polinomial irredusibel. Dengan menggunakan Teorema
dasar homomorfisme, maka
[ ]/⟨ ( )⟩ ≃ ( ). Menurut Teorema 2.34, jika
( ) polinomial irredusibel maka ⟨ ( )⟩ merupakan ideal maksimal. Dan
berdasarkan Teorema 2.35 dapat disimpulkan bahwa
field. Karena [ ]/⟨ ( )⟩ ≃ ( ), maka
[ ]/⟨ ( )⟩ merupakan
( ) juga merupakan field.
Teorema 3.40. Misal F field dan p  x  polinomial tak konstan di F  x  . Ada
suatu perluasan field E dari F dan unsur c di E sehingga c akar dari p  x  .
Definisi 3.41 V himpunan, F field, operasi di V yaitu penjumlahan dan perkalian
skalar. V disebut ruang vektor atas F jika memenuhi aksioma berikut:

 
1.
Untuk setiap a , b  V terdapat tunggal c  V sehingga tertutup terhadap
  
penjumlahan: a  b  c .
     
  
2.
Untuk setiap a , b , c  V bersifat asosiatif: a  b  c  a  b  c .

3.
4.
5.


Terdapat tunggal identitas 0 V , untuk setiap
    
a0  0a  a .

Untuk setiap a V
terdapat tunggal invers
     

a  b  b  a  0 , b  a .
   
 
Untuk setiap a , b  V bersifat komutatif: a  b  b  a .



a V
sehingga

b V
sehingga
7.


Untuk setiap k  F dan setiap a V terdapat tunggal b  V sehingga
 
tertutup terhadap perkalian: ka  b .

 

 
Untuk setiap k  F dan setiap a , b  V , k a  b  ka  kb .
8.

 

Untuk setiap k , l  F dan setiap a V ,  k  l  a  ka  la .
9.



Untuk setiap k , l  F dan setiap a V ,  kl  a  k  la  .
6.

11

12
10.

 
Untuk setiap a V , 1a  a ; 1 unsur identitas di F ,  .
Definisi 3.42. Misal E perluasan field dari field F. Jika E ruang vektor atas F
berdimensi hingga n, maka E disebut perluasan hingga berderajat n atas F. Derajat
E atas F sama dengan n dinotasikan  E : F   n .
Definisi 3.43. Jika field E dibangun oleh unsur satu c atas field F: E  F  c  ,
maka E disebut perluasan tunggal dari F dan unsur c disebut unsur primitif atau
akar primitif untuk perluasan.
Teorema 3.44. Misal
E  F c
dengan
c E
algebraic atas F, dan
deg  c, F   n , n  1 . Setiap unsur  dari E  F  c  dapat dinyatakan secara unik
dalam bentuk   b0  b1c1  ...  bn 1c n 1 , dimana bi  F  x  .
Teorema 3.45. Derajat dari
( ) atas F sama dengan derajat dari polinomial
minimum dari c atas F.
+ 1 atas
Sebagai contoh, i merupakan akar dari polinomial irredusibel
+ 1 mempunyai derajat 2, menurut Teorema 2.44, [ ( ): ] = 2 dengan
R[x].
basisnya {1, i}. Setiap unsur dalam R[i] merupakan kombinasi linear dari 1 dan i
yang berbentuk
{ +
| ,
+
dimana
,
. dan dinotasikan dengan
( )=
}.
Teorema 3.46. Misalkan
berderajat m, maka
( )
[ ] merupakan polinomial irredusibel
[ ]/⟨ ( )⟩ adalah finite field berderajat
. Operasi
penjumlahan polinomial dan operasi perkalian polinomial dilakukan dalam
modulo ( ).
Teorema 3.47. Misal E perluasan field dari field F dan c  E algebraic atas F.
Jika deg  c, F   n , maka F  c  ruang vektor atas F berdimensi-n dengan basis
1, c, c ..., c  .
2
n 1
Lemma 3.48. Misal { ,
{ ,
,…,
} basis dari ruang vektor K atas F dan
} basis dari ruang vektor E atas K. Maka himpunan perkalian
,…,
,
merupakan basis dari ruang vektor E atas field F.
12
13
BAB III
TUJUAN DAN MANFAAT PENELITIAN
3.1. Tujuan Penelitian
Dalam penelitian ini peneliti mencoba mengkonstruksi algoritme
aritmetik
(5 ) didasarkan pada sifat bahwa
(5 )∗ merupakan grup
siklik yang dibangkitkan dari akar primitif. Selain itu, peneliti ingin mengukur
tingkat efisiensi algoritme hasil konstruksi.
3.2. Manfaat Penelitian
1. Manfaat teoritis
Manfaat yang bisa didapat dari penelitian ini adalah memberikan
pemahaman
baru
bahwa
materi kuliah
aljabar
abstrak
dapat
diaplikasikan ke dalam dunia komputer diantaranya ilmu kriptografi
2. Manfaat Praktis
Manfaat dari penelitian ini adalah :
a. Algoritme hasil konstruksi dapat dipakai pada operasi pembuatan
kunci dalam ilmu kriptografi
b. Algoritme
hasil
konstruksi diharapkan
mampu
memberikan
keamanan yang lebih baik dari algoritme-algoritme sebelumnya.
13
14
BAB IV
METODE PENELITIAN
4.1
Kerangka Pemikiran
Dari permasalahan di atas, maka peneliti mencoba menyelesaikan
permasalahan tersebut dengan alur seperti pada Gambar 3.1 berikut :
Definisikan fungsi polinomial
primitif f ( x)  F  x 
Cari akar
  f    0
Tentukan Basis
dan F

Konstruksi Finite Field:
F    F  x 
f ( x)
Gambar 3.1: Diagram Alur Kerangka
4.2. Konstruksi Finite Field GF(5m)
Dalam melakukan konstruksi finite field GF(5m), yang akan dilakukan
adalah sebagai berikut :
Langkah 1. Pilih polinomial irredusibel berderajat 5 atas Z5, f(x)
Z5[x].
Polinomial f(x) membentuk field Z5[x]/f(x). Kenapa kita memilih
polinomial irredusibel ? karena dengan memilih polinomial irredusibel
maka ada jaminan bahwa Z5[x]/f(x) merupakan field. Hal ini dijamin oleh
proposisi 31.
Langkah 2. Berdasarkan teorema 62, definisikan :
(5 ) = {
+
+
+ ⋯+
14
|
…
Ζ }
15
Ambil sembarang ( ), ( )
(5 );
( )=
+
+
+ ⋯+
( )=
+
+
+ ⋯+
 Operasi penjumlahan;
( )+ ( ) = (
(
+
+
), (
)+(
+
+
) + ⋯+(
), ..., (
+
+
)
) Ζ
 Operasi perkalian;
( ) ∗ ( ) = ( ). ( ) (
( ))
Langkah 3. Berdasarkan teorema 63, GF(5m) mempunyai sifat grup siklik,
sehingga GF(5m) dapat ditulis dengan 1, ,
,…,
.
Setelah kita dapat mengetes irredusibel, kemudian dibuat algoritma
membangun polynomial primitif yang kemudian dipilih polynomial primitif
yang untuk komputasi baik. Teorema berikut menjelaskan bagaimana cara
mendapatkan polynomial primitif secara komputasi
Teorema 3.1. Misal p adalah bilangan prima dan misalkan factor-faktor
prima yang berbeda dari pm – 1 adalah r1, r2, …, rt maka polynomial
irredusibel
( ) = Ζ (x) adalah primitf jika dan hanya jika ∀ , 1 ≤ ≤
berlaku
( ) .
≢1
Langkah 4. Mengkonstruksi aritmetika finite field melalui representasi
intejer yang diperoleh dari representasi polinomial primitif pada langkah 3.
Setelah melakukan konstruksi aritmetika finite field, kemudian mengetes
algoritma yang diperoleh dari segi kecepatan dan kapasitas memori. Untuk
melakukan hal tersebut digunakan notasi Big-O atau notasi Asymptotic.
15
BAB V
HASIL DAN PEMBAHASAN
5.1. Pembahasan Teorema dan Lemma yang Dibutuhkan Dalam Konstruksi
Aritmetik GF (5m)
Teori finite field mulai diperkenalkan pada abad ke tujuh dan abad ke
delapan, dengan tokoh matematikanya Pierre de Fermat (1601-1665) dan
Leonhard Euler (1707-1783) dengan kontribusinya pada khusus teori struktur
finite field. Teori secara umum tentang finite field mulai dikerjakan oleh Carl
Friedrich Gauss (1777-1855) dan Evariste Galois (1811-1832), teori ini banyak
dikembangkan dalam dunia aplikasi matematika, komputer, dan teori komunikasi.
(5 ), langkah pertama yang
Dalam melakukan konstruksi finite field
dilakukan adalah dengan memilih polinomial irredusibel berderajat 5 atas Z ,
misalkan ( ) ϵ Z [x]. Kenapa kita memilih polinomial irredusibel f(x) ? karena
dengan memilih polinomial irredusibel
f(x), menurut Teorema 2.35
⟨ ( )⟩ merupakan field. Menurut Teorema 2.39
menurut
{
+
Teorema
|
+⋯+
[ ]/⟨ ( )⟩ ≃ ( ), sehingga
[ ]/⟨ ( )⟩
2.44
,
dapat
}.
,…,
[ ]/
ditulis
Langkah
sebagai
selanjutnya
mengetes apakah polinomial irredusibel f(x) tersebut mempunyai akar atau tidak.
Hasilnya dipergunakan untuk mengkonstruksi perluasan field F. Teorema berikut
menjelaskan bahwa
[ ]/⟨ ( )⟩ ≃ ( ) ≃
(5 ).
Teorema 5.1. Misal p  x  yaitu polinomial irredusibel berderajat n atas Z p .
(
)=
+
+ ⋯+
,
,…,
merupakan field.
Bukti:
Diketahui p  x  yaitu polinomial irredusibel berderajat m atas Z p . Misalkan
: [ ]→
(
( ) = ( )
) yaitu fungsi yang didefinisikan
Fungsi f dibawah operasi  dan  merupakan homomorfisma karena
(
( )+
( )) = (
=(
= (
( )+
( )
( ))
( )
( )) + (
( )) + (
16
( ))
( )
( ))
( ).
17
(
( ).
( )) = (
( ).
=(
( ))
( )
= (
( )
( )). (
( )). (
( ))
( ))
Fungsi f surjektif karena ambil ( )
sedemikian hingga ( ( )) = ( )
( )
( )
(
) terdapat ( )
[ ]
( )
Kernel dari f yaitu
( ) =
( )
[ ]
={ ( )
( ) =0
[ }| ( )
( ) = 0}
= ⟨ ( )⟩
Karena fungsi f homomorfisma dan surjektif maka f epimorfisma. Selanjutnya
dengan memandang Teorema Dasar
). Menurut Teorema 2.35 F  x 
(
[ ]/⟨ ( )⟩ ≅
homomorfisma maka
p  x
(
field maka terbukti
) juga
field.
Akibat dari teorema di atas, maka
(5 ) = {
2.
+
dengan basis standar {1, ,
m
3. field GF(5 )
{
,
|
+⋯+
,
}
,…,
(5 ) dapat dipandang sebagai ruang vektor atas
field
,…,
,…,
}.
,
sehingga
,…,
]|
kita
,
Misal diberikan field hingga
himpunan
berdimensi m
dapat dipandang sebagai vektor dengan koordinatnya
},
(5 ) = {[
(5 )
(5 ) sebagai berikut .
sehingga diperoleh representasi
1. field
[ ]/⟨ ( )⟩ ≃ ( ) ≃
,…,
dapat
menulis
}.
(5 ) dan didefinisikan
(5 )∗ yaitu
(5 ) yang bukan nol dan dinotasikan dengan
unsur-unsur
(5 )\{0}. Dua teorema berikut menjelaskan bahwa
(5 )∗ merupakan
grup siklik multiplikatif dan mempunyai generator c yang merupakan unsur
primitif dari
Teorema 5.2.
(5 ).
(
)∗ merupakan grup siklik multiplikatif ber order
− 1.
Bukti:
Dari Definisi field
Karena
(
(
)∗ merupakan grup multiplikatif. Misal
)∗ ber order
− 1 maka ci mempunyai paling banyak
nilai yang berbeda. r  Z  dengan 1 ≤
≤
− 1 sedemikian sehingga
(
)∗
−1
18
c r i  ci


 c r ci c  i  c i c  i


 c r ci c i  1
(Sifat Assosiatif)
 cr  1.
Dapat disimpulkan r  Z  minimum sehingga O  c   r .
Pilih c sehingga r sebesar mungkin. Akan ditunjukkan order l dari sembarang
)∗
(
yaitu membagi r. Untuk sembarang prima  , misal r   a r ' dan
l   b l ' dimana r ' dan l ' tidak dapat dibagi oleh  . Maka c
a
mempunyai
a
order r ' ,  l ' mempunyai order  b , dan c  l ' mempunyai order  b r ' . Dari
sini diperoleh b  a atau r tidak maksimal. Dapat disimpulkan setiap pangkat
prima pembagi dari l juga pembagi dari r dan l r .
)∗
memenuhi persamaan x r  1  0 . Artinya x r  1 dapat
Maka setiap
(
dibagi oleh
 x   .
Karena ∃
−1
maka
diperoleh
=
(
)∗ ,
≥
− 1 tetapi
 F *
≤
−1
 x    x
p n 1
 1 dan.
)∗ =
(
,
− 1.
,
,…,
Sehingga
,
diperoleh
=1
 F *
Teorema 5.5. Sembarang
(
) memuat suatu unsur
primitif atau akar
primitif.
Bukti:
Misal
(
) field berhingga berorder
. Ambil c sebagai generator grup
siklik
(
)∗ . Dari Definisi 2.43 maka c merupakan unsur primitif atau akar
primitif.
Karena
(5 )∗
akibatnya
(5 )∗ merupakan
sehingga
grup
siklik
(5 )∗ = ⟨ ⟩ = 1, ,
(5 ) = 0, 1, ,
,...,
polinomial, dan representasi integer dalam
+
+2
,...,
.
Sebagai
. Tabel berikut ini menunjukkan
adanya hubungan antara representasi elemen
polinomial primitif ( ) =
multiplikatif, maka terdapat
primitif, representasi basis
(5 ) yang dibangun oleh
19
Tabel 1. finite field
No.
Elemen
primitif
(
)
Representasi Basis
Integer
1
0
0
0
2
=1
1
1
3
5
4
3+4
23
5
2+4
22
6
2+3
17
7
4+4
24
8
2
2
9
2
10
10
1+3
16
11
4+3
19
12
4+
9
13
3+3
18
14
4
4
15
4
20
16
2+
7
17
3+
8
18
3+2
13
19
1+
6
20
3
3
21
3
15
22
4+2
14
23
1+2
11
24
1+4
21
25
2+2
12
20
Kenapa kita perlu membahas polinomial minimum ? Karena polinomial
minimum menjamin bahwa polinomial tersebut adalah irredusibel dan jika
berunsur primitif merupakan polinomial primitif. polinomial primitif inilah yang
(5 ).
akan kita gunakan dalam mengkonstruksi algoritme aritmetik
Definisi 5.4. polinomial minimum M  x  dari c atas Z p merupakan polinomial
monik berderajat terendah dengan koefisien dari Z p sehingga M  c   0 .
Teorema 5.5. Misalkan m(x) adalah polinomial minimum dengan unsur α dalam
finite field GF(pm). Maka
(i)
m(x) irredusibel
(ii)
jika α akar dari polinomial f(x) dengan koefisien didalam GF (p), maka
m(x) membagi f(x)
−
(iii)
m(x) membagi
(iv)
derajat
(v)
Polinomial minimum berunsur primitif dari
( )≤
(
) yang berderajat m
( ) = ( ) ( ).
Sebagai akibatnya
merupakan polinomial primitif.
Bukti :
(i)
Jika m(x) redusibel, maka
( ) = 0. Karena tidak memuat pembagi nol, maka
( ) = 0 atau
( ) = 0. Hal ini kontradiksi dengan Definisi 5.4. Sehingga dapat
disimpulkan bahwa
( ) polinomial irredusibel.
(ii) Dengan menggunakan algoritma pembagian, ( ) = ( ) ( ) + ( ),
dimana derajat dari ( ) lebih rendah daripada derajat
( )=
( ) = 0, ( ) = 0. Dan karena derajat dari ( ) lebih rendah
daripada derajat
( ), maka ( ) ≈ 0.
(iii) Dari pembuktian sifat (ii) terbukti m(x) membagi
(iv) Karena
Ada
+
( ). Karena
(
) dan
(
) ruang vektor berdimensi m atas
+ 1 sembarang anggota yaitu {1, , … ,
+ ⋯+
( ). Maka ∑
−
= 0 dan terdapat
} yang tak bebas linear.
= {1, 2, … ,
} sehingga
merupakan polinomial berderajat ≤
mempunyai akar c sehingga derajat
( )≤
( ).
yang
21
(
(v) Misal
) unsur primitif. Menurut sifat 1, polinomial minimum
( ) berderajat d merupakan polinomial irredusibel. Dengan Teorema
5.1, gunakan
( ) untuk membangun field F ber order
(
memuat c dan semua unsur dari
menurut sifat 4, derajat
), maka
( ) ≤ , mengakibatkan
. Karena F
≥ . Selanjutnya
=
Dua teorema berikut menegaskan tentang eksistensi dan ketunggalan dari
finite field
(5 ).
Teorema 5.6. Semua field hingga ber order
adalah isomorfik.
Bukti:
Misal F dan G field ber order
dan
. Misal
( ) polinomial minimum dari   F
( ) polinomial minimum lain dari   G . Menurut Teorema 5.3,   F
dan   G merupakan unsur primitif atau akar primitif dari F dan dari G, dan
dengan Teorema 5.5.5 merupakan polinomial primitif. Dengan Teorema 5.5.3,.
( )|
− . Dan dari Teorema 5.5.4, derajat
( )≤
sehingga dengan
Teorema 5.1, field F dan G dapat dianggap memuat semua polinomial dalam 
dan  berderajat  n  1 , yaitu memuat polinomial modulo
( ). Maka dapat
dikatakan pemetaan    merupakan isomorfima pemetaan F  G .
≥ 1, maka ada
Teorema 5.7. Untuk sembarang p prima dan bilangan bulat
tunggal field ber order
yang dinotasikan dengan
(
).
Bukti:
Misal
(
). perluasan field hingga dari
Untuk
= 1, GF  p   Z p .
Untuk
> 1 bentuk F1  GF  p  .
Akan dibuktikan
(
( )..
) field yang memuat semua akar dari .
Misal f1  x  faktor irredusibel berderajat  2 dari
−
−
atas F1 . Menurut
Teorema 5.1 dengan menggunakan p  x   f1  x  dapat diperoleh field baru F2 .
Misal f 2  x  faktor irredusibel berderajat  2 dari
−
atas F2 . Menurut
Teorema 5.1 dengan menggunakan p  x   f 2  x  dapat diperoleh field baru F3 .
….sampai diperoleh field Fr yang unik, memuat semua akar dari
− .
22
( )=
Sehingga diperoleh:
−
=
( ) ( )… ( )
(
Berikut ini merupakan Teorema dan Lemma sub field dari
).
Lemma 5.8. Jika n, r, s bilangan bulat dengan n  1, r  1, s  1 , maka n s  1 n r  1
jika dan hanya jika s r .
Bukti:
Misal r  Qs  R dimana 0  R  s .
Qs
n r  1 n Qs  R  1
 1 nr 1
R n


n


.
ns 1
ns 1
ns 1 ns 1
Maka nQs  1 selalu dapat dibagi dengan n s  1 .
Teorema 5.9.
i)
 
GF p r
memuat sub field (isomorfik dengan ) GF  p s  jika dan hanya jika
s r.
s
ii) Jika c  GF  p r  , maka c  GF  p s  jika dan hanya jika c p  c . Untuk
sembarang field jika c 2  c , maka c yaitu 0 atau 1.
Bukti:
i)
 
) Misal c  GF p s
merupakan unsur primitif maka c p
s
1
 1 sehingga
O  c   p s  1 Karena GF  p s  sub field GF  p r  maka c  GF  p r 
sehingga c p
r
1
 1 . Berdasarkan sifat dasar ketiga dalam Ringkasan 2.3, maka
p s  1 p r  1 dan selanjutnya dengan Lemma 5.11 mengakibatkan s r .
) Misal c  GF  p s  merupakan unsur primitif maka c p
s
1
 1 sehingga
O  c   p s  1 . Dengan Lemma 5.11, karena s r diperoleh p s  1 p r  1 .
Karena p s  1 p r  1 dan GF  p s  sub field GF  p r  akibatnya c p
sehingga c  GF  p r  .
s
1
1
23
ii) ) Diketahui c  GF  p r  , maka c  GF  p s  . Dari Teorema Fermat setiap
s
unsur c  GF  p s  memenuhi c p  c .
s
 
 
) Misalkan c  GF p r dan diketahui c p  c . Dari i) karena GF p s sub
field GF  p r  maka c  GF  p s  .
=
↔
− = 0 ↔ ( − 1) = 0. Karena merupakan Daerah Integral dan
tidak memuat pembagi nol diperoleh c  0 atau. − 1 = 0 ↔
=1
Dari teorema di atas, kita bisa mengetahui bahwa sub field dari
adalah
(5 ),
(5 ),
(5 ),
(5 ),
(5 ), dan
(5).
Secara
(5 )
jelas
dapat digambarkan sebagai berikut :
(5 )
(5 )
(5 )
(5 )
(5 )
(5)
Gambar 2. Subfield dari
(5 )
Untuk mencari polinomial monik dan irredusibel dalam
(5 ) digunakan
teorema berikut ini.
Teorema 5.10.
−
= perkalian semua polinomial monik, irredusibel atas
Z p yang derajatnya membagi m.
Bukti:
) Misal M  x  polinomial irredusibel atas Z p berderajat d, dimana
| .
Untuk kasus M  x   x trivial. Asumsi M  x   x . Gunakan M  x  untuk
membuat field, maka M  x  merupakan polinomial minimum. Misalkan ( ) =
−
dan dari Teorema5.5.3:
( )|
− . Dengan memandang Lemma
24
5.8,
1
|
karena
− 1|
maka
( )|
− 1. Oleh karena itu
−1
−
dan
−
↔
−
− .
) Misal M  x  pembagi dari
− , polinomial irredusibel, dan berderajat d.
Akan ditunjukkan | . Asumsi.
( )≠
→
−1
( )
− 1. Gunakan M  x 
field GF  p d  ber order p d . Misal c  GF  p d  akar dari
untuk membuat
M  x  dan   GF  p d  merupakan unsur primitif dapat dinyatakan
  a0  a1c  a2c 2  ...  ad 1c d 1
Karena c akar dari M  x 
.
maka
= .
↔
(*)
(menurut Teorema 2.44)
( )=0↔
maka
− =0↔
= 1. Dari (*) dan Teorema 2.16:
−
diperoleh
=0↔
=
↔
 a  b
=
=
p
 ap bp
↔
Berdasarkan sifat dasar ketiga dalam Ringkasan 2.5 maka
↔
= 1.
pd 1 pn 1 .
Selanjutnya dengan Lemma 5.8 diperoleh d n .
Dari teorema di atas kita dapat mencari polinomial irredusibel dan polinomial
(5 ) sebagai berikut :
monik dalam
 Untuk
=1
( )=
−
=
+4 = (
+ 4) = (
+ 1)(
+ 4)
= ( + 2)( + 3)( + 1)( + 4)
 Untuk
=2
( )=
−
=
+4 = (
= (
+ 1)(
+ 4)
(
+ 2)(
+ 3)(
= (
+ 3)(
+2
+ 4)(
+ 1)(
+ 4)
=
(
+ 3)(
+ 4)
+ 1)(
+ 4)
+ 2)(
+3
= ( + 2)( + 3)( + 1)( + 1)( + 4)(
(
+ 2)(
(
+ 2 + 4)(
 Dan seterusnya
+ 4 + 1)(
+ 3 + 4)(
+ + 2)(
+ 4)(
+ 3)
+ + 1)
+ 4 + 2)
+ 2)
25
Untuk memeriksa bahwa polinomial yang diperoleh merupakan polinomial
irredusibel dan polinomial primitif digunakan dua teorema berikut ini.
Teorema 5.11. Jika p adalah prima dan m adalah intejer positif, maka berlaku :
1) Produk dari semua polinomial irredusibel monik dalam Ζp[x] yang derajatnya
− .
membagi m atau faktor dari m sama dengan
2) Misalkan f(x) adalah polinomial berderajat m dalam Ζp[x], maka f(x)
( ),
irredusibel atas Ζp[x] jika dan hanya jika
−
= 1, untuk
setiap 1 ≤ ≤
Bukti :
1) Misalkan f(x) polinomial irredusibel atas Ζp berderajat m, dimana
| . Untuk
kasus f(x) = x trivial. Asumsi ( ) ≠ . Gunakan f(x) untuk membuat field
GF(pm), maka f(x) merupakan polinomial minimum. Misalkan ( ) =
dan dari Teorema 5.5.4 maka
| maka
Lemma 5.8 dan karena
( )
− 1. Dengan memandang
− 1|
− 1 dan
− 1. Dengan demikian ( )
−1
−
| . Asumsi ( ) ≠
ditunjukkan bahwa
(
→ ( )
− 1. Gunakan f(x)
=
↔
+
) adalah akar
+⋯+
( )=0↔
adalah akar dari f(x), maka
(*). Karena α
−
=0↔
=0↔
=
↔
.
+
= .
Selanjutnya berdasarkan Lemma 5.8 maka diperoleh
↔
=1
− 1|
membagi k. Jadi
− 1.
| .
2) Berdasarkan Teorema 5.11 1), bahwa setiap intejer positif
−
↔
sehingga diperoleh :
Berdasarkan sifat ketiga pada Ringkasan 2.5 maka
polinomial
=
= 1.
Dari (*) dan Teorema 2.17 maka ( + ) =
−
(
) merupakan unsur primitif maka menurut Teorema
2.43 dapat dinyatakan sebagai
= .
↔
− . Sebaliknya misalkan
untuk membuat field GF(pm) ber order pm. Misalkan
.
−
− , polinomial irredusibel dan berderajat m. Akan
f(x) pembagi dari
dari f(x) dan
−
≥ 1, maka
adalah produk dari semua irredusibel monik berderajat
(
− , ( )) adalah pasti produk dari semua faktor
linear f(x). Jika f(x) tidak mempunyai faktor linear maka
(
− , ( ))
26
adalah pasti produk dari semua faktor irredusibel quadratik dari f(x). Jika f(x)
tidak irredusibel maka harus dapat dibagi oleh beberapa polinomial
/2 dan jika g(x) adalah faktor
irredusibel berderajat paling banyak
≤ /2. Jadi
irredusibel dari f(x) berderajat minimum (misalkan k), maka
− , ( )) ≠ 1.
(
Hal
ini
kontradiksi
dengan
− , ( ) = 1,
Sebaliknya jika f(x) adalah irredusibel, maka
untuk setiap 1 ≤
≤
pengandaian.
. Jadi untuk mengetes f(x) adalah irredusibel, hal ini
− , ( ) = 1 untuk setiap intejer positif 1 ≤
cukup dites
≤
. Dengan demikian dapat disimpulkan bahwa f(x) adalah irredusibel
Teorema 5.12. Misalkan p adalah bilangan prima dan misalkan mempunyai
faktor-faktor prima yang berbeda dari pm-1 adalah r1, r2, …, rt maka polinomial
( )
( )[ ] adalah
berlaku
≠ 1(
irredusibel
1≤ ≤
primitif jika dan hanya jika untuk setiap
( ))
Bukti :
− 1 adalah
Misalkan p adalah bilangan prima dan misalkan faktorisasi dari
r1, r2, …, rt , dimana r1, r2, …, rt adalah polinomial irredusibel atas GF(p)[x].
Akan dibuktikan bahwa jika x adalah unsur primitif atas GF(pm)* maka berlaku
( ) untuk setiap 1 ≤ ≤
≠1
Misalkan d dinotasikan order dari x. Kita tahu bahwa d adalah pembagi dari
− 1 dan x adalah primitif jika dan hanya jika
Pertama, andaikan bahwa
≤
1
− 1/
sehingga pasti
( ) untuk 1 ≤ ≤ dan juga
− 1 dan
<
− 1. Sebaliknya, andaikan bahwa
≠
≠
− 1. Karena d adalah pembagi dari
− 1 maka terdapat polinomial irredusibel ri dimana 1 ≤ ≤
sedemikian sehingga ri adalah pembagi dari (
adalah pembagi (
− 1.
( )) untuk beberapa i, maka jelas bahwa
≡ 1(
≠
=
− 1)/ . Tetapi ini berakibat bahwa d
− 1)/ . Dengan demikian
kontradiksi dengan pernyataan bahwa
≠1
≡
( )
≡ 1(
( )). Hal ini
5.2. Konstruksi Algoritme Aritmetik GF(5m)
(5 ) dapat
Seperti yang telah dijelaskan dalam Bab III, bahwa
direpresentasikan ke dalam bentuk polinomial dan vektor. Demi kemudahan
komputasi dalam penelitian ini digunakan representasi vector. Berikut ini
diberikan ilustrasi operasi penjumlahan dengan representasi vektor.
= (0, 1, 2, 3) sebagai representasi dari
Misalkan diberikan vektor
( )=
+2
+3
( )=2+2 +3
+
dan
+
= (2, 2, 3, 1) sebagai reprentasi dari
vektor
(5 ), maka
dalam
= (0, 1, 2, 3) + (2, 2, 3, 1) =
(0 + 2)
5, ( 1 + 2)
5, ( 2 + 3)
5, ( 3 + 1)
5 = (2, 3, 0, 4).
Untuk mengkonstruksi aritmetik GF (5m) dalam penelitian ini langkah
pertamanya adalah dengan memilih polinomial primitif berderajat m atas Z5,
misal
( )∈
[ ] dimana
( )=
+
+⋯+
sehingga diperoleh
unsur primitif α dengan M(α) = 0. Kemudian, tentukan basis dari GF(5m) sebagai
ruang
vektor
atas Z5, yaitu {1, α1, α2, …, αm-1}. Dengan demikian, diperoleh
(5 ) = {
himpunan
+
,
,…,
(5)}.
∈
(5 ) direpresentasikan ke dalam bentuk ruang
Kemudian semua unsur dari
vektor berdimensi m atas
|
+⋯
. Tabel berikut ini menunjukkan adanya hubungan
antara representasi elemen primitif, representasi basis polinomial, representasi
vektor penta, dan representasi integer dalam
polinomial primitif
( )=
+
(5 ) yang dibangun oleh
+2
Tabel 2. Representasi finite field
No.
Elemen
primitif
(
)
Representasi Basis
Vektor penta
Integer
1
0
0
(0, 0)
0
2
=1
1
(1, 0)
1
(0, 1)
5
3
4
3+4
(3, 4)
23
5
2+4
(2, 4)
22
28
6
2+3
(2, 3)
17
7
4+4
(4, 4)
24
8
2
(2, 0)
2
9
2
(0, 2)
10
10
1+3
(1, 3)
16
11
4+3
(4, 3)
19
12
4+
(4, 1)
9
13
3+3
(3, 3)
18
14
4
(4, 0)
4
15
4
(0, 4)
20
16
2+
(2, 1)
7
17
3+
(3, 1)
8
18
3+2
(3, 2)
13
19
1+
(1, 1)
6
20
3
(3, 0)
3
21
3
(0, 3)
15
22
4+2
(4, 2)
14
23
1+2
(1, 2)
11
24
1+4
(1, 4)
21
25
2+2
(2, 2)
12
Bagaimana memilih polinomial primitif? Sebagaimana telah dijelaskan
sebelumnya, polynomial primitif adalah polinomial irredusibel yang akarnya
adalah generator dari GF(5)*. Oleh karena itu, diperlukan pemilihan polinomial
irredusibel terlebih dahulu. Sesuai dengan Teorema 3.14, diperoleh Algoritme
pengetesan polinomial irredusibel sebagai berikut :
29
Algoritme 5.1. Pengetesan polinomial irredusibel
Deskripsi : Mengetes Vektor Apakah Irredusibel atau Redusibel
Input
: Vektor A
Output
: True atau False
= ( /2) dibulatkan ke bawah
1.
a = banyaknya unsur A – 1,
2.
W = [0, 1]
3.
Untuk I dari 1 sampai m, lakukan secara berulang :
3.1. W = W pangkat 5 modulo A
3.2. U= Jumlahkan W dengan [0, 4] menggunakan
algoritme 5.4
3.3. H = FPB(U,A)
3.4. h = banyaknya unsur H
3.5. jika h > 1, maka return(false)
4.
Return (True)
Setelah kita mendapatkan polinomial irredusibel, kemudian memeriksa
apakah polinomial irredusibel yang didapatkan tersebut merupakan polinomial
primitif atau bukan. Untuk memeriksa polinomial irredusibel adalah primitif,
digunakan Algoritme 5.2. Berdasarkan Teorema 3.15 diperoleh Algoritme 5.2
sebagai berikut :
Algoritme 5.2. Pengetesan polinomial primitif
Deskripsi : Mengetes Vektor Irredusibel Apakah Primitif atau Bukan
Input
: Vektor A
Output
: True atau False
1.
m = banyaknya unsur A – 1, h = 5m – 1
2.
F = faktorkan h
3.
a = banyaknya unsur F
4.
Untuk i dari 1 sampai a, lakukan secara berulang
4.1. k = h/i
4.2. H = [0, 1] pangkat k modulo A
4.3. Jika H = [1], maka return(false)
5.
Return(True)
30
Untuk mempercepat komputasi, dipilih polinomial primitif yang bersuku
(5 )
terkecil. Hal ini sangatlah beralasan, sebab operasi pada finite field
dilakukan dalam modulo f(x), dimana f(x) merupakan polinomial primitif. Dengan
memilih polinomial primitif
bersuku terkecil akan mengakibatkan proses
komputasi yang dijalankan lebih cepat dibandingkan dengan menggunakan
polinomial primitif biasa. Adapun polinomial primitif
yang sudah diperoleh
dapat dilihat di Lampiran I.
5.2.1.
Penjumlahan Polinomial
Seperti telah dijelaskan di atas, solusi yang digunakan di sini dengan
menggunakan representasi vektor penta. Misal diberikan dua sembarang fungsi
( )=
polinomial
+
+⋯
dan
( )=
+
+⋯
maka bentuk field penjumlahannya adalah sebagai berikut :
( )+ ( )= (
Fungsi
=[
polinomial
+
)+(
a(x)
+
)
direpresentasikan
+ ⋯ +(
+
sebagai
vektor
penta
polinomial b(x)
sebagai
vektor
,
,…,
],
=[ ,
,…,
]. Operasi penjumlahan yang digunakan di sini yaitu instruksi
sedangkan
fungsi
xor. Sebagai contoh, diberikan sembarang fungsi polinomial
2
)
+4
dan
( )=2+
( )=3+2 +
. Maka bentuk representasi vektor penta
( ):
= [3, 2, 2, 0, 4]
( ):
= [2, 0, 0, 0, 1]. Untuk menghemat pemakaian ruang yang besar dalam
dan
bentuk
representasi vektor
penta
komputasi, maka dilakukan reduksi nol pada vektor A atau B. Pada contoh di atas,
vektor A dan vektor B memiliki elemen yang sama, maka penjumlahannya
sebagai berikut :
C = A+B
= [(3+2) mod 5, (2+0) mod 5, (2+0) mod 5, (0+0) mod 5, (4+1) mod 5]
= [0, 2, 2, 0, 0].
Setelah diperoleh Vektor C,
= [0, 2, 2].
kemudian
dilakukan
reduksi nol sehingga :
31
Algoritme 5.3. Penjumlahan polinomial
Deskripsi : Menambahkan vektor A dan B dalam modulo 5
Input
=[
: Vektor
,
,…,
,…,
]
],
vektor
=[ ,
,…,
5, … , (
+
], dan
intejer positif m
Output
=[ ,
: Vektor
1.
Tentukan vektor A, dan vektor B
2.
Jika
3.
Jika B= [0], maka C = A
4.
Jika s=t, maka
4.1.
= [0], maka C = B
= {[(
)
+
)
5, (
+
)
5]}
4.2. Lakukan reduksi nol dengan menggunakan algoritme 5.4
5.
Jika s < t, maka
5.1.
= {[(
Lainnya
6.
+
= {[(
)
+
5, (
)
+
5, (
)
+
5, … ,
)
5, … ,
5]}
5]}
Return (C)
Pembentukan Algoritme 5.3.
ini didasarkan pada Teorema 2.45.
Keistimewaan Algoritme ini adalah pada setiap melakukan operasi selalu
melibatkan Algoritme Reduksi Nol. Algoritme Reduksi Nol dapat mengurangi
jumlah operasi pada konstruksi algoritme-algoritme aritmetik berikutnya sehingga
secara otomatis akan mampu mempercepat proses komputasi. Hal ini
mengakibatkan banyaknya operasi pada Algoritme 5.4 ini dapat diminimalkan
sehingga akan mempercepat proses komputasinya.
Algoritme 5.5. Algoritme Reduksi Nol
Deskripsi : Mereduksi nol pada posisi sebelah kanan
Input
: Vektor T dan bilangan posotof t.
Output
: Vektor
1. T = R, t = banyaknya unsur T
2. Untuk j selama T[t] = 0 dan t >1, lakukan berulang
2.1. Ganti unsur ke-j dari vektor T dengan himpunan kosong
2.2. t = t - 1
3. Return (R)
32
Algoritme Reduksi Nol di atas jika digunakan pada sebuah algoritme dapat
mengurangi jumlah operasi pada algoritme itu sendiri sehingga secara otomatis
akan mampu mempercepat proses komputasi. Cara kerja Algoritme ini adalah
menghilangkan anggota sebuah vektor yang terletak di sebelah kanan dan bernilai
nol.
5.2.2. Perkalian Polinomial
Dua algoritme berikut ini yaitu Algoritme 5.5 dan Algoritme 5.6 digunakan
untuk menunjang Algoritme Perkalian sehingga proses komputasi yang digunakan
akan lebih baik daripada melakukan perkalian biasa.
Algoritme 5.5. Kelipatan vektor
Deskripsi : Mengalikan vektor A dengan skalar n
Input
: Vektor
Output
: Vektor
=[
,
,…,
], dan intejer positif
{0, 1, . . . , 4}
1. Jika n = 0, maka return([0])
2. Jika n = 1, maka return(A)
3. Selainnya
=( ∗ )
5
4. Return (C)
Algoritme 5.5 ini sangatlah baik karena hanya melibatkan perkalian vektor dengan
skalar.
33
Algoritme 5.6. Geser satu
Deskripsi : Menggeser vektor A satu langkah
Input
: Vektor
Output
: Vektor
=[
,
,…,
], dan intejer positif
1. L = DatP[m]
2. t = banyaknya unsur vektor A
3. Jika t < m, maka tambahkan 0 di sebelah kiri pada vektor
A, selainnya :
4. Tambahkan 0 di sebelah kiri pada vektor A yang telah
direduksi pada unsur ke-m
5. Lakukan reduksi nol menggunakan Algoritme 5.3
6. Lipatkan vektor L dengan unsur ke-t pada vektor A
menggunakan Algoritme 5.5
7. Jumlahkan hasil dari langkah ke-5 dengan hasil dari langkah
ke-6 menggunakan Algoritme 5.4
8. Return(C)
Keistimewaan dari algoritme ini adalah hanya mengubah strukturnya saja dan
menggeser bersifat konstan. Oleh karena itu apabila digunakan pada suatu
algoritme akan mempercepat algoritme tersebut. Dan selanjutnya algoritme ini
akan digunakan dalam Algoritme Perkalian.
Misalkan
( )=
+
diberikan
+⋯
dua
dan
sembarang
( )=
fungsi
+
+⋯
polinomial
serta diberikan
fungsi polinomial primitif p(x) sehingga bentuk field perkalian dengan modulo
yaitu ( ). ( ) = ℎ( )
dimana ℎ( ) = ( 0 .
0)
+ ( 0.
( )
1
+
1. 0 )
1
+⋯+
.
Pada Algoritme 5.7, proses pertama yang dilakukan adalah mengetes apakah
kedua vektor mempunyai unsur yang sama ataukah berbeda. Jika kedua vektor
mempunyai unsur yang berbeda, maka vektor yang mempunyai unsur yang lebih
banyak ditempatkan sebagai vektor pertama. Hal ini bertujuan agar proses
34
perhitungan dalam komputasinya lebih sedikit. Selanjutnya pada algoritme ini
melibatkan algoritme kelipatan vektor, algoritme geser satu, dan algoritme
penjumlahan.
Algoritme 5.7. Perkalian Polinomial
Deskripsi : Mengalikan
dua
vektor,
kemudian
hasil
perkaliannya
dimoduluskan dengan vektor primitif P
Input
: Vektor
=[ ,
,…,
],
vektor
=[ ,
,…,
], dan
intejer positif m
Output
: Vektor
1.
= [ , , … , ] dan c = nops(R).
Tentukan vektor A, vektor B, s = banyaknya unsur A, dan
t = banyaknya unsur B
= [0], atau B= [0], maka return([0])
2.
Jika
3.
Jika s < t, maka
3.1. S=B, T=A, a=s, s=t, t=a
3.2. R= Lipatkan vektor T dengan (op(1,S)) menggunakan
algoritme 5.5.
3.3. Untuk j dari 1 sampai (s – 1 ), lakukan
3.3.1. T = Lakukan Geser satu dengan algoritme 5.6
3.3.2. V = Lipatkan vektor T dengan (op(j+1,S))
menggunakan algoritme 5.5.
3.3.3. R = Jumlahkan vektor R dan V dengan
menggunakan algoritme 5.4 secara rekursif
4.
Return (R)
Pembentukan Algoritme 5.7. ini didasarkan pada Teorema 2.45. Karena
pada algoritme ini melibatkan Algoritme Kelipatan Vektor, Algoritme Geser Satu,
dan Algoritme Penjumlahan yang melibatkan Algoritme Reduksi Nol maka dapat
dikatakan bahwa algoritme ini cukup baik karena tidak membutuhkan ruang yang
cukup besar dan proses komputasinya cukup cepat.
35
5.2.3.
Invers Polinomial
Untuk menunjukkan bahwa setiap elemen tak nolnya mempunyai invers,
diambil [ ( )]
[ ]/⟨ ( )⟩ dengan [
) ≠ 0]. Karena [1] merupakan elemen
identitas terhadap operasi perkalian, maka akan ditunjukkan bahwa terdapat
[ℎ( )]
[ ]/⟨ ( )⟩
( ). ℎ( ) ≡ 1
f(x) tidak membagi
sedemikian
hingga
[ ( )]
atau
( ) . Karena f(x) merupakan polinomial irredusibel dan
( ), maka
( ), ( ) = 1. Akibatnya terdapat
polinomial s(x) dan t(x) sedemikian hingga
( ). ( ) ≡ 1(
[ ( )]. [ℎ( )] = [1]
( ). ( ) + ( ) ( ) = 1 atau
( )). Jadi diperoleh bahwa [ ( )]. [ ( )] = [1] sehingga
= [ ( )]. Untuk menentukan invers dari vekrtor A dapat menggunakan
Algoritme 5.10. Algoritme ini didasarkan pada Definisi 2.17.
Algoritme 5.8 dan Algoritme 5.9 digunakan untuk mendukung Algoritme
Invers Polinomial.
Algoritme 5.8. Negasi vektor
Deskripsi : Mengubah vektor A dengan negasinya
Input
: Vektor
Output
: Vektor
=[ ,
=[ ,
,…,
,…,
],
]
1. Petakan unsur x pada vektor A dengan –x
2. Return (C)
Algoritme ini digunakan untuk memperoleh invers penjumlahan dari masingmasing anggotanya. Adapun invers dari masing – masing anggotanya adalah
sebagai berikut :
1 inversnya 4, karena 1+4 = 0
2 inversnya 3, karena 2+3 = 0
3 inversnya 2, karena 3+2 = 0
4 inversnya 1, karena 4+1 = 0
36
Algoritme 5.9. Pembagian polinomial tanpa modulo m
Deskripsi : Membagi dua polinomial tanpa modulo m
Input
: Vektor
Output
: Vektor
dan vektor
= [ , ] dimana vektor Q sebagai hasil pembagian dan
vektor R sebagai sisa pembagian
1.
Jika S=[0], maka “false”
2.
R=T; Q=[0]; r = banyaknya unsur T; s = banyaknya unsur S;
g = unsur ke-s dari vektor S
3.
4.
Jika s = 1, maka
3.1.
Q = lipatkan vektor R dengan operan S
3.2.
R = [0]
3.3.
Return ([Q, R])
Untuk i selama
≥ , lakukan
4.1.
k = r – s; t = unsur ke-r dari vektor R
4.2.
h = ( t*g) mod 5
4.3.
jika k = 0, maka
4.3.1. K = lipatkan vektor S dengan h
4.3.2. Q = jumlahkan vektor Q dengan [h]
4.4.
Selainnya
4.4.1. H = lipatkan vektor S dengan h
4.4.2. K = [seq(0,j=1..k),op(H)]
4.4.3. Q = jumlahkan (Q,[seq(0,j=1..k),h])
5.
K = negasikan vektor K
6.
R = jumlahkan vektor K dan vektor R
7.
Return ([Q, R])
Algoritme Pembagian di atas merupakan pembagian seperti biasa yang tidak
melibatkan polinomial primitif
( ) sebagai modulonya. Algoritme ini sangat
baik karena operasi-operasi yang digunakan menggunakan operasi penjumlahan
dan operasi kelipatan vektor.
37
Algoritme 5.10. Invers Polinomial
Deskripsi : Invers polinomial dari suatu bilangan bulat m
Input
: Vektor
= [ , , … , ], dan intejer positif m
Output
: Vektor
= [ℎ , ℎ , … , ℎ ] dan r = nops(C).
1.
S = Negatifkan vektor (DatP(m)) menggunakan algoritme 1.5
2.
Jika
3.
Jika banyaknya unsur T = 1, maka return (T)
4.
RA = [op(S), seq(0, j = 1…(m – t)), 1];
= [0], maka “salah”
RB = T; QA = [0]; QB = [1];
5.
L = Bagi vektor RA dan RB menggunakan algoritme 5.9
6.
RA = RB
7.
RB = Operan kedua dari L
8.
Untuk i selama RB tidak nol, maka lakukan langkah berikut
berulang-ulang
8.1. Tmp = QA; QA = QB
8.2. H = Kalikan vektor QB dengan op(1,L) menggunakan
algoritme 5.7
8.3. R = Negasikan vektor H menggunakan algoritme 5.8
8.4. QB = Jumlahkan
vektor
Tmp dengan vektor R
menggunakan algoritme 5.4
8.5. L = Lakukan pembagian vektor RA dengan vektor RB
menggunakan algoritme 5.9
8.6. RA = RB; RB = operan kedua dari L
9.
H = Lipatkan vektor QB dengan op(RA) menggunakan
algoritme 5.5
10. Return (H)
Pada Algoritme 5.10, proses pertama yang dilakukan adalah negatifkan vektor
dalam DatP(m) yang berfungsi sebagai polinomial primitif menggunakan
Algoritme 5.8. Proses kedua adalah gabungkan vektor dalam DatP(m), vektor
QA, dan vektor QB ke dalam vektor RA yang kemudian gunakan Algoritme 5.9
38
untuk menentukan vektor L, yaitu membagi vektor RA dengan vektor RB. Proses
selanjutnya adalah selama sisa pembagiannya tidak nol, maka lakukan secara
berulang-ulang dengan menggunakan Algoritme operasi rutin yaitu berturut-turut
Algoritme 5.7
dan Algoritme 5.8 yang kemudian jumlahkan dengan
menggunakan Algoritme 5.5. Proses yang terakhir adalah gunakan Algoritme 5.5
untuk menentukan vektor H.
Algoritme Invers Polinomial ini digunakan untuk menghitung invers
(5 ) merupakan grup siklik multiplikatif. Algoritme ini
perkalian, karena
dapat dikatakan sangat baik secara komputasi dikarenakan didalamnya melibatkan
Algoritme Perkalian Polinomial, Algoritme Penjumlahan Polinomial, dan
Algoritme Kelipatan Vektor. Algoritme-algoritme tersebut selalu melibatkan
proses reduksi nol, geser satu, dan polinomial primitif yang digunakan sebagai
modulonya menggunakan polinomial primitif yang bersuku kecil.
5.2.4.
Pembagian Polinomial
Misalkan
( )=
+
diberikan
dua
+⋯
dan
sembarang
( )=
fungsi
+
+⋯
polinomial a(x) direpresentasikan sebagai vektor penta
sedangkan fungsi polinomial b(x) sebagai vektor
polinomial
=[ ,
.
=[
,
,…,
Fungsi
,…,
],
].
Berdasarkan Teorema 2.31, maka kita dapat membuat Algoritme pembagian
polinomial (Algoritme 5.5). Pada Algoritme 5.5, langkah pertama adalah
menginverskan vektor B dengan Algoritme 5.10, kemudian kalikan vektor A
dengan invers vektor B dengan menggunakan Algoritme 5.7 sehingga diperoleh
hasil yang diinginkan.
Algoritme 5.11. Pembagian Polinomial
Deskripsi : Membagi dua polinomial dengan modulo m
Input
: Vektor
=[ ,
,…,
],
vektor
=[ ,
,…,
], dan
intejer positif m
Output
: Vektor
=[ ,
,…,
]
1.
iB = Inverskan vektor B menggunakan algoritme 5.10
2.
Kalikan vektor A dengan vektor iB menggunakan algoritme
5.7
3.
Return (C)
39
Algoritme Pembagian Polinomial ini hanya melibatkan Algoritme Invers
Polinomial dan Perkalian Polinomial yang didalamnya melibatkan operasi reduksi
nol dan kelipatan vektor yang tentunya membutuhkan ruang yang sedikit dan
berakibat pada semakin cepatnya proses komputasi yang dijalankan.
5.2.5. Eksponen Polinomial
Aritmetik eksponen polinomial dalam Algoritme 5.12 berfungsi untuk
mengalikan dua fungsi polinomial atau lebih dengan modulo m. Yang menjadi
kekuatan dari Algoritme 5.12 ini adalah bahwa finite field
(5 ) dibentuk dari
sifat grup siklik.
Algoritme 5.12. Eksponen Polinomial
Deskripsi : Mengeksponensialkan polinomial dalam modulo m
Input
: Vektor
= [ , , … , ], intejer x dan intejer positif m
Output : Vektor = [ℎ , ℎ , … , ℎ ]
1. p = 5m – 1
2. k = moduluskan (x, p) menggunakan Algoritme 5.13
3. Jika ≥ 0, maka
3.1. X = konversi nilai k dalam basis 2; t = banyaknya unsur X
3.2. G = A; H = [1]
3.3. Jika X1 = 1, maka H = G
3.4. Untuk i mulai dari 2 sampai t, lakukan
3.4.1. G = kalikan vektor G dengan G menggunakan
Algoritme 5.7
3.4.2. Jika Xi = 1, maka H = kalikan vektor H dengan G
menggunakan Algoritme 5.7
4. n = -k
5. X = konversi nilai n dalam basis 2; t = banyaknya unsur X
6. G = inverskan vektor A dengan Algoritme 5.10; H = [1]
7. Jika x1 = 1 maka H = G
8. Untuk i mulai dari 2 sampai dengan t, lakukan
8.1. G = kalikan vektor G dengan G menggunakan Algoritme
5.7
8.2. Jika Xi = 1, maka H = kalikan vektor H dengan G
menggunakan Algoritme 5.7
9. Return (H)
( )= +
Misalkan
sembarang
polinomial
+ ⋯+
direpresentasikan dalam bentuk vektor
=[
,
,…,
] dimana
=[
,
,…,
] dan barisan basis dua
[0, 1] serta polinomial primitif
( ) berderajat m.
Derajat maksimal dari polinomial di sini berlaku sebagai modulus yaitu (5 − 1),
40
sedangkan eksponennya merupakan barisan basis dua yang diperoleh dari input i
yang dimoduluskan dengan menggunakan Algroritme 5.13 seperti di bawah ini.
Algoritme 5.13. Modulus bilangan negarif
Deskripsi : Membagi dua polinomial dengan modulo m
Input
: integer positif m dan a
Output
: integer b
1.
2.
3.
Hitung =
= ( /2), hasilnya dibulatkan ke bawah
Jika b > c, maka
3.1.
= −( − )
Return(b)
4.
5.
Proses selanjutnya jika nilai yang dimoduluskan lebih dari atau sama dengan nol,
maka konversi ke dalam basis dua. Jika hasil konversinya sama dengan 1, maka
H = A. Jika hasilnya lebih dari sama dengan 2, maka kalikan vektor yang telah
dihasilkan dengan algoritme 5.7 secara berulang. Jika hasilnya selain di atas
(bernilai negatif), maka negatifkan hasilnya. Lalu lakukan langkah tersebut di atas
secara berulang.
41
BAB VI
KESIMPULAN DAN SARAN
6.1. Kesimpulan
Dari hasil penelitian yang telah dilakukan diperoleh kesimpulan sebagai
berikut :
1.
Finite
field
(5 )
dikonstruksi dari polinomial
mengkonstruksi algoritme aritmetik
primitif.
Untuk
(5 ) dipilih polinomial primitif yang
bersuku terkecil, hal ini akan mengakibatkan proses komputasi yang
dijalankan lebih cepat dibandingkan dengan menggunakan polinomial
primitif biasa.
2.
Algoritme Reduksi Nol digunakan untuk mengurangi jumlah operasi pada
sebuah algoritme. Algoritme ini digunakan pada Algoritme Penjumlahan,
Algoritme Penjumlahan digunakan dalam Algoritme Perkalian, Algoritme
Penjumlahan dan Algoritme Perkalian digunakan dalam Algoritme Invers,
dan seterusnya.
3.
Algoritme Geser Satu mampu mempercepat proses kerja suatu algoritme,
karena pada algoritme ini hanya mengubah strukturnya saja dan menggeser
bersifat konstan. Algoritme ini digunakan pada Algoritme Perkalian,
Algoritme Perkalian digunakan dalam Algoritme Invers, dan seterusnya.
4.
Algoritme aritmetik hasil konstruksi tidak membutuhkan ruang yang besar
sehingga cukup cepat dalam komputasinya karena yang dipakai sebagai
modulo digunakan polinomial primitif bersuku terkecil, melakukan reduksi
nol yang berfungsi mengurangi jumlah operasi dalam algoritme, dan operasi
geser satu.
6.2. Saran
Hasil konstruksi ini perlu dilanjutkan ke arah kurva eliptik kriptografi.
42
DAFTAR PUSTAKA
Cohen, Henri and Gerhard Frey.(2006). Handbook of Elliptic and Hyperelliptic
Curve Cryptography. Chapman & Hall/CRC.
Dummit;, D. S. and R. M. Foote. (1999). Abstract Algebra, john Wiley and Sons,
Inc.
Fraleigh (1994). Abstract Algebra.
Gallian, J. A. (1998). Contemporary Abstract Algebra, Houghton Mifflin
Company.
Greenan, Kevin, M., Miller, Ethan, L., Scwarzh. 2007. Analysis and Construction
of Galois Field for Efficient Storage Reliability. Technical Report UCSCSSRC-07-09
Guritman, S. (2004). Struktur Aljabar.
Huffman, W. Carry and Vera Pless (2003). Fundamentals of Error-Correcting
Codes. Cambridge University Press.
Koc, K. Cetin, Acar, Tolga. Montgomery Multiplication in GF(2k). Designs,
Codes and Cryptography 14(1), 57-69
Menezes, A., P. v. Oorschot, et al. (1996). Handbook of Applied Cryptography,
CRC Press.
Pinter, C. C. (1990). A Book of Abstract Algebra, McGraw-Hill, Inc.
Pless, Vera (1990). Introduction to the Theory of Error-Correcting Codes, Second
Edition. John Willey & Sons, Inc.
Rosdiana, Sri (2009). Konstruksi Algoritme Aritmetik
(5 ) Dengan Operasi
Perkalian Dibangkitkan Dari Sifat Grup Siklik. Penelitian.
Download