Identitas Kelompok
Konversi Plaintext & Kunci (ASCII) → Hexadesimal & Biner
1. Kelompok Anda diberikan informasi (plaintext) yang terdiri dari 8 karakter ASCII.
2. Plaintext Kelompok anda tersebut akan dienkrip menggunakan algoritma DES. Untuk mengenkrip plaintext
tersebut, Kelompok Anda diberikan kunci (key) rahasia yang terdiri dari 8 karakter ASCII.
Initial Permutation (IP)
3. Lakukan proses enkripsi plaintext kelompok anda menggunakan algoritma DES dengan menggunakan table
permutasi, subsitusi, XOR dan lain-lain yang telah disediakan dibawah untuk mendapatkan ciphertext kelompok
anda.
Gunakan tabel Initial Permutation (IP) untuk mempermutasi 64-bit Plaintext Anda.
Tbel Initial Permutation (IP) dapat anda lihat pada slide kuliah.
BIT
OUTPUT
BAGIAN
IP:
Pembagian L₀ dan R₀
Bagi hasil Initial Permutation menjadi dua bagian. Hasil split 32-bit sebelah kiri menjadi L₀, dan hasil split 32-bit sebelah kanan menjadi R₀.
Expansion Permutation (E)
Gunakan tabel Expansion Permutation (E) untuk mengekspansi 32-bit R₀ menjadi 48-bit.
Tabel Expansion Permutation (E) dapat anda lihat pada slide kuliah.
Key Schedule – PC-1 → Shift → PC-2 (Round Key K₁)
Lakukan proses Key Schedule untuk Ronde 1.
- Susun dahulu Input Key 56-bit (drop parity bit, kelipatan 8 dilewati).
- Lakukan Permuted Choice One (PC-1) pada Input Key.
- Lakukan Left shift(s) 28 bit sebelah kiri (1-bit ke kiri) dan 28 bit sebelah kanan (1-bit ke kiri).
- Lakukan penggabungan hasil Left shift 28 bit kiri dan kanan, lalu aplikasikan Permuted Choice Two (PC-2)
untuk mendapatkan Kunci Ronde-1 (K₁).
XOR: E(R₀) ⊕ K₁ = 48-bit
Lakukan operasi XOR antara hasil Expansion Permutation E(R₀) dengan Kunci Ronde-1 (K₁).
Substitusi S-Box (S1 – S8) → 32-bit
Inputkan hasil XOR bagian 6 pada Tabel S-BOX.
Tabel S-BOX dapat anda lihat pada slide kuliah.
Tentukan Indek baris dan Indek kolom untuk mendapatkan 4-bit Output dari masing-masing S1 hingga S8.
Kemudian gabungkan untuk mendapatkan total 32-bit output Boks Subsitusi Ronde-1.
• Input 6-bit: Isikan 6 bit biner.
• Index Baris: Isikan biner (bit ke-1 & ke-6) di kolom kiri dan nilai Desimalnya (0–3) di kolom kanan.
• Index Kolom: Isikan biner (bit ke-2 s/d ke-5) di kolom kiri dan nilai Desimalnya (0–15) di kolom kanan.
• Output S-Box: Cari nilai S-Box, isikan 4-bit Biner di kolom kiri dan nilai Desimalnya (0–15) di kolom kanan.
Permutasi P-Box – 32-bit
Gunakan tabel Permutation Function (P) untuk mempermutasi 32-bit hasil output dari S-Box.
XOR Akhir: P ⊕ L₀ = R₁ (Ciphertext Ronde 1)
Lakukan XOR 32-bit hasil Permutation Function (P) dengan hasil split 32-bit sebelah kiri (L₀ pada langkah awal). Kemudian gabungkan 32-bit bagian sebelah kanan (R₀) dengan 32-bit hasil XOR untuk mendapatkan ciphertext Ronde-1 Kelompok Anda.
L₁ = R₀ (tidak berubah). Bersama R₁, inilah output Ronde 1 DES (64-bit).
Otomatisasi Ronde 2 – 16 (Looping Feistel Function)
Ronde 1 sudah Anda kerjakan secara manual pada Bagian 4-9. Untuk Ronde 2 sampai Ronde 16, sistem akan melanjutkan proses yang sama persis secara otomatis di background: Key Schedule (Left Shift + PC-2) → Expansion (E) → XOR dengan Kunci Ronde ke-n → Substitusi S-Box → Permutasi P-Box → XOR dengan L ronde sebelumnya — diulang untuk setiap ronde, mengikuti algoritma DES standar (16 ronde).
| Ronde | Kunci (Key) | Ciphertext |
|---|
32-bit Swap, Inverse Initial Permutation (IP⁻¹) & Ciphertext Akhir
Lakukan penggabungan terbalik (32-bit Swap): gabungkan R₁₆ di kiri dan L₁₆ di kanan menjadi 64-bit. Kemudian inputkan pada Tabel Inverse Initial Permutation (IP⁻¹) . Tabel Inverse Initial Permutation (IP⁻¹) dapat anda lihat pada slide kuliah.
🎉 Selamat! Semua Tahapan Enkripsi Algoritma DES telah Selesai dengan Benar!
Buatkan analisis berdasarkan penerapan input plaintext dan kunci pada proses enkripsi untuk menghasilkan ciphertext pada algoritma DES diatas:
Kelompok anda telah berhasil melakukan enkrip menggunakan algoritma DES. Pastikan bagian analisis sudah diisi sebelum mengunduh dan mengumpulkan laporan CBL-1.