Skip to main content

Symmetric cryptography

DES Key Schedule Visualizer

Explore how DES turns one 64-bit key into sixteen 48-bit round subkeys using PC-1, left rotations, and PC-2 compression.

Legacy algorithm note

DES is cryptographically broken today. This visualizer is for understanding the historical key schedule only.

Round subkeys

Every DES round receives a unique 48-bit subkey from the schedule.

Schedule setup

Convert 64-bit key to bits

0001001100110100010101110111100110011011101111001101111111110001

The 16-character hexadecimal DES key represents 64 bits, including parity bits.

Apply PC-1

11110000110011001010101011110101010101100110011110001111

PC-1 removes parity bits and permutes the key into a 56-bit value.

Split into C0 and D0

1111000011001100101010101111 | 0101010101100110011110001111

The 56-bit value is split into two 28-bit halves called C0 and D0.

Rotate and apply PC-2

K1=1B02EFFC7072, K2=79AED9DBC9E5, K3=55FC8A42CF99, K4=72ADD6DB351D, K5=7CEC07EB53A8, K6=63A53E507B2F, K7=EC84B7F618BC, K8=F78A3AC13BFB, K9=E0DBEBEDE781, K10=B1F347BA464F, K11=215FD3DED386, K12=7571F59467E9, K13=97C5D1FABA41, K14=5F43B7F2E73A, K15=BF918D3D3F0A, K16=CB3D8B0E17F5

Each round rotates C and D, joins them, then PC-2 compresses 56 bits into a 48-bit subkey.

Active round

Round 1

This round rotates both 28-bit halves left by 1 bit before PC-2 compression.

Left shifts

1

C half

1110000110011001010101011111

D half

1010101011001100111100011110

48-bit subkey

1B02EFFC7072

Manual testing checklist

  1. 1Open the DES Key Schedule Visualizer page.
  2. 2Confirm the default key 133457799BBCDFF1 generates 16 round subkeys.
  3. 3Confirm round 1 subkey is 1B02EFFC7072.
  4. 4Click multiple rounds and confirm C, D, combined key, shift count, and subkey update.
  5. 5Enter a non-hex key and confirm a friendly validation error appears.
  6. 6Enter a key shorter than 16 hex characters and confirm validation prevents generation.
  7. 7Resize to mobile width and confirm round cards and tables remain usable.