Anda di halaman 1dari 24

Teknologi Informasi - Fakultas Teknik

Universitas Negeri Udayana


2014


Pertemuan III
Algoritma Kriptorafi Modern : DES
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Algoritma DES dikembangkan di IBM dibawah
kepemimpinan W.L. Tuchman pada tahun
1972.
Algoritma DES diadopsi NIST(National
Institute of Standards and Technology)
sebagai standar pengolah informasi Federal
AS.

Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
DES termasuk ke dalam sistem kriptografi
simetri dan tergolong jenis cipher blok.
DES beroperasi pada ukuran blok 64 bit. DES
mengenkripsikan 64 bit plainteks menjadi 64
bit cipherteks dengan menggunakan 56 bit
kunci internal
Kunci internal dibangkitkan dari kunci
eksternal (external key) yang panjangnya 64
bit.
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Algoritma utama DES terbagi menjadi
kelompok kelompok :
Pemrosesan Kunci
Enkripsi data 64-bit
Dekripsi data 64-bit

Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
1. Blok plainteks
dipermutasi dengan
matriks permutasi awal
(initial permutation
atau IP)
2. Hasil permutasi awal
kemudian di-
enciphering- sebanyak
16 kali (16 putaran)
3. Hasil enciphering
kemudian dipermutasi
dengan matriks
permutasi balikan
(invers initial
permutation atau IP-1 )
menjadi blok
cipherteks.
Plaintext Block (64
bit)
Initial Permutation
Round 1
Round 16
Inverse of Initial
Permutation
Ciphertext
Block (64 bit)
56 bit subkey
56 bit subkey
Panjang
block 64 bit
Panjang
block 64 bit
1
2
3
enciphering
Gambar 1.
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Di dalam proses enciphering,
blok plainteks terbagi
menjadi dua bagian, kiri (L)
dan kanan (R), yang masing-
masing panjangnya 32 bit.
Kedua bagian ini masuk ke
dalam 16 putaran DES.
Di dalam proses enciphering,
blok plainteks terbagi
menjadi dua bagian, kiri (L)
dan kanan (R), yang masing-
masing panjangnya 32 bit.
Kedua bagian ini masuk ke
dalam 16 putaran DES.
Secara matematis, satu
putaran DES dinyatakan
sebagai

32 bit 32 bit
jika (L16, R16) merupakan keluaran
dari putaran ke-16, maka (R16, L16)
merupakan pra-cipherteks (pre-
ciphertext) dari enciphering ini.
Cipherteks yang sebenarnya
diperoleh dengan melakukan
permutasi awal balikan, IP-1,
terhadap blok pra-cipherteks.
Gambar 2
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Plaintex dalam Hexa : 0123456789ABCDEF(h)
P = 0000 0001 0010 0011 0100 0101 0110 0111
1000 1001 1010 1011 1100 1101 1110 1111

Permutasi Awal
Melakukan permutasi awal terhadap blok plaintext (initial
permutation / IP) menggunakan tabel permutasi IP
Tujuan Permutasi : mengacak plainteks sehingga
urutan bit-bit di dalamnya berubah.

IP = 1100 1100 0000 0000 1100 1100 1111 1111
1111 0000 1010 1010 1111 0000 1010 1010
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Hasil permutasi Plaintext menggunakan tabel IP
P = 0000 0001 0010 0011 0100 0101 0110 0111
1000 1001 1010 1011 1100 1101 1110 1111

IP = 1100 1100 0000 0000 1100 1100 1111 1111
1111 0000 1010 1010 1111 0000 1010 1010

Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Karena ada 16 putaran, maka dibutuhkan kunci
internal sebanyak 16 buah, yaitu K1, K2, , K16.
Kunci-kunci internal ini dapat dibangkitkan
sebelum proses enkripsi atau bersamaan dengan
proses enkripsi.
Kunci internal dibangkitkan dari kunci eksternal
yang diberikan oleh pengguna. Kunci eksternal
panjangnya 64 bit atau 8 karakter.
Misalkan kunci eksternal yang tersusun dari 64
bit adalah K. Kunci eksternal ini menjadi
masukan untuk permutasi dengan menggunakan
matriks permutasi kompresi PC-1 sebagai
berikut:
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Kunci dalam Hexa : 133457799BBCDFF1(h)
K = 00010011 00110100 01010111 01111001
10011011 10111100 11011111 11110001 (B)
Panjang kunci berupa 64 bit atau terdiri dari 8 byte karakter

Hasil permutasi kunci 64 bit menggunakan tabel permutasi PC-1
menghasilkan kunci dengan panjang 56 bit
K+ = 1111000 0110011 0010101 0101111 (C0)
0101010 1011001 1001111 0001111 (D0)

Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Wrapping atau round shift menggunakan
tabel Shift
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1
interasi
shift
C
0
= 1111000011001100101010101111
D
0
= 0101010101100110011110001111
C
1
= 1110000110011001010101011111
D
1
= 1010101011001100111100011110
.
.
.
.
.
C
16

D
16

Gambar 3
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Setelah melalui pergeseran, C1 dan D1 akan
mengalami ermutasi kompresi menggunakan
matriks PC-2
Kompresi menghasilkan Ki dengan panjang 48 bit
C
1
= 1110000110011001010101011111
D
1
= 1010101011001100111100011110

Hasil permutasi K1
K
1
= 000110 110000 001011 101111 111111 000111 000001 110010

Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Proses enciphering terhadap blok plainteks dilakukan
setelah permutasi awal (Gambar 1).
Setiap blok plainteks mengalami 16 kali putaran
enciphering
Setiap putaran enciphering merupakan jaringan
Feistel yang secara matematis dinyatakan sebagai :

Contoh untuk i= 1
K
1
= 000110 110000 001011 101111 111111 000111 000001 110010
L
1
= R
0
= 1111 0000 1010 1010 1111 0000 1010 1010
R
1
= L
0
+ f(R
0
,K
1
)

Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Diagram komputasi fungsi f
Gambar 4
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
E adalah fungsi ekspansi yang memperluas blok
Ri 1 yang panjangnya 32-bit menjadi blok 48
bit. Menggunakan matrix permutasi E
Misal permutasi Ekspansi untuk R0

R
0
= 1111 0000 1010 1010 1111 0000 1010 1010
E(R
0
) = 011110 100001 010101 010101 011110 100001 010101 010101
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Hasil ekpansi, E(Ri 1), dg panjang 48 bit di-
XOR-kan dengan Ki yang panjangnya 48 bit
menghasilkan vektor A yang panjangnya 48-bit
E(Ri 1) Ki = A

Contoh Untuk E(R0)
K
1
= 000110 110000 001011 101111 111111 000111 000001 110010
E(R
0
) = 011110 100001 010101 010101 011110 100001 010101 010101
K
1
+E(R
0
) = 011000 010001 011110 111010 100001 100110 010100 100111

Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
L
i-1

R
i-1

Expansio
n
S Box Substitution
P Box Permutation
+
+
L
i

R
i

Key
i

Key
i+1

Subtitusi dan permutasi hasil ekspansi kunci
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Vektor A dikelompokkan menjadi 8 kelompok,
masing-masing 6 bit
K
n
+ E(R
n-1
) =B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
Setiap blok di subtitusikan kedalam matrix
kotak-S.
Kotak-S adalah matriks yang berisi substitusi
sederhana yang memetakan satu atau lebih bit
dengan satu atau lebih bit yang lain.
Setiap kotak-S menerima masukan 6 bit dan
menghasilkan keluaran 4 bit
bit pertama menggunakan S1, kelompok 6-bit
kedua menggunakan S2
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Masukan untuk proses subtitusi 6 bit.
Nomor Baris dari matrix S-Box dinyatakan oleh bit
ke-1 (pertama) dan bit ke-6 (Enam) menyatakan 0
s/d 3
Nomor Kolom dari matrix S-Box dinyatakan oleh bit
2,3,4,5
Menyatakan 0 s/d 15

Misal untuk Blok B1
B
1 =
011000(B)
Baris = 00(B) 0(D)
Kolom = 1100(B) 12(D)
S(B
1
)

= 5(D) 0101(B)

Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
8 Tabel S-Box
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Keluaran proses substitusi adalah vektor S(Bi) yang
panjangnya 48 bit. Vektor S(Bi) menjadi masukan
untuk proses permutasi.
Tujuan permutasi adalah untuk mengacak hasil
proses substitusi kotak-S. Permutasi dilakukan
dengan menggunakan matriks permutasi P (P-box).
Misal Keluaran dari 8 S-Box
S(B1-8) = 0101 1100 1000 0010 1011 0101 1001 0111
f = 0010 0011 0100 1010 1010 1001 1011 1011

Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Bit-bit P(B) merupakan keluaran dari fungsi f.
bit-bit P(B) di-XOR-kan dengan Li 1 untuk
mendapatkan Ri



R
1
= L
0
f(R
0
, K
1
) =
100 1100 0000 0000 1100 1100 1111 1111 0010 0011
0100 1010 1010 1001 1011 1011
= 1110 1111 0100 1010 0110 0101 0100 0100



Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Permutasi terakhir dilakukan setelah 16 kali
putaran terhadap gabungan blok kiri dan blok
kanan L16 R16.
Proses permutasi menggunakan matriks
permutasi awal balikan (inverse initial
permutation atau IP-1) sbb:
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
J. Orlin Grabbe, The DES Algorithm Illustrated

Diktat kuliah IF5054 Kriptografi oleh Rinaldi Munir,
Prodi IF STEI 2006

Anda mungkin juga menyukai