bab ii dasar teori 2.1. enkripsi dan...
TRANSCRIPT
5
BAB II
DASAR TEORI
Pada bagian ini akan dibahas mengenai dasar teori yang digunakan dalam pembuatan
sistem yang akan dirancang dalam skripsi ini.
2.1. Enkripsi dan Dekripsi
Proses menyandikan plaintext menjadi ciphertext disebut enkripsi (encryption) atau
enciphering (standard nama menurut ISO 7498-2) sedangkan proses mengembalikan
ciphertext mejadi plaintext disebut dekripsi (decryption) atau deciphering (standard ISO
7498-2).[2]
Plaintext merupakan pesan atau data dalam bentuk aslinya yang dapat terbaca.
Sedangkan Ciphertext merupakan pesan dalam bentuk tersembunyi. [1]
Secara sederhana proses enkripsi - dekripsi dapat digambarkan sebagai berikut :
Gambar 2.1. Proses Enkripsi – Dekripsi
Sebelumnya akan dibahas mengenai beberapa istilah-istilah yang akan sering dipakai
dalam pembuatan skripsi ini, di antaranya yaitu :
1. Plaintext (P) merupakan pesan asli.
2. Ciphertext (C) merupakan pesan terenkripsi yang merupakan hasil enkripsi.
3. Enkripsi (E) merupakan proses pengubahan plaintext menjadi ciphertext.
4. Dekripsi (D) adalah kebalikan dari enkripsi yakni mengubah ciphertext menjadi
plaintext, sehingga berupa data awal/asli.
5. Kunci (K) adalah suatu bilangan yang dirahasiakan yang digunakan dalam proses
enkripsi dan dekripsi.
6
Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara matematis
sebagai berikut :
EK (P) = C (Proses Enkripsi)
DK (C) = P (Proses Dekripsi)
Pada saat proses enkripsi kita menyandikan pesan P dengan suatu kunci K lalu
dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut diuraikan dengan
menggunakan kunci K sehingga dihasilkan pesan P yang sama seperti pesan sebelumnya.
Terdapat dua jenis metode berdasarkan kunci yang akan digunakan saat proses
enkripsi maupun dekripsi yaitu:
1. Algoritma Simetrik
Algoritma Simetrik adalah algoritma yang menggunakan kunci yang sama untuk
proses enkripsi maupun dekripsi. Dengan kata lain proses enkripsi dapat dihitung
menggunakan kunci dekripsi dan begitu pula sebaliknya, proses dekripsi dapat dihitung
menggunakan kunci enkripsi. Pada algoritma simetrik diperlukan kesepakatan antara
pengirim dan penerima pesan pada suatu kunci sebelum dapat berkomunikasi secara aman.
Algoritma simetrik dikelompokkan menjadi dua jenis, yaitu stream cipher dan block
cipher. Stream cipher beroperasi bit per bit pada suatu waktu. Sedangkan block cipher
beroperasi per kelompok-kelompok bit yang disebut blok pada suatu waktu.
2. Algoritma Asimetrik
Algoritma Asimetrik didesain untuk memudahkan distribusi kunci yang digunakan
dalam proses enkripsi dan dekripsi. Berbeda dengan algoritma simetrik, kunci dekripsi pada
algoritma asimetrik secara praktis tidak dapat dihitung dari kunci enkripsi. Kunci pada
algoritma ini dapat dibuat menjadi publik. Dimana setiap orang dapat menggunakan kunci
enkripsi untuk mengenkripsi pesan, tetapi hanya orang yang memiliki kunci dekripsi yang
dapat mendekripsi pesan tersebut. Pada algoritma ini kunci enkripsi sering disebut kunci
publik, dan kunci dekripsi disebut kunci rahasia.
7
2.2. Advanced Encryption Standard (AES)
Pada skripsi ini akan membahas Algoritma Simetrik lebih lanjut dikarenakan
menggunakan metode Advanced Encryption Standard (AES) lebih baik dibanding dengan
metode seperti Data Encryption Standard (DES) ataupun yang lainya yang ada pada
algoritma simetrik.
Pemilihan metode AES karena AES dinilai memiliki keamanan yang lebih baik
daripada sistem sandi DES. [1] Untuk itu NIST (National Institute of Standards and
Technology) membuat sayembara untuk menggantikan DES dengan sebuah sistem
penyandian yang disebut Advanced Encryption Standard pada tanggal 12 September 1997.
NIST memberikan spesifikasi AES, yaitu harus memiliki panjang blok 128 bit dan mampu
mendukung panjang kunci 128,192,256. [1]
Setelah beberapa seleksi, NIST memilih sistem penyandian Rijndael yang
dikembangkan oleh Joan Daemen dan Vincent Rijment sebagai sistem penyandian AES
pada tahun 2000. [1]
AES merupakan standar enkripsi dekripsi dengan kunci simetris yang menggantikan
pendahulunya yaitu DES. Jenis AES terbagi 3, yaitu AES-128, AES-192 dan AES-256.
Angka-angka yang berada di belakang kata AES merupakan panjang kunci yang digunakan
pada tiap-tiap AES.
Selain itu AES-128 round yang digunakan sebanyak 10 round, AES-192
menggunakan 12 round, dan AES-256 menggunakan 14 round.
2.3. Contoh Perhitungan
Pada contoh perhitungan akan dijelaskan tahap – tahap perhitungan AES, baik untuk
proses enkripsi maupun dekripsi.
2.3.1 Menghitung Enkripsi AES
Proses di dalam AES merupakan transformasi terhadap state. Sebuah teks asli dalam
blok (128 bit) terlebih dahulu diorganisir sebagai state. Enkripsi AES adalah transformasi
terhadap state secara berulang dalam beberapa ronde. State yang menjadi keluaran ronde k
menjadi masukan untuk ronde ke k+1.
8
Secara garis besar, desain enkripsi AES dapat diberikan oleh gambar dibawah ini.
State
AddRoundKey
SubBytes
ShiftRows
MixColumns
AddRoundKey
SubBytes
ShiftRows
MixColumns
AddRoundKey
SubBytes
ShiftRows
AddRoundKey
State
Pra Ronde
Ronde 1
Ronde 2
Ronde 10
dst
Ekspansi Kunci AES
Kunci Asli
Ekspansi
Kunci ke-1
Ekspansi
Kunci ke-2
Ekspansi
Kunci ke-10
dst
Gambar 2.2. Struktur Enkripsi AES [1]
Pada awalnya teks asli direorganisasi sebagai sebuah state. Kemudian sebelum ronde
1 dimulai blok teks asli dicampur dengan kunci ronde ke-0 (transformasi ini disebut
AddRoundKey). Setelah itu, ronde ke-1 sampai dengan ronde ke-(Nr-1) dengan Nr adalah
jumlah ronde menggunakan 4 transformasi yaitu SubBytes, ShiftRow, MixColumns dan
AddRoundKey. Pada ronde terakhir, yaitu ronde ke-Nr dilakukan transformasi serupa
dengan ronde lain namun tanpa trasformasi MixColumns.[1]
9
Berikut ini merupakan tabel konstan Rcon dalam hexadecimal:
Tabel 2.1. Tabel Konstan Rcon [1]
01 02 04 08 10 20 40 80 1b 36
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
Berikut merupakan cara memperoleh ekspansi kunci sebelum digunakan dalam proses
perhitungan AES.
2b 28 ab 09 a0 88 23 2a
7e ae f7 cf fa 54 a3 6c
15 d2 15 4f fe 2c 39 76
16 a6 88 3c 17 b1 39 05
Kolom terakhir kunci awal ditukar ke atas satu kali menjadi :
cf 8a
4f Disubtitusi menjadi 84
3c eb
09 01
Setelah itu disubtitusi dengan tabel SubBytes kemudian di XOR dengan kolom ke-1
dan di XOR dengan kolom ke-1 pada tabel konstan Rcon sehingga menjadi :
2b 8a 01 a0
7e XOR 84 XOR 00 = fa
15 eb 00 fe
16 01 00 17
Kunci kolom ke-1 Hasil SubBytes Tabel Rcon
10
Lalu ambil data pada kolom ke-2 kunci awal dan di XOR dengan hasil sebelumnya.
28 a0 88
ae XOR fa = 54
d2 fe 2c
a6 17 b1
Lalu ambil data pada kolom ke-3 kunci awal dan di XOR dengan hasil sebelumnya.
ab 88 23
f7 XOR 54 = a3
15 2c 39
88 21 39
Lalu ambil data pada kolom ke-4 kunci awal dan di XOR dengan hasil sebelumnya
09 23 2a
cf XOR a3 = 6c
4f 39 76
3c 39 05
Dan langkah diatas diulang dengan kolom ke-2 tabel konstan Rcon hingga selesai
(kolom ke-10 tabel konstan Rcon).
Berikut merupakan contoh data beserta perhitungan untuk masing-masing tahapan
yang dilakukan pada AES:
a. Pre Round (Data xor Key)
Data asli : Key awal: Hasil:
32 88 31 e0 2b 28 ab 09 19 a0 9a e9
43 5a 31 37 7e ae f7 cf 3d f4 c6 f8
f6 30 98 07 15 d2 15 4f e3 e2 8d 48
a8 8d a2 34 16 a6 88 3c be 2b 2a 08
11
b. SubBytes
Pada tahap ini hasil dari pre round disubtitusi dengan tabel berikut:
(Contoh: Data dengan hex 19 disubtitusi dengan tabel subtitusi menjadi d4)
Tabel 2.2. Tabel Subtitusi untuk Transformasi Subbytes [1]
0 1 2 3 4 5 6 7 8 9 a b c d e f
0 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76
1 ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0
2 b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15
3 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75
4 09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84
5 53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf
6 d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8
7 51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2
8 cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73
9 60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db
a e0 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79
b e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08
c ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a
d 70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e
e e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df
f 8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 bb 16
Sehingga data setelah hasil pre-round di subtitusi dengan tabel menjadi:
d4 e0 b8 1e
27 bf b4 41
11 98 5d 52
ae f1 e5 30
c. ShiftRows
Pada tahap ini data yang dihasilkan pada tahap sebelumnya (SubBytes) digeser ke kiri
sesuai dengan gambar di bawah ini:
Gambar 2.3. Transformasi ShiftRows [1]
12
Sehingga data setelah hasil SubBytes di ShiftRows menjadi:
d. MixColumns
[
] [
] [
]
Syarat:
- Jika msb data berawalan dengan 1 maka di left shift dan xor tetap
- Jika msb data berawalan dengan 0 maka di left shift tapi xor dihilangkan.
- Tetapan untuk pengali 02 yaitu disubtitusi menjadi “xor 1B”
- Karena 03 (11) merupakan 10 xor 01 maka akan dipecah menjadi pengali 02
(yang berarti juga akan disubtitusi menjadi xor 1B) dan 01
Contoh perhitungan perkaliannya:
1. Perhitungan untuk baris ke-1
d4 . 02
11010100 xor 00011011
10101000 (di left shift dan xor tetap)
00011011 XOR
10110011
bf . 03
10111111 . ( 10 xor 01)
(10111111 . 10) xor (10111111 . 01)
(01111110 xor 00011011) xor 10111111
01100101 xor 10111111
11011010
d4 e0 b8 1e
bf b4 41 27
5d 52 11 98
30 ae f1 e5
13
5d . 01
01011101 . 01
01011101
30 . 01
00110000 . 00000001
00110000
Lalu hasil masing-masing di xor semua menjadi
10110011
11011010
01011101
00110000 xor
00000100 (dalam hex = 04)
2. Perhitungan untuk baris ke-2
d4 . 01
11010100 . 00000001
11010100
bf . 02
10111111 . 10
01111110 . 10 (di left shift dan xor tetap)
01111110 xor 00011011
01100101
5d . 03
(01011101 . 10) xor (01011101 . 01)
10111010 (xor 1B dihilangkan) xor 01011101
11100111
30 . 01
00110000 . 00000001
00110000
14
Lalu hasil masing-masing di xor semua menjadi
11010100
01100101
11100111
00110000 xor
01100110
3. Perhitungan untuk baris ke-3
d4 . 01
11010100 . 01
11010100
bf . 01
10111111 . 01
10111111
5d . 02
01011101 . 10
10111010 (hanya di left shift, xor dihilangkan)
30 . 03
(00110000 . 10) xor (00110000 . 01)
(01100000) xor (00110000)
01010000
Lalu hasil masing-masing di xor semua menjadi
11010100
10111111
10111010
01010000 xor
10000001
15
4. Perhitungan untuk baris ke-4
d4 . 03
(11010100 . 10) xor (11010100 . 01)
(10101000 xor 00011011) xor (11010100)
10110011 xor 11010100
01100111
bf . 01
10111111 . 01
10111111
5d . 01
01011101 . 01
01011101
30 . 02
00110000 . 10
01100000 (hanya di left shift, xor dihilangkan)
Lalu hasil masing-masing di xor semua menjadi
01100111
10111111
01011101
01100000 xor
11100101
[
] [
] [
]
[
] [
] [
]
16
[
] [
] [
]
Sehingga data setelah hasil ShiftRows di MixColumns menjadi:
04 e0 48 28
66 cb f8 06
81 19 d3 26
e5 9a 7a 4c
e. AddRoundKey
Pada tahap ini hasil dari MixColumns di XOR dengan hasil Round Key ke-1
04 e0 48 28 a0 88 23 2a
66 cb f8 06 fa 54 a3 6c
81 19 d3 26 fe 2c 39 76
e5 9a 7a 4c 17 b1 39 05
Sehingga hasilnya
a4 68 6b 02
9c 9f 5b 6a
7f 35 ea 50
f2 2b 43 49
17
2.3.2 Menghitung Dekripsi AES
Untuk proses dekripsi AES dapat diilustrasikan seperti berikut:
State
AddRoundKey
InvSubBytes
InvShiftRows
InvMixColumns
AddRoundKey
InvSubBytes
InvShiftRows
InvMixColumns
AddRoundKey
InvSubBytes
InvShiftRows
AddRoundKey
State
Ronde 10
Ronde 9
Ronde 1
Pre - Ronde
Ekspansi Kunci AES
dstdst
Ekspansi
Kunci ke-9
Kunci Asli
Ekspansi
Kunci ke-1
Ekspansi
Kunci ke-10
Gambar 2.4. Struktur Dekripsi AES [1]
Secara ringkas algoritma dekripsi merupakan kebalikan algoritma enkripsi AES.
Algoritma dekripsi AES menggunakan transformasi invers semua transformasi dasar yang
digunakan pada algoritma enkripsi AES. Setiap transformasi dasar AES memiliki
transformasi invers, yaitu: InvSubBytes, InvShiftRows dan InvMixColumns. AddRoundKey
merupakan transformasi yang bersifat self-invers dengan syarat menggunakan kunci yang
sama. [1]
18
Berikut merupakan contoh tahapan masing-masing proses saat proses dekripsi:
1. PreRound
Ciphertext:
39 02 dc 19
25 dc 11 6a
84 09 85 0b
1d fb 97 32
Di XOR dengan AddRoundKey
d0 c9 e1 b6
14 ee 3f 63
f9 25 0c 0c
a8 89 c8 a6
Dihasilkan:
e9 cb 3d af
31 32 2e 09
7d 2c 89 07
b5 72 5f 94
2. Round 1
a. InvShiftRow
Proses InvShiftRow ini merupakan kebalikan dari ShiftRow.
Gambar 2.5. Transformasi InvShiftRows [1]
19
Sehingga hasil dari PreRound di InvShiftRow menjadi:
e9 cb 3d af
09 31 32 2e
89 07 7d 2c
72 5f 94 b5
b. InvSubBytes
Proses InvSubBytes sebenarnya sama dengan proses SubByte hanya saja tabel
yang digunakan yaitu tabel InvSubBytes seperti berikut:
Tabel 2.3. Tabel Subtitusi untuk Transformasi InvSubBytes [1]
0 1 2 3 4 5 6 7 8 9 a b c d e f
0 52 09 6a d5 30 36 a5 38 bf 40 a3 9e 81 f3 d7 fb
1 7c e3 39 82 9b 2f ff 87 34 8e 43 44 c4 de e9 cb
2 54 7b 94 32 a6 c2 23 3d ee 4c 95 0b 42 fa c3 4e
3 08 2e a1 66 28 d9 24 b2 76 5b a2 49 6d 8b d1 25
4 72 f8 f6 64 86 68 98 16 d4 a4 5c cc 5d 65 b6 92
5 6c 70 48 50 fd ed b9 da 5e 15 46 57 a7 8d 9d 84
6 90 d8 ab 00 8c bc d3 0a f7 e4 58 05 b8 b3 45 06
7 d0 2c 1e 8f ca 3f 0f 02 c1 af bd 03 01 13 8a 6b
8 3a 91 11 41 4f 67 dc ea 97 f2 cf ce f0 b4 e6 73
9 96 ac 74 22 e7 ad 35 85 e2 f9 37 e8 1c 75 df 6e
a 47 f1 1a 71 1d 29 c5 89 6f b7 62 0e aa 18 be 1b
b fc 56 3e 4b c6 d2 79 20 9a db c0 fe 78 cd 5a f4
c 1f dd a8 33 88 07 c7 31 b1 12 10 59 27 80 ec 5f
d 60 51 7f a9 19 b5 4a 0d 2d e5 7a 9f 93 c9 9c ef
e a0 e0 3b 4d ae 2a f5 b0 c8 eb bb 3c 83 53 99 61
f 17 2b 04 7e ba 77 d6 26 e1 69 14 63 55 21 0c 7d
Jika hasil dari InvShiftRow disubtitusi dengan tabel di atas maka akan dihasilkan
eb 59 8b 1b
40 2e a1 c3
f2 38 13 42
1e 84 e7 d2
20
c. AddRoundKey
Dari hasil InvSubBytes kemudian di XOR dengan AddRoundKey
ac 19 28 57
77 fa d1 5c
66 dc 29 00
f3 21 41 6e
sehingga dihasilkan:
47 40 a3 4c
37 d4 70 9f
94 e4 3a 42
ed a5 a6 bc
d. InvMixColumns
[
] [
] [
]
Untuk baris yang ke-1:
0e . 47 =
Hex 0e = binary 00001110 (Di pola polynomial = x3+x
2+x)
Hex 47 = binary 01000111 (Di pola polynomial = x6+x
2+x+1)
(x3+x
2+x) (x
6+x
2+x+1)
x9+x
5+x
4+x
3+x
8+x
4+x
3+x
2+x
7+x
3+x
2+x
x9+x
8+x
7+x
5+x
3+x
x.x8+x
8+x
7+x
5+x
3+x
x(x4+x
3+x+1)+(x
4+x
3+x+1)+x
7+x
5+x
3+x
x5+x
4+x
2+x+x
4+x
3+x+1+x
7+x
5+x
3+x
x7+x
2+x+1 (binary: 10000111 hex: 87)
21
0b . 37 =
Hex 0b = binary 00001011 (Di pola polynomial = x3+x+1)
Hex 37 = binary 00110111 (Di pola polynomial = x5+x
4+x
2+x+1)
(x3+x+1)(x
5+x
4+x
2+x+1)
x8+x
7+x
5+x
4+x
3+x
6+x
5+x
3+x
2+x+x
5+x
4+x
2+x+1
x8+x
7+x
6+x
5+1
x4+x
3+x+1+x
7+x
6+x
5+1
x7+x
6+x
5+x
4+x
3+x (binary: 11111010 hex: fa)
0d . 94 =
Hex 0d = binary 00001101 (Di pola polynomial = x3+x
2+1)
Hex 94 = binary 10010100 (Di pola polynomial = x7+x
4+x
2)
(x3+x
2+1)( x
7+x
4+x
2)
x10
+x7+x
5+x
9+x
6+x
4+x
7+x
4+x
2
x10
+x9+x
6+x
5+x
2
x2 . x
8 + x.x
8 + x
6+x
5+x
2
x2(x
4+x
3+x+1)+x(x
4+x
3+x+1)+x
6+x
5+x
2
x6+x
5+x
3+x
2+ x
5+x
4+x
2+x+x
6+x
5+x
2
x5+x
4+x
3+x
2+x (binary 00111110 hex: 3e)
09 . ed =
Hex 09 = binary 00001001 (Di pola polynomial = x3+1)
Hex ed = binary 11101101 (Di pola polynomial = x7+x
6+x
5+x
3+x
2+1)
(x3+1)(x
7+x
6+x
5+x
3+x
2+1)
x10
+x9+x
8+x
6+x
5+x
3 + x
7+x
6+x
5+x
3+x
2+1
x10
+x9+x
8+x
7+x
2+1
x2 . x
8 + x.x
8 + x
8+x
7+x
2+1
x2(x
4+x
3+x+1)+x(x
4+x
3+x+1)+ x
4+x
3+x+1 +x
7+x
2+1
x6+x
5+x
3+x
2+ x
5+x
4+x
2+x + x
4+x
3+x+1 +x
7+x
2+1
x7+x
6+x
2 (binary 11000100 hex: c4)
22
Setelah itu masing-masing hasil di xor menjadi:
10000111 xor 11111010 xor 00111110 xor 11000100 = 10000111 (dalam
hex: 87)
Untuk baris ke-2:
09 . 47
Hex 09 = binary 00001001 (Di pola polynomial = x3+1)
Hex 47 = binary 01000111 (Di pola polynomial = x6+x
2+x+1)
(x3+1)(x
6+x
2+x+1)
x9+x
5+x
4+x
3+x
6+x
2+x+1
x9+x
6+ x
5+x
4+x
3+x
2+x+1
x.x8+x
6+ x
5+x
4+x
3+x
2+x+1
x(x4+x
3+x+1)+x
6+ x
5+x
4+x
3+x
2+x+1
x5+x
4+x
2+x+ x
6+ x
5+x
4+x
3+x
2+x+1
x6+x
3+1 (binary = 01001001 hex = 49)
0e . 37
Hex 0e = binary 00001110 (Di pola polynomial = x3+x
2+x)
Hex 37 = binary 00110111 (Di pola polynomial = x5+x
4+x
2+x+1)
(x3+x
2+x)(x
5+x
4+x
2+x+1)
x8+x
7+x
5+x
4+x
3+x
7+x
6+x
4+x
3+x
2+ x
6+x
5+x
3+x
2+x
x8+x
3+x
x4+x
3+x+1+ x
3+x
x4+1 (binary = 00010001 hex = 11)
0b . 94
Hex 0b = binary 00001011 (Di pola polynomial = x3+x+1)
Hex 94 = binary 10010100 (Di pola polynomial = x7+x
4+x
2)
(x3+x+1)(x
7+x
4+x
2)
x10
+x7+x
5+ x
8+x
5+x
3+ x
7+x
4+x
2
23
x10
+x8+x
4+x
3+x
2
x2 . x
8 + x
8+x
4+x
3+x
2
x2(x
4+x
3+x+1)+ (x
4+x
3+x+1)+ x
4+x
3+x
2
x6+x
5+x
3+x
2+x+1+x
2
x6+x
5+x
3+x+1 (binary = 01101011 hex: 6b)
0d . ed
Hex 0d = binary 00001101 (Di pola polynomial = x3+x
2+1)
Hex ed = binary 11101101 (Di pola polynomial = x7+x
6+x
5+x
3+x
2+1)
(x3+x
2+1)( x
7+x
6+x
5+x
3+x
2+1)
x10
+x9+x
8+x
6+x
5+x
3+ x
9+x
8+x
7+x
5+x
4+x
2+ x
7+x
6+x
5+x
3+x
2+1
x10
+x5+x
4+1
x2 . x
8 + x
5+x
4+1
x2(x
4+x
3+x+1) + x
5+x
4+1
x6+x
5+x
3+x
2+x
5+x
4+1
x6+x
4+x
3+x
2+1 (binary : 01011101 hex : 5d)
Setelah itu masing-masing hasil di xor menjadi:
01001001 xor 00010001 xor 01101011 xor 01011101 = 01101110 (dalam
hex: 6e)
Untuk baris ke-3
0d . 47
Hex 0d = binary 00001101 (Di pola polynomial = x3+x
2+1)
Hex 47 = binary 01000111 (Di pola polynomial = x6+x
2+x+1)
(x3+x
2+1)( x
6+x
2+x+1)
x9+x
5+x
4+x
3+ x
8+x
4+x
3+x
2+ x
6+x
2+x+1
x9+x
8+x
6+x
5+x+1
x.x8+x
8+ x
6+x
5+x+1
x(x4+x
3+x+1)+ x
4+x
3+x+1+ x
6+x
5+x+1
24
x5+x
4+x
2+x+ x
4+x
3+x+1+ x
6+x
5+x+1
x6+x
3+x
2+x (binary: 01001110 hex: 4e)
09 . 37
Hex 09 = binary 00001001 (Di pola polynomial = x3+1)
Hex 37 = binary 00110111 (Di pola polynomial = x5+x
4+x
2+x+1)
(x3+1)( x
5+x
4+x
2+x+1)
x8+x
7+x
5+x
4+x
3+ x
5+x
4+x
2+x+1
x8+x
7+x
3+x
2+x+1
x4+x
3+x+1+x
7+x
3+x
2+x+1
x7+ x
4+ x
2 (binary: 10010100 hex: 94)
0e . 94
Hex 0e = binary 00001110 (Di pola polynomial = x3+x
2+x)
Hex 94 = binary 10010100 (Di pola polynomial = x7+x
4+x
2)
(x3+x
2+x)( x
7+x
4+x
2)
x10
+x7+x
5+
x
9+x
6+x
4+ x
8+x
5+x
3
x10
+x9+ x
8+ x
7+x
6+x
4 +x
3
x2 . x
8 + x.x
8 + x
8+ x
7+x
6+x
4 +x
3
x2(x
4+x
3+x+1)+x(x
4+x
3+x+1)+( x
4+x
3+x+1)+ x
7+x
6+x
4 +x
3
x6+x
5+x
3+x
2+ x
5+x
4+x
2+x+ x
4+x
3+x+1+ x
7+x
6+x
4 +x
3
x7+x
4 +x
3+1 (binary: 10011001 hex: 99)
0b . ed
Hex 0b = binary 00001011 (Di pola polynomial = x3+x+1)
Hex ed = binary 11101101 (Di pola polynomial = x7+x
6+x
5+x
3+x
2+1)
(x3+x+1)( x
7+x
6+x
5+x
3+x
2+1)
x10
+x9+x
8+x
6+x
5+x
3+x
8+x
7+x
6+x
4+x
3+x+x
7+x
6+x
5+x
3+x
2+1
x10
+x9+x
4+x
3+x+x
6+x
2+1
x2.x
8+x.x
8+x
6+x
4+x
3+x
2+x+1
25
x2(x
4+x
3+x+1)+x(x
4+x
3+x+1)+ x
6+x
4+x
3+x
2+x+1
x6+x
5+x
3+x
2+ x
5+x
4+x
2+x+ x
6+x
4+x
3+x
2+x+1
x2+1 (binary: 00000101 hex: 05)
Setelah itu masing-masing hasil di xor menjadi:
01001110 xor 10010100 xor 10011001 xor 00000101 = 01000110 (dalam
hex: 46)
Untuk baris ke-4
0b . 47
Hex 0b = binary 00001011 (Di pola polynomial = x3+x+1)
Hex 47 = binary 01000111 (Di pola polynomial = x6+x
2+x+1)
(x3+x+1)(x
6+x
2+x+1)
x9+x
5+x4+x
3+ x
7+x
3+x
2+x+ x
6+x
2+x+1
x9+x
7+x
6+x
5+x
4+1
x.x8+x
7+x
6+x
5+x
4+1
x(x4+x
3+x+1)+ x
7+x
6+x
5+x
4+1
x5+x
4+x
2+x+ x
7+x
6+x
5+x
4+1
x7+x
6+x
2+x+1 (binary: 11000111 hex: c7)
0d . 37
Hex 0d = binary 00001101 (Di pola polynomial = x3+x
2+1)
Hex 37 = binary 00110111 (Di pola polynomial = x5+x
4+x
2+x+1)
(x3+x
2+1)( x
5+x
4+x
2+x+1)
x8+x
7+x
5+x
4+x
3+ x
7+x
6+x
4+x
3+x
2+ x
5+x
4+x
2+x+1
x8+x
6+x
4+x+1
(x4+x
3+x+1)+x
6+x
4+x+1
x6+x
3 (binary: 01001000 hex: 48)
26
09 . 94
Hex 09 = binary 00001001 (Di pola polynomial = x3+1)
Hex 94 = binary 10010100 (Di pola polynomial = x7+x
4+x
2)
(x3+1)(x
7+x
4+x
2)
x10
+x7+x
5+x
7+x
4+x
2
x2.x
8+x
5+x
4+x
2
x2(x
4+x
3+x+1)+ x
5+x
4+x
2
x6+x
5+x
3+x
2+x
5+x
4+x
2
x6+x
4+x
3 (binary: 01011000 hex: 58)
0e . ed
Hex 0e = binary 00001110 (Di pola polynomial = x3+x
2+x)
Hex ed = binary 11101101 (Di pola polynomial = x7+x
6+x
5+x
3+x
2+1)
(x3+x
2+x)(x
7+x
6+x
5+x
3+x
2+1)
x10
+x9+x
8+x
6+x
5+x
3+ x
9+x
8+x
7+x
5+x
4+x
2+ x
8+x
7+x
6+x
4+x
3+x
x10
+x8+x
2+x
x2.x
8+x
8+x
2+x
x2.(x
4+x
3+x+1)+ (x
4+x
3+x+1)+ x
2+x
x6+x
5+x
3+x
2+x
4+x
3+x+1+ x
2+x
x6+x
5+x
4+1 (binary: 01110001 hex: 71)
Setelah itu masing-masing hasil di xor menjadi:
11000111 xor 01001000 xor 01011000 xor 01110001 = 10100110 (dalam
hex: a6)
[
] [
] [
]
[
] [
] [
]