Anda di halaman 1dari 25

Isu dan Prinsip

Proteksi
Dosen : Kadek Suar Wibawa

Pertemuan V
Algoritma Kriptorafi Modern :
DES

Teknologi Informasi - Fakultas Teknik


Universitas Negeri Udayana
2014
Data Encryption Standard
(DES)
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
Data Encryption Standard
(DES)
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
Data Encryption Standard
(DES)
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
Proses Enskripsi DES (1/2)
Plaintext Block Panjang
(64 bit) 1. Blok plainteks
1 block 64 bit
dipermutasi dengan
Initial Permutation matriks permutasi awal
(initial permutation atau
Round 1 IP)
56 bit subkey
2. Hasil permutasi awal
2 enciphering kemudian di-enciphering-
sebanyak 16 kali (16
Round 16 56 bit subkey putaran)
3. Hasil enciphering
Inverse of Initial kemudian dipermutasi
Permutation dengan matriks permutasi
3 balikan (invers initial
Ciphertext Panjang
permutation atau IP-1 )
Block (64 bit) block 64 bit
menjadi blok cipherteks.
Gambar 1. Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Proses Enskripsi DES (2/2)
32 bit 32 bit
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
Gambar 2 bagian, kiri (L) dan kanan (R),
yang masing-masing panjangnya
jika (L16, R16) merupakan 32 bit. Kedua bagian ini masuk ke
keluaran dari putaran ke-16, maka dalam 16 putaran DES.
(R16, L16) Secara matematis, satu putaran
merupakan pra-cipherteks (pre- DES dinyatakan sebagai
ciphertext) dari enciphering ini.
Cipherteks yang sebenarnya
diperoleh dengan melakukan
permutasi awal balikan, IP-1,
terhadap blok pra-cipherteks.
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Langkah Langkah Deskripsi
Algoritma DES
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
Permutasi Awal (IP)
Hasil permutasi Plaintext menggunakan
tabel IP (64 bit)
Blok Lo

1100 1100 0000 0000 1100 1100 1111 1111


Blok Ro

1111 0000 1010 1010 1111 0000 1010 1010

Teknologi Informasi - Fakultas Teknik


Universitas Negeri Udayana
2014
Pembangkitan Kunci
Internal
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
Pembangkit kunci internal (3/1)
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
Pembangkit kunci internal (3/2)
Wrapping atau round shift menggunakan
tabel Shift

interasi 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

shift 1122222212 2 2 2 2 2 1

C0 = 1111000011001100101010101111
D0 = 0101010101100110011110001111
C1 = 1110000110011001010101011111
D1 = 1010101011001100111100011110
.
.
.
.
.
C16
Gambar 3 D16
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Pembangkit kunci internal (3/3)
Setelah melalui pergeseran, C1 dan D1 akan
mengalami ermutasi kompresi menggunakan matriks
PC-2
Kompresi menghasilkan Ki dengan panjang 48 bit

C1 = 1110000110011001010101011111
D1 = 1010101011001100111100011110

Hasil permutasi K1
K1 = 000110 110000 001011 101111 111111 000111 000001 110010
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Enciphering (/1)
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
K1 = 000110 110000 001011 101111 111111 000111 000001 110010
L1 = R0 = 1111 0000 1010 1010 1111 0000 1010 1010
R1 = L0 + f(R0,K1)

Teknologi Informasi - Fakultas Teknik


Universitas Negeri Udayana
2014
Enciphering (/2)

Diagram komputasi fungsi f

Gambar 4
Teknologi Informasi - Fakultas Teknik
Universitas Negeri Udayana
2014
Enciphering (/3)
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


R0 = 1111 0000 1010 1010 1111 0000 1010 1010
E(R0) = 011110 100001 010101 010101 011110 100001 010101 010101

Teknologi Informasi - Fakultas Teknik


Universitas Negeri Udayana
2014
Enciphering (/4)
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)


K1 = 000110 110000 001011 101111 111111 000111 000001 110010
E(R0) = 011110 100001 010101 010101 011110 100001 010101
010101
K1+E(R0) = 011000 010001 011110 111010 100001 100110 010100
100111

Teknologi Informasi - Fakultas Teknik


Universitas Negeri Udayana
2014
Enciphering (/5)
Subtitusi dan permutasi hasil ekspansi kunci

Li-1 Ri-1 Keyi

Expansio
n
+
S Box Substitution

P Box Permutation

+
Li Ri Keyi+1

Teknologi Informasi - Fakultas Teknik


Universitas Negeri Udayana
2014
Enciphering (/5)
Vektor A dikelompokkan menjadi 8 kelompok,
masing-masing 6 bit
Kn + E(Rn-1) =B1 B2 B3 B4 B5 B6 B7 B8

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
Enciphering (/7)
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


B1 = 011000(B)

Baris = 00(B) 0(D)


Kolom = 1100(B) 12(D)

S(B1) = 5(D) 0101(B)

Teknologi Informasi - Fakultas Teknik


Universitas Negeri Udayana
2014
Enciphering (/8)
8 Tabel S-Box

Teknologi Informasi - Fakultas Teknik


Universitas Negeri Udayana
2014
Enciphering (/9)
Keluaran proses substitusi adalah vektor S(B i) 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
Enciphering (/10)
Bit-bit P(B) merupakan keluaran dari fungsi
f.
bit-bit P(B) di-XOR-kan dengan Li 1 untuk

mendapatkan Ri

R1 = L0 f(R0 , K1 ) =
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 (Inverse
Initial Permutation)
Permutasi terakhir dilakukan setelah 16 kali putaran
terhadap gabungan blok kiri dan blok kanan L 16 R16.
Proses permutasi menggunakan matriks permutasi

awal balikan (inverse initial permutation atau IP-1)


sbb:

Teknologi Informasi - Fakultas Teknik


Universitas Negeri Udayana
2014
Kekuatan Kunci DES
DES memenuhi kriteria chiper blok
Efek Avalanche : Terjadi jika terdapat satu bit
perubahan pada plainteks atau kunci menghasilkan
perubahan banyak bit pada chiperteks
Efek Completeness : memiliki sifat difusi dan konfusi,
yaitu bit pada plainteks dan chiperteks menyebar ke
beberapa bit pada chiperteks

Teknologi Informasi - Fakultas Teknik


Universitas Negeri Udayana
2014
Referensi :
J. Orlin Grabbe, The DES Algorithm
Illustrated

Diktat kuliah IF5054 Kriptografi oleh Rinaldi


Munir, Prodi IF STEI 2006

Teknologi Informasi - Fakultas Teknik


Universitas Negeri Udayana
2014

Anda mungkin juga menyukai