The original differential cryptanalysis paper (BS91)
Thread (13 posts)
Reading this I'm a little confused by the definition of characteristic (Definition 6) Can you describe in modern notation exactly what values make up a characteristic and what it means for that characteristic to have a probability
Actually, instead can you explain the diagram in example 9 and specifically what the word "always" means?
Thinking Summary
The user is asking about Example 9 from the Biham-Shamir differential cryptanalysis paper (BS91). Let me look at what Example 9 says and the diagram it contains. Example 9 describes a one-round characteristic with probability 1. The diagram shows: - At the top: Ωp = (L', 0x) - A box labeled "F" - Arrows showing A' = 0x and a' = 0x - The word "always" - At the bottom: ΩT = (L', 0x) So this is about a one-round characteristic in DES. In differential cryptanalysis, we're looking at pairs of plaintexts and their corresponding ciphertexts, and tracking the XOR differences through the cipher. In DES notation: - The plaintext P is split into left and right halves (L, R) - In one round: the right half R goes through function F, then XORs with L to produce the new left half - The halves are swapped So for a one-round DES: - Input: (L, R) - After F function and XOR: (R, L ⊕ F(R)) Now for the differential (tracking XOR differences): - If we have plaintexts P and P*, their XOR is P' = P ⊕ P* - Split as (L', R') where L' = L ⊕ L* and R' = R ⊕ R* In Example 9: - Ωp = (L', 0x) means the plaintext XOR has L' in the left half and 0 in the right half - Since R' = 0, we have R = R*, so both plaintexts have the same right half - a' = R' = 0x (the input XOR to F is 0) - Since both inputs to F are the same (a = a*), the outputs must be the same: A = A* - The XOR of the F function outputs is zero, ensuring a predictable transformation - This leads to a specific pattern in the round's output differential - The deterministic nature means this occurs with absolute certainty when input values match
Looking at Example 9, this diagram shows a one-round DES characteristic where the plaintext XOR difference is Ωp = (L', 0x).
In DES, each round works like this:
- The 64-bit block is split into left (L) and right (R) halves
- The right half goes through the F function
- The F output is XORed with the left half
- The halves are swapped
In differential cryptanalysis, we track XOR differences through the cipher. If we have two plaintexts P and P*, their XOR difference is P' = P ⊕ P*.
In Example 9:
- Ωp = (L', 0x) means the plaintext pair has XOR difference L' in the left half and 0 in the right half
- a' = 0x means the input XOR to the F function is 0 (since a = R and a' = R' = 0)
- A' = 0x means the output XOR from the F function is 0
- "always" means this happens with probability 1 (100% certainty)
The key insight: When both inputs to the F function are identical (a' = 0), both outputs must be identical (A' = 0). This is deterministic - if you put the same value into a function twice, you get the same output twice.
After the round:
- The new left half is the old right half (which had XOR = 0)
- The new right half is L ⊕ F(R), with XOR = L' ⊕ A' = L' ⊕ 0 = L'
- So ΩT = (0, L') which equals (L', 0) after the swap
This characteristic has probability 1 because there's no probabilistic behavior - identical inputs to F always produce identical outputs.
Remember to use KaTeX
Can you use this as a worked example to explain the papers notation
Thinking Summary
The user wants me to explain the paper's notation using Example 9 as a worked example, and I need to use KaTeX for math. Let me go through the notation systematically. The paper uses a lot of specific notation that can be confusing. Let me break it down using Example 9.
Let me use Example 9 to explain the paper's notation system:
Core Notation
Pairs and XOR differences:
- = two plaintexts in a pair
- = the XOR difference between them
- Similarly: are ciphertexts,
Intermediate values:
- = 32-bit inputs to F function in rounds 1, 2, 3, ...
- = 32-bit outputs from F function in rounds 1, 2, 3, ...
- = XOR differences of inputs ()
- = XOR differences of outputs ()
Example 9 Walkthrough
Initial state:
- Left half has XOR difference
- Right half has XOR difference (identical values)
Round 1:
- Input to F: (the right half of plaintext)
- Since right halves are identical:
- When , we must have (identical inputs → identical outputs)
- This happens "always" = with probability 1
After round 1:
- New left = old right = has XOR difference
- New right = , so difference =
- Output: before swap = after swap
Characteristic Definition
A characteristic consists of:
- = plaintext XOR
- = ciphertext XOR
- = list of round behaviors
- Each = (input XOR, output XOR) for round
For Example 9:
Probability Notation
The notation means "input XOR causes output XOR "
- Probability depends on how many input pairs with XOR produce output XOR
- In Example 9: with probability 1 (always)
- In Example 10: with probability 14/64
The characteristic's total probability is the product of all round probabilities.