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