Differential Crypt-analysis of the Data Encryption Standard (DES) Using Six Rounds by James Pate Williams, Jr. BA, BS, MSwE, PhD

Reference

Stinson, Douglas Robert,  Cryptography: Theory and Practice, CRC Press, Boca Raton, FL, 1995, Section 3.6 Differential Crypt-analysis, pp. 89-113.

Six Rounds

Plaintext-Ciphertext Pairs:
0       7ce65464        329b4e6d        832a9d70        32015d9f
0       3cee5464        369b4e6d        85e2ce66        5571e99c
1       855a309f        96fea5ea        85ad6e9e        352afafa
1       c552309f        92fea5ea        929d2237        0acab80d
2       ab3ca25b        02bd18c8        0f7d768e        9203f786
2       eb34a25b        06bd18c8        a1313bc2        6a99d353
3       2094942e        093463ce        59f6a018        c6a0d820
3       609c942e        0d3463ce        799fe001        432346c0
4       740815a4        f6cdcabb        4a84d2ed        4d9351ab
4       340015a4        f2cdcabb        5923d04c        e94d6111
5       08bc39b7        66b2c128        dfb5f3f5        00bc0100
5       48b439b7        62b2c128        b7b9fed8        ac93ebfa

Possible J Values:
J #     J Cnt   J-Values:
0       1        0
1       1       25
2       1        0
3       1        0
4       1       48
5       1        9
6       1       42
7       1       35

key = ?0?101?P???0100P???1011P?0??101P??1??00P0???010P?1??001P???1?00P

Unknown bit Count = 26

key = 0011010011101001111101110001101000100000011101010110001000110001
tst = 0011010011101001111101110001101000100000011101010110001000110001
key = 34e9f71a 20756231
tst = 34e9f71a 20756231

J #     J-value True J-Value:
 0      55      55
 1      25      25
 2      13      13
 3      18      18
 4      48      48
 5       9       9
 6      42      42
 7      35      35

Tested Keys #             = 41829283
Runtime (s) = 775

Runtime per test (s)      = 0.000019
Runtime max estimated (s) = 775.787167

Press any key to continue . . .

Reproduction of Example 3.4 pp. 101-102.

0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Possible J Values:
J #     J Cnt   J-Values:
2       8       14 15 26 30 32 33 48 52
5       0
6       6        7 24 36 41 54 59
7       0
8       4       34 35 48 49

Could only determine 3 parameters
Press any key to continue . . .

The preceding example is of a wrong plaintext-ciphertext pair.

0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0
0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 1 0 1 1 0 0 1 0 0

0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 1
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Possible J Values:
J #     J Cnt   J-Values:
2       6        3 14 20 22 25 27
5       10       6 12 18 24 48 51 55 57 58 61
6       12       1  7  8  9 10 23 33 39 44 46 47 49
7       2        8 42
8       2       15 35

Could only determine 5 parameters
Press any key to continue . . .

The preceding example is of a right plaintext-ciphertext pair.