Document - SKB19126 - STMIK EL RAHMA chapt 03

DES
(Data Encryption Standard)

Stream Ciphers vs. Block Ciphers




Stream cipher mengenkripsi data digital
satu bit (byte) pada suatu waktu
Cipher blok mengenkripsi blok plaintext
pada suatu waktu


Akan menghasilkan blok ciphertext dengan
ukuran yang sama

2

DES Basics
 DES termasuk ke dalam sistem kriptografi simetri dan

tergolong jenis cipher blok.
 DES beroperasi pada ukuran blok 64 bit.
 Panjang kunci ekternal = 64 bit (sesuai ukuran blok),
tetapi hanya 56 bit yang dipakai (8 bit paritas tidak
digunakan)
 Setiap blok (plainteks atau cipherteks) dienkripsi
dalam 16 putaran.
 Setiap putaran menggunakan kunci internal berbeda.
 Kunci internal (48-bit) dibangkitkan dari kunci
eksternal
 Setiap blok mengalami permutasi awal (IP), 16
putaran enciphering, dan inversi permutasi awal (IP-1).
3

DES

Overall Scheme of DES Encryption

4


Initial Permutation (IP) and Inverse IP

5

DES

Single Round of DES

6

DES Round function F

7

DES

DES Round Function








Operates on 32-bit units
32-bit  48-bit expansion/permutation (E table)
XOR with 48 bit subkey
S-box computation returns 32 bits (Perhitungan
kembali)
Round (putaran) permutation (P)

8

Single Round of DES cont…

9

Expansion E and Permutation P

10


S-BOX Substitution



S-BOX: 4 x 16 entry table





Input: 6 bits
2-bits determine the table (1 s/d 4)
4-bits determine the table entry
Output: 4 bits
11

S-BOX table

12


DES Key Generation








Parity bits (8, 16, …, 64) are
discarded (out of 64-bit key)
56-bit key is split into 28-bit L
and R
16 48-bit subkeys (K1, K2, … ,
K16) are generated by various
circular left shifts of L and R
Bits are permuted and
selected


13

Implementasi DES






DES sudah diimplementasikan dalam bentuk
perangkat keras.
Dalam bentuk perangkat keras, DES
diimplementasikan di dalam chip. Setiap detik
chip ini dapat mengenkripsikan 16,8 juta blok
(atau 1 gigabit per detik).
Implementasi DES ke dalam perangkat lunak
dapat melakukan enkripsi 32.000 blok per detik
(pada komputer mainframe IBM 3090).

14


Other Symmetric Block Ciphers


International Data Encryption Algorithm
(IDEA)





Skipjack






128-bit key
Used in PGP

mengenkripsi dan mendekripsi data dalam 64-bit blok
menggunakan kunci 80-bit
Skipjack memiliki 32 putaran, yang berarti algoritma
utama diulang 32 kali untuk menghasilkan ciphertext.

International Data Encryption Algorithm
(IDEA)




64-bit blok cipher
panjang kunci 128-bit
Menggunakan tiga kelompok aljabar: XOR, + mod 216,
x mod 216 + 1
15

Other Symmetric Block Ciphers









Electronic Codebook Book (ECB)
Limitations of ECB
Cipher Block Chaining (CBC)
Cipher FeedBack (CFB)
Output FeedBack (OFB)
Counter (CTR)
Triple DES

16