BAB III ANALISIS SISTEM Analisis merupakan kegiatan berfikir untuk menguraikan suatu pokok menjadi bagian-bagian atau komponen sehingga dapat diketahui cirri atau tanda tiap bagian, kemudian hubungan satu sama lain, serta fungsi masing masing bagian dari keseluruhan. Sedangkan sistem merupakan suatu kesatuan yang terdiri dari dua atau lebih komponen atau subsistem yang berinteraksi untuk mencapai suatu tujuan. Analisis sistem adalah penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan, kesempatan, hambatan yang terjadi dan kebutuhan
yang diharapkan sehingga dapat diusulkan perbaikan. Tahap dari
analisis merupakan tahap yang kritis dan sangat penting, karena kesalahan tahap ini menyebabkan juga kesalahan pada tahap selanjutnya 3.1 Analisi Alogritma Skipjacak Skipjack merupakan salah satu algoritma simetrik di mana Skipjack menggunakan kunci yang sama untuk proses enkripsi dan proses dekripsinya. Skipjack memiliki blok data masukan (Plaintext) berukuran 64 bit yang kemudian data tersebut diubah menjadi kumpulan blok-blok data yang berukuran 64 bit yang diproses dengan kunci yang sama untuk menghasilkan Chipertext. Kunci yang digunakan berukuran 80 bit. Dalam proses enkripsi dan dekripsinya Skipjack 32
33
memiliki 32 putaran artinya algoritma utamanya diputar sebayak 32 kali untuk menghasilkan Chipertext. Kombinasi dari 32 putaran tersebut membuat algoritma Skipjack memiliki tingkat keamanan yang tinggi. 3.2 Mode Operasi Enkripsi Blok Ciphertext Bagian ini membahas mengenai macam-macam operasi yang biasa digunakan dalam kriptografi. Semua algoritma kriptografi konvensional dapat digunakan pada metode operasi ini. Mode-mode digunakan dengan tujuan untuk mengatasi keamanan cara penyandian. Mode-mode lain masih sangat beraneka ragam jenisnya. Pada setiap mode, pesan Plaintext (P) yang panjang dipecah menjadi satuan unit data yang disebut blok. Misalkan saja panjang setiap blok 64 bit, maka blok itu terlebih dahulu harus ditambah dengan bit padding (tambahan) agar jumlah totalnya mencapai 64 bit. Padding dapat dilakukan dengan penambahan bit “0” hingga mencapai panjang yang diinginkan. 3.3 Notasi Skipjack Dalam Skipjack terdapat beberapa istilah yang digunakan yaitu antara lain : 1. Word : berisi 16 bit 2. Byte : berisi 8 bit 3. X.Y : XOR dari X dan Y
34
3.4 Struktur Dasar Skipjack mengenkripsi data sebanyak 4-word (terdiri atas 8-byte, 1-byte = 16-bit). Skipjack memiliki 2 macam aturan yaitu Rule A dan Rule B, aturan ini digunakan secara bergantian dalam proses enkripsi untuk mengubah Plaintext menjadi Chipertext dan dalam proses dekripsi untuk mengubah Chipertext menjadi Plaintext. Langkah-langkah dari Rule A ( ditunjukkan pada gambar 3.1.) : 1. G melakukan permutasi untuk w1. 2. w1 yang baru di XOR dengan G, counter dan w4. 3. w2 dan w3 kemudian bergeser satu register ke kanan, w2 menjadi w3, dan w3 menjadi w4. 4. w2 yang baru menjadi G output.
W1
W2
G
W3
Rule A
Count er
+
+
Gambar 3.1 Rule A Langkah-langkah Rule B (ditunjukkan pada gambar 3.2.) : 1. w2 merupakan hasil permutasi w1 oleh G. 2. w2 kemudian di XOR dengan w3 dan counter.
W4
35
3. w4 merupakan w3 yang digeser satu register ke kanan menjadi w4. 4. counter naik satu pada setiap kenaikan langkahnya.
W1
G
W2
+
W3
W4
Counter
+
Rule B
Gambar 3.2 Rule B Untuk proses dekripsi Skipjack Rule A dan Rule B dibalik menjadi Rule A-1 dan Rule B-1 untuk menghasilkan kembali Plaintext. Gambar 3.4 menunjukkan langkah-langkah dari Rule A-1 yang merupakan pembalikan dari Rule A. Gambar 3.5 menunjukkan langkah-langkah dari Rule B-1 yang merupakan pembalikan dari Rule B.
W1
W2
G
-1
Rule A
Counter
+
+
Gambar 3.3 Rule A-1
W3
W4
36
W1
G
W2
+
+
W3
W4
Counter
Rule B-1
Gambar 3.4 Rule B-1 3.4.1 Langkah Perhitungan Rule Pada perhitungan di bawah ini, huruf / angka yang ditulis di atas menunjukkan angka kenaikan tiap langkah . ENKRIPSI 1. Rule A w1k + 1 = Gk(w1k) . w4k . counterk w2k+1 = Gk(w1k) w3k+1 = w2k w4k+1 = w3k 2. Rule B w1k + 1 = w4k w2k+1 = Gk(w1k) w3k+1 = w1k . w2k . counterk w4k+1 = w3k DEKRIPSI 1. Rule A-1 w1k – 1 = [Gk-1]-1 (w2k) w2k – 1 = w3k
37
w3k – 1 = w4k w4k – 1 = w1k. w2k . counterk-1 2. Rule B-1 w1k – 1 = [Gk-1]-1 (w2k) w2k – 1 = [Gk-1]-1 (w2k) . w3k . counterk-1 w3k – 1 = w4k w4k – 1 = w1k 3.4.2 Langkah Proses Pergantian Rule Algoritma Skipjack membutuhkan 32 langkah untuk proses enkripsi dan dekripsinya. Proses enkripsi : 1. Input wi0, 1 = i = 4 (k = 0, untuk langkah pertama). 2. Dimulai saat hitungan pertama (counter = 1). 3. Proses enkripsi dimulai dengan Rule A melakukan putaran sebanyak 8 kali kemudian dilanjutkan oleh Rule B sebanyak 8 putaran. Proses enkripsi berlanjut dengan putaran sebanyak 8 kali dari Rule A yang kemudian diakhiri oleh 8 putaran dari Rule B. Pada setiap kenaikan langkah counter naik 1. 4. Output yang dihasilkan wi32, 1 = i = 4. 5. Pada proses enkripsi ini total langkah yang dipergunakan sebanyak 32 kali untuk menghasilkan Chipertext. Proses dekripsi : 1. Input wi32, 1 = i = 4 (k = 32, untuk langkah pertama).
38
2. Proses dekripsi dimulai oleh putaran sebanyak 8 kali dari Rule B-1, yang kemudian dilanjutkan oleh 8 kali putaran Rule A-1, kemudian proses dekripsi dilanjutkan dengan 8 kali putaran Rule B-1 dan diakhiri oleh 8 kali putaran Rule A-1. Counter berkurang 1 pada setiap langkah berikutnya. 3. Output yang dihasilkan wi0, 1 = i = 4. 4. Untuk proses dekripsi total langkah yang diperlukan sebanyak 32 langkah untuk kembali menjadi Plaintext. 3.5 Permutasi G Permutasi G adalah fungsi subsitusi terhadap table F. Secara matematik permutasi G yaitu : Gk (w = g1¦g2) = g5¦g6, gi = F(gi-1 . cv4k+i–3) . gi-2, k adalah angka setiap penambahan langkah (angkapertama adalah 0), F merupakan tabel subtitusi, dan cv4k+i–3 merupakan (4k+i-3) byte pada urutan kriptografi yang ada. g3 = F(g2 .cv4k) . g1 g4 = F(g3 . cv4k+1) . g2 g5 = F(g4 . cv4k+2 ) . g3 g6 = F(g5 . cv4k+3 ) . g4 Untuk G invers, [Gk]-1(w = g5¦g6) = g1¦g2, gi-2 = F(gi-1 . cv4k+i–3) . gi 3.6 Table F 4. Tabel-F
Tabel-F di bawah ini diberikan dalam notasi heksadesimal. High-order 4 bit dari index input sebagai baris dan low order 4 bits sebagai kolom index.
39
0x
1x
2x
3x
4x
5x
6x
7x
8x
9x
Ax
Bx
Cx
Dx
Ex
Fx
0x
a3
d7
09
83
f8
48
f6
f4
b3
21
15
78
99
b1
af
f9
1x
e7
2d
4d
8a
ce
4c
ca
2e
52
95
d9
1e
4e
38
44
28
2x
0a
df
02
a0
17
f1
60
68
12
b7
7a
c3
e9
fa
3d
53
3x
96
84
6b
ba
f2
63
9a
19
7c
ae
e5
f5
f7
16
6a
a2
4x
39
b6
7b
0f
c1
93
81
1b
ee
b4
1a
ea
d0
91
2f
b8
5x
55
b9
da
85
3f
41
bf
e0
5a
5b
80
5f
66
0b
d8
90
6x
35
d5
c0
af
33
06
65
69
45
00
94
56
6d
98
9b
76
7x
97
fc
b2
c2
b0
fe
db
20
e1
eb
d6
e4
dd
47
4a
1d
8x
42
cd
9e
6e
49
3c
cd
43
27
d2
07
d4
de
c7
67
18
9x
89
cb
30
1f
8d
c6
8f
aa
c8
74
dc
c9
5d
5c
31
a4
Ax
70
88
61
2c
9f
0d
2b
87
50
82
54
64
26
7d
03
40
Bx
34
4b
1c
73
d1
c4
fd
3b
cc
fb
7f
ab
e6
3e
5b
a5
Cx
ad
04
23
9c
14
51
22
f0
29
79
71
7e
ff
8c
0e
e2
Dx
0c
ef
bc
72
75
6f
37
a1
ec
d3
8e
8e
62
86
10
e8
Ex
08
77
11
b3
92
4f
24
c5
32
36
9d
9d
cf
a6
bb
ac
Fx
5e
6c
a9
13
57
25
b5
e3
bd
a8
3a
3a
1
59
2a
46
Gambar 3.5 Table F 3.7 Skema Global Enkripsi dan Deskripsi Plaintext berupa kumpulan karakter yang diperoleh dari memo yang belum dienkripsi, dibagi menjadi blok-blok data berukuran 64 bit yang diolah
40
melalui program pengolahan Plaintext secara serial (berurutan). Diagram alir pengolahan Plaintext dapat dilihat pada gambar 3.6.
Plaintext
Enkripsi
ChiperText
Gambar 3.6 skema global proses enkripsi Chipertext
Deskripsi
Plaintext
Gambar 3.7 skema global proses enkripsi Pada proses enkripsi pada algoritma skipjack minimal karakter adalah 8 karakter dan jika kurang dari 8 karakter maka kekurangan karakter akam disispkan dengan 0. Berikut adalah contoh proses mengenkripsi dan dekripsi karakter SAYA : 3.7.1
Enkripsi 1. Hitung Panjang Plaintext jika di mod 8 ada sisa sisipkan karakter 000 sebanyak sisa bagi misalkan plaintext SAYA menjadi SAYA0000. Karekter saya di ubah menjadi biner yaitu : S : 101 0011
0 : 011 0000
A : 100 0001
0 : 011 0000
Y : 101 1001
0 : 011 0000
A : 100 0001
0 : 011 0000
41
2. Potong-potong menjadi 8 word atau 64 bit lakukan proses berikut sebanyak 32 putaran x jumlah potongan 8 word I = 32 putaran dan J jumlah potongan 8 word w1[i]=permutasi(w1[i],j) XOR W4[i] XOR j; w2[i]=permutasi(w1[i],j) w3[i]=w2[i] w4[i]=w3[i] 3. Didalam 32 Putaran lakukan proses rule A untuk putaran 1..8 dan 17..24 , Rule B untuk putaran 9..16 dan 25..32dilakukan rule A, yang mana G melakukan pemurtasian terhadap w1, w1 yang baru di XOR dengan counter dan w4. W2 yang baru menjadi G output. Nilai counter naik satu tingkat pada setiap langkahnya. Sedangakan aturan B atau rule B yang mana w2 merupakan hasil permutasi w1 oleh G, w2 kemudian di XOR denan w3 dan counter, sedangkan w4 merupakan w3 yang digeser satu register ke kanan menjadi w4. Nilai counter naik satu tingkat pada setiap langkahnya 4. Dalam Proses Rule A dan B lakukan Proses Permutasi yang melibatkan Kunci dan Tabel F 5. Sehingga didapat putaran terakhir ke 32 yang dikonversikan ke dalam karakter.
42
6. Hasil akhir didapat ciphertext dari konversi putaran 8 word sebanyak jumlah potongan yang dikonversikan kedalam karakter. 3.7.2
Dekripsi
1. Ambil ciphertext yang akan diproses dan dibagi ke dalam potongan 8 word. 2. Lakukan putaran sebanyak jumlah potongan dikali 32 putaran menurun untuk proses w1[32],w2[32],w3[32],w4[32] 3. Lakukan Proses G_Invers, Rule A_Invers dan Rule B Invers, sebanyak 32 kali 4. Lakukan konversi ke karakter dari hasil akhir w1[0],w2[0],w3[0],w4[0] 5. Gabungkan ke dalam karakter dari w1[0],w2[0],w3[0],w4[0] yang dikurangi jumlah sisipan. Sehingga di dapat plaintext kembali.