Belum dihitung
Proyek Mini Kriptografi
DES: Enkripsi, Dekripsi, dan Jadwal Kunci
Aplikasi ini mendemonstrasikan proses DES yang dibutuhkan untuk presentasi: enkripsi, dekripsi, pembentukan 16 kunci ronde, urutan kunci pada kedua proses, pengujian dengan vektor uji, validasi masukan, dan ukuran ruang kunci efektif DES.
Vektor uji standar DES
- Plaintext (teks asli)
0123456789ABCDEF- Kunci DES
133457799BBCDFF1- Ciphertext yang diharapkan
85E813540F0AB405
Enkripsi dan dekripsi DES
Operasi DES menggunakan library CryptoJS sebagai implementasi referensi. Mode HEX menggunakan ECB tanpa padding agar sesuai dengan vektor uji standar. Mode teks menggunakan UTF-8 dan PKCS#7 agar pesan biasa dapat dienkripsi.
Enkripsi DES
16 karakter heksadesimal, total 64 bit termasuk posisi paritas.
Dekripsi DES
Gunakan kunci yang sama dengan proses enkripsi.
Ciphertext harus berisi blok DES lengkap, yaitu 16 karakter HEX per blok 64 bit.
Jadwal Kunci DES
Bagian ini menunjukkan tahap yang diwajibkan pada tugas: kunci 64 bit, PC-1, kunci 56 bit, C0 dan D0, pergeseran kiri tiap ronde, lalu PC-2 untuk menghasilkan K1 sampai K16.
Generator kunci ronde
Belum dihitung
Belum dihitung
Belum dihitung
| Ronde | Pergeseran kiri | Cᵢ, 28 bit | Dᵢ, 28 bit | PC-2 menghasilkan Kᵢ, 48 bit |
|---|---|---|---|---|
| Belum ada jadwal kunci. Masukkan kunci lalu tekan “Buat jadwal kunci”. | ||||
Urutan kunci saat enkripsi
K1 digunakan lebih dulu, kemudian berurutan sampai K16.
Urutan kunci saat dekripsi
Kunci ronde yang sama digunakan dalam urutan terbalik.
Kasus Uji
Uji pertama memakai vektor uji standar DES yang diwajibkan. Tiga pengujian lain memeriksa dekripsi serta dua vektor uji tambahan.
| # | Kasus uji | Algoritma | Masukan | Hasil aplikasi | Hasil yang diharapkan | Status |
|---|---|---|---|---|---|---|
| Belum ada hasil. Tekan “Jalankan semua uji”. | ||||||
Validasi input
Masukan yang salah tidak menyebabkan aplikasi berhenti. Sistem menolak data yang tidak sesuai dan menjelaskan bagian yang perlu diperbaiki.
- Masukan kosong
- Plaintext, ciphertext, atau kunci harus diisi sebelum proses dijalankan.
- Kunci DES tidak valid
- Kunci harus tepat 16 karakter heksadesimal.
- Ciphertext tidak lengkap
- Mode HEX hanya menerima blok 64 bit lengkap.
- Hasil teks tidak valid
- Jika byte hasil dekripsi bukan UTF-8 yang valid, aplikasi meminta pengguna memeriksa kunci atau memakai mode HEX.
Fitur keamanan: ruang kunci DES
Sesuai instruksi tugas, bagian ini tidak melakukan brute force. Tujuannya menunjukkan besarnya ruang kunci DES dan membedakan kunci 64 bit yang dimasukkan dari ukuran efektif 56 bit.
Mengapa efektifnya 56 bit?
- Kunci yang dimasukkan
- 64 bit
- Posisi paritas
- 8 bit
- Ukuran kunci efektif
- 56 bit
- Kemungkinan kunci efektif, 256
- 72,057,594,037,927,936
DES dipakai di aplikasi ini untuk demonstrasi pembelajaran. Untuk sistem modern yang menyimpan data sensitif, DES sudah tidak dianggap memadai.
Kalkulator ruang kunci
- Kecepatan asumsi
- Belum dihitung
- Kasus terburuk, semua 256 kunci
- Belum dihitung
- Kasus rata-rata, setengah ruang kunci
- Belum dihitung
Urutan demo saat presentasi
Urutan ini mencakup seluruh bagian wajib tanpa perlu berpindah-pindah halaman.
- 1Uji enkripsi standar.
Muat plaintext
0123456789ABCDEFdan kunci133457799BBCDFF1. Pastikan hasilnya85E813540F0AB405. - 2Dekripsi hasilnya.
Gunakan kunci yang sama dan tunjukkan plaintext kembali ke nilai awal.
- 3Buka jadwal kunci.
Jelaskan PC-1, C0/D0, pergeseran kiri tiap ronde, PC-2, serta K1 sampai K16.
- 4Bandingkan urutan kunci.
Enkripsi memakai K1 sampai K16. Dekripsi memakai K16 sampai K1.
- 5Jalankan kasus uji.
Tunjukkan hasil aplikasi, hasil yang diharapkan, serta status PASS atau FAIL.
- 6Tunjukkan validasi.
Kurangi satu karakter pada kunci atau masukkan karakter non-HEX dan tunjukkan pesan kesalahan.
- 7Tutup dengan keamanan DES.
Jelaskan kunci masukan 64 bit, 8 bit paritas, 56 bit efektif, dan total 256 kemungkinan kunci.