C2 Key parity and key check values

Needs: Supporter

Odd parity on DES keys, and the key check values (KCV) every key exchange is verified with.

This is a supporter feature. Create a free account, then try every supporter feature free for 7 days.

Sign in Create a free account See plans

What this module covers

Track C · Cryptography

You will be able to

  • Check and fix odd parity
  • Explain why parity is not security
  • Compute a DES KCV and an AES KCV
  • Use KCVs to find a mistyped component

The lesson

  1. Why it matters
  2. The concept
  3. Step by step
  4. In the real world
  5. Common mistakes
  6. What to test

In the module

  • The lesson, with diagrams, common mistakes and what to test
  • A worked example you can change: Parity, then the key check value
  • Practice: 4 kinds of generated exercise, each with a step-by-step solution
  • A quiz of 9 questions

Key terms

Key check value (KCV)
A short value computed from a key, usually the first 3 bytes of encrypting a zero block (for AES often a CMAC of zeros). It confirms the right key was loaded without revealing it.
Odd parity
The DES key convention: each byte has an odd number of one bits. A byte with even parity suggests a typing or transfer error.
Parity adjustment
Setting the lowest bit of each byte so the key has odd parity, for example after deriving a key.
Parity bit
The lowest bit of each DES key byte, not used by the cipher. It is set so each byte has an odd number of one bits.

Tools for this module: Key ParityGenerate Key

Read the opening of the lesson →

The lesson, worked example, practice and quiz open with a supporter pass, which you can try free for 7 days.
An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.