๐ DES Encryption
The DES key is entered as exactly 16 hexadecimal characters = 64 bits including parity positions.
A working interactive demonstration of the Data Encryption Standard: encrypt and decrypt data, inspect how a 64-bit DES key becomes sixteen 48-bit round keys, verify standard test vectors, and explore the effective 56-bit key space.
The cryptographic operation uses the vendored CryptoJS DES reference implementation. HEX mode uses ECB + NoPadding for standard block test vectors; Text mode uses UTF-8 + PKCS#7 padding.
The DES key is entered as exactly 16 hexadecimal characters = 64 bits including parity positions.
Ciphertext must contain complete DES blocks: 16 hex characters per 64-bit block.
A compact explanation for the classroom demo. DES processes 64-bit data blocks using a Feistel structure with 16 rounds.
DES takes one 64-bit block at a time. The standard vector is exactly one block.
The block is permuted and split into left and right 32-bit halves.
Each round combines one 48-bit round key with the round function and swaps halves.
After round 16, the halves are combined and the inverse permutation produces ciphertext.
Enter a 64-bit DES key and inspect the required path: 64-bit key โ PC-1 โ 56-bit key โ C0/D0 โ left shifts โ C1โฆC16 / D1โฆD16 โ PC-2 โ K1โฆK16.
โ
โ
โโ| Round | Left Shift | Cแตข (28 bit) | Dแตข (28 bit) | PC-2 โ Kแตข (48 bit) |
|---|
DES decryption uses the same round keys, only in the reverse order: K16 โ K15 โ โฆ โ K1.
The first case is the required standard DES vector from the assignment. The application also checks decryption and two additional known-answer vectors.
| # | Test | Algorithm | Input | Your Output | Expected Output | PASS / FAIL |
|---|
The app rejects invalid or incomplete input with a useful message instead of crashing.
Plaintext, ciphertext, and key fields are checked before DES runs.
The key must be exactly 16 hexadecimal characters (64 bits).
HEX ciphertext must contain complete 64-bit blocks.
If decrypted bytes are not valid UTF-8, the app asks the user to check the key or use HEX output.
The assignment specifically asks to demonstrate DES key-space size instead of attempting a brute-force attack. A DES key is entered as 64 bits, but only 56 bits contribute to the effective key space.
This calculator only demonstrates scale mathematically; it does not brute-force DES.
A short sequence that covers every required feature without jumping around the page.
0123456789ABCDEF and key 133457799BBCDFF1; show ciphertext 85E813540F0AB405.