Multiple NewMITM Dissection Summary
Multiple Encryption — New Cryptanalytic Algorithms and Applications
Orr Dunkelman
Computer Science Department University of Haifa
4th July, 2013
Orr Dunkelman Multiple Encryption 1/ 35
Multiple Encryption New Cryptanalytic Algorithms and Applications - - PowerPoint PPT Presentation
Multiple NewMITM Dissection Summary Multiple Encryption New Cryptanalytic Algorithms and Applications Orr Dunkelman Computer Science Department University of Haifa 4th July, 2013 Orr Dunkelman Multiple Encryption 1/ 35 Multiple
Multiple NewMITM Dissection Summary
Orr Dunkelman Multiple Encryption 1/ 35
Multiple NewMITM Dissection Summary
Orr Dunkelman Multiple Encryption 2/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ The main critique against DES was its short (56 bits) key
◮ Already in 1977, Diffie and Hellman suggested a 20M$
Orr Dunkelman Multiple Encryption 3/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ The main critique against DES was its short (56 bits) key
◮ Already in 1977, Diffie and Hellman suggested a 20M$
◮ As a result, it was suggested to use double and triple
◮ Due to the Meet in the Middle attack [DH77],
Orr Dunkelman Multiple Encryption 3/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
P
K1
K2 C
Orr Dunkelman Multiple Encryption 4/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ In a MitM attack, try all K1 values,
◮ Store all (XK1, K1) pairs in a table
P
K1 (XK1, K1)
K2 C
Orr Dunkelman Multiple Encryption 4/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ In a MitM attack, try all K1 values,
◮ Store all (XK1, K1) pairs in a table
◮ Then, for every K2, decrypt C, and
P
K1 (XK1, K1) DK2(C)
K2 C
Orr Dunkelman Multiple Encryption 4/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ In a MitM attack, try all K1 values,
◮ Store all (XK1, K1) pairs in a table
◮ Then, for every K2, decrypt C, and
◮ In case there is a match in the table,
P
K1 (XK1, K1) DK2(C) ?
K2 C
Orr Dunkelman Multiple Encryption 4/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ We shall assume that the block size and the key size are
◮ When this is the case, the complexities of the proposed
Orr Dunkelman Multiple Encryption 5/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ We shall assume that the block size and the key size are
◮ When this is the case, the complexities of the proposed
◮ There is a simple time-memory tradeoff: TM = 22n with
Orr Dunkelman Multiple Encryption 5/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ We shall assume that the block size and the key size are
◮ When this is the case, the complexities of the proposed
◮ There is a simple time-memory tradeoff: TM = 22n with
◮ The data complexity of the attack is 2 (= unicity
Orr Dunkelman Multiple Encryption 5/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ The same attack works also against Triple-Encryption:
◮ Just construct a table of 2n entries as before.
Orr Dunkelman Multiple Encryption 6/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ The same attack works also against Triple-Encryption:
◮ Just construct a table of 2n entries as before. ◮ The attack offers a simple time-memory tradeoff of
◮ Data complexity: 3.
Orr Dunkelman Multiple Encryption 6/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
P
K1
K2 C
Orr Dunkelman Multiple Encryption 7/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
P
K1
K2 C ◮ Each key suggested by the MITM is a collision
Orr Dunkelman Multiple Encryption 7/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
P
K1
K2 C ◮ Each key suggested by the MITM is a collision
◮ Such collisions can be found in time O(2n/2)
◮ There are 2n collisions, and we need to cover all
◮ Total time complexity: O(23n/2). ◮ There is a tradeoff between time and memory.
Orr Dunkelman Multiple Encryption 7/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ An interesting observation by [L98] is the fact that double
◮ Hence, if a value in not in the table (and many bins are
◮ This allows slightly reducing the time complexity of the
Orr Dunkelman Multiple Encryption 8/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
P
K1
K2
K1
Orr Dunkelman Multiple Encryption 9/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
K1
K2
K1
Orr Dunkelman Multiple Encryption 9/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ For any K1 decrypt 0 to obtain the
PK1
K1
K2
K1
Orr Dunkelman Multiple Encryption 9/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ For any K1 decrypt 0 to obtain the
◮ Ask for the encryption of PK1, and
PK1
K1
K2
K1 CK1
Orr Dunkelman Multiple Encryption 9/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ For any K1 decrypt 0 to obtain the
◮ Ask for the encryption of PK1, and
◮ Decrypt CK1 under K1 to obtain
PK1
K1
K2
K1 CK1 XK1
Orr Dunkelman Multiple Encryption 9/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ For any K1 decrypt 0 to obtain the
◮ Ask for the encryption of PK1, and
◮ Decrypt CK1 under K1 to obtain
PK1
K1
K2
K1 CK1 XK1
Orr Dunkelman Multiple Encryption 9/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ For any K1 decrypt 0 to obtain the
◮ Ask for the encryption of PK1, and
◮ Decrypt CK1 under K1 to obtain
◮ Try all K2 values, and compute DK2(0)
PK1
K1
K2
K1 CK1 XK1
Orr Dunkelman Multiple Encryption 9/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ The attack exploits a chosen plaintext scenario. ◮ The data complexity is 2n chosen plaintexts (worst case). ◮ The time/memory complexities are 2n.
Orr Dunkelman Multiple Encryption 10/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ The attack exploits a chosen plaintext scenario. ◮ The data complexity is 2n chosen plaintexts (worst case). ◮ The time/memory complexities are 2n. ◮ The data complexity can be reduced in exchange for an
Orr Dunkelman Multiple Encryption 10/ 35
Multiple NewMITM Dissection Summary MitM PCS 2K3Enc
◮ The attack exploits a chosen plaintext scenario. ◮ The data complexity is 2n chosen plaintexts (worst case). ◮ The time/memory complexities are 2n. ◮ The data complexity can be reduced in exchange for an
◮ The splice-and-cut technique is very related to this attack
Orr Dunkelman Multiple Encryption 10/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
P1, P2, P3, P4
K1
K2
K3
K4 C1, C2, C3, C4 X 2
1 Orr Dunkelman Multiple Encryption 11/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
P1, P2, P3, P4
K1
K2
K3
K4 C1, C2, C3, C4 X 2
1 Orr Dunkelman Multiple Encryption 11/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
1 For any guess of X 2 1 , perform a MitM
P1
K1
K2
K3
K4 C1 X 2
1 Orr Dunkelman Multiple Encryption 11/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
1 For any guess of X 2 1 , perform a MitM
2 Obtain a list of 2n possible pairs of
P1
K1
K2
K3
K4 C1 X 2
1 Orr Dunkelman Multiple Encryption 11/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
1 For any guess of X 2 1 , perform a MitM
2 Obtain a list of 2n possible pairs of
3 Encrypt P2 under the obtained
2 , (K1, K2)) in a table. P1
K1
K2
K3
K4 C1 X 2
1
P2
X 2
2 Orr Dunkelman Multiple Encryption 11/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
1 For any guess of X 2 1 , perform a MitM
2 Obtain a list of 2n possible pairs of
3 Encrypt P2 under the obtained
2 , (K1, K2)) in a table. 4 Perform another MitM on E4 ◦ E3,
2 from C2. P1
K1
K2
K3
K4 C1 X 2
1
P2
X 2
2 Orr Dunkelman Multiple Encryption 11/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
1 For any guess of X 2 1 , perform a MitM
2 Obtain a list of 2n possible pairs of
3 Encrypt P2 under the obtained
2 , (K1, K2)) in a table. 4 Perform another MitM on E4 ◦ E3,
2 from C2. P1
K1
K2
K3
K4 C1 X 2
1
P2
X 2
2
C2
Orr Dunkelman Multiple Encryption 11/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
1 For any guess of X 2 1 , perform a MitM
2 Obtain a list of 2n possible pairs of
3 Encrypt P2 under the obtained
2 , (K1, K2)) in a table. 4 Perform another MitM on E4 ◦ E3,
2 from C2. 5 Verify the suggested key
P1
K1
K2
K3
K4 C1 X 2
1
P2
X 2
2
C2
Orr Dunkelman Multiple Encryption 11/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ For each X 2 1 guess, we did two MitM attacks of 2n time
◮ Then, we had another MitM of 2n time and memory. ◮ So in total — time complexity is 22n, and memory
Orr Dunkelman Multiple Encryption 12/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ For each X 2 1 guess, we did two MitM attacks of 2n time
◮ Then, we had another MitM of 2n time and memory. ◮ So in total — time complexity is 22n, and memory
Orr Dunkelman Multiple Encryption 12/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ Obviously, enjoying the 2n gain when attacking
Orr Dunkelman Multiple Encryption 13/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ Obviously, enjoying the 2n gain when attacking
◮ Just guess the r − 4 last keys, and apply the 4-encryption
Orr Dunkelman Multiple Encryption 13/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ Obviously, enjoying the 2n gain when attacking
◮ Just guess the r − 4 last keys, and apply the 4-encryption
◮ Of course, the question is whether we can do better. . .
Orr Dunkelman Multiple Encryption 13/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ Obviously, enjoying the 2n gain when attacking
◮ Just guess the r − 4 last keys, and apply the 4-encryption
◮ Of course, the question is whether we can do better. . . ◮ Namely, can we gain more given that we already gained
Orr Dunkelman Multiple Encryption 13/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A straightforward extension is
◮ When attacking r-encryption,
P1 P2 P3 . . . P8 C1 C2 C3 . . . C8
Orr Dunkelman Multiple Encryption 14/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A straightforward extension is
◮ When attacking r-encryption,
P1 P2 P3 . . . P8 C1 C2 C3 . . . C8
Orr Dunkelman Multiple Encryption 14/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A straightforward extension is
◮ When attacking r-encryption,
P1 P2 P3 . . . P8 C1 C2 C3 . . . C8
Orr Dunkelman Multiple Encryption 14/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A straightforward extension is
◮ When attacking r-encryption,
P1 P2 P3 . . . P8 C1 C2 C3 . . . C8
Orr Dunkelman Multiple Encryption 14/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A straightforward extension is
◮ When attacking r-encryption,
P1 P2 P3 . . . P8 C1 C2 C3 . . . C8
Orr Dunkelman Multiple Encryption 14/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A straightforward extension is
◮ When attacking r-encryption,
P1 P2 P3 . . . P8 C1 C2 C3 . . . C8
Orr Dunkelman Multiple Encryption 14/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A straightforward extension is
◮ When attacking r-encryption,
P1 P2 P3 . . . P8 C1 C2 C3 . . . C8
Orr Dunkelman Multiple Encryption 14/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A straightforward extension is
◮ When attacking r-encryption,
P1 P2 P3 . . . P8 C1 C2 C3 . . . C8
Orr Dunkelman Multiple Encryption 14/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A straightforward extension is
◮ When attacking r-encryption,
P1 P2 P3 . . . P8 C1 C2 C3 . . . C8
Orr Dunkelman Multiple Encryption 14/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A straightforward extension is
◮ When attacking r-encryption,
◮ With 2n memory, the running
◮ The “gain” sequence is:
P1 P2 P3 . . . P8 C1 C2 C3 . . . C8
Orr Dunkelman Multiple Encryption 14/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A different improvement that
◮ Consider 16-Encryption: P1 P2 P3 . . . P16 C1 C2 C3 . . . C16
Orr Dunkelman Multiple Encryption 15/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A different improvement that
◮ Consider 16-Encryption: P1 P2 P3 . . . P16 C1 C2 C3 . . . C16
Orr Dunkelman Multiple Encryption 15/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A different improvement that
◮ Consider 16-Encryption: P1 P2 P3 . . . P16 C1 C2 C3 . . . C16
4-Encryption Attack Time 22n 2n Remaining Keys
Orr Dunkelman Multiple Encryption 15/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A different improvement that
◮ Consider 16-Encryption: P1 P2 P3 . . . P16 C1 C2 C3 . . . C16
4-Encryption Attack Time 22n 2n Remaining Keys 4-Encryption Attack Time 22n 2n Remaining Keys 4-Encryption Attack Time 22n 2n Remaining Keys 4-Encryption Attack Time 22n 2n Remaining Keys
Orr Dunkelman Multiple Encryption 15/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A different improvement that
◮ Consider 16-Encryption: P4 P5 P6 . . . P16 C4 C5 C6 . . . C16
2n Keys 2n Keys 2n Keys 2n Keys
Orr Dunkelman Multiple Encryption 15/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A different improvement that
◮ Consider 16-Encryption: ◮ Now, we need to attack
P4 P5 P6 . . . P16 C4 C5 C6 . . . C16 2n Keys 2n Keys 2n Keys 2n Keys
Orr Dunkelman Multiple Encryption 15/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A different improvement that
◮ Consider 16-Encryption: ◮ Now, we need to attack
◮ The complexity is 2n(r−√r+1). ◮ The “gain” sequence is:
P4 P5 P6 . . . P16 C4 C5 C6 . . . C16 2n Keys 2n Keys 2n Keys 2n Keys
Orr Dunkelman Multiple Encryption 15/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ The shared characteristic of both LogLayer and Square is
◮ They do not distinguish between the “forward” direction
◮ In reality, they are different. The “backward” direction
Orr Dunkelman Multiple Encryption 16/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A different improvement relies
◮ Consider 7-Encryption: P1 P2 P3 . . . P7 C1 C2 C3 . . . C7
Orr Dunkelman Multiple Encryption 17/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A different improvement relies
◮ Consider 7-Encryption: P1 P2 P3 . . . P7 C1 C2 C3 . . . C7
Orr Dunkelman Multiple Encryption 17/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A different improvement relies
◮ Consider 7-Encryption: P1 P2 P3 . . . P7 C1 C2 C3 . . . C7
3-Encryption MitM 22n time 2n keys left
Orr Dunkelman Multiple Encryption 17/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A different improvement relies
◮ Consider 7-Encryption: P1 P2 P3 . . . P7 C1 C2 C3 . . . C7
Orr Dunkelman Multiple Encryption 17/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A different improvement relies
◮ Consider 7-Encryption: P1 P2 P3 . . . P7 C1 C2 C3 . . . C7
4-Encryption MitM 22n time 22n keys left
Orr Dunkelman Multiple Encryption 17/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A different improvement relies
◮ Consider 7-Encryption: ◮ We access the table with the 22n
P1 P2 P3 . . . P7 C1 C2 C3 . . . C7
Orr Dunkelman Multiple Encryption 17/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ A different improvement relies
◮ Consider 7-Encryption: ◮ We access the table with the 22n
◮ The idea is to balance the
◮ The “gain” sequence is:
P1 P2 P3 . . . P7 C1 C2 C3 . . . C7
Orr Dunkelman Multiple Encryption 17/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
1 Guess as many keys as needed to reduce the scheme to a
2 Dissect the remaining encryptions: 1 For the ith magic number, guess i − 1 internal states
2 Attack the first i rounds, obtain 2n keys, and construct a
3 Attack the remaining rounds, and access the table to
Orr Dunkelman Multiple Encryption 18/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ Just like in the PCS algorithm for double-encryption, to
◮ This is done be defining F upper : (K1, . . . , Kr/2) → (X r/2
1
, . . . , X r/2
r/2 ) and
F lower : (Kr/2+1, . . . , Kr ) → (X r/2
1
, . . . , X r/2
r/2 ).
◮ Given Floyd’s algorithm (or Nivasch’s or Brent’s or . . . ),
◮ Actually, we can use Hellman’s TMTO attacks to find 2n
◮ After 2(r/2)n such collisions, we expect the right one to
Orr Dunkelman Multiple Encryption 19/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ The key idea is to compute the functions F upper and
Orr Dunkelman Multiple Encryption 20/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ The key idea is to compute the functions F upper and
◮ Namely, we “agree” on the output of the functions, thus,
Orr Dunkelman Multiple Encryption 20/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ The key idea is to compute the functions F upper and
◮ Namely, we “agree” on the output of the functions, thus,
◮ For 8-Encryption:
1 , X 4 2 , X 4 3 , X 4 4
1 , X 4 2 , X 4 3 , X 4 4
Orr Dunkelman Multiple Encryption 20/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
◮ The key idea is to compute the functions F upper and
◮ Namely, we “agree” on the output of the functions, thus,
◮ For 8-Encryption:
1 → X 4 4
1 , X 4 2 , X 4 3
1 → X 4 4
1 , X 4 2 , X 4 3
Orr Dunkelman Multiple Encryption 20/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
Compared with standard MitM with 2n mem.
Orr Dunkelman Multiple Encryption 21/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
Compared with standard MitM with 2n mem.
b b b b b LogLayer
Orr Dunkelman Multiple Encryption 21/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
Compared with standard MitM with 2n mem.
b b b b b LogLayer b b b b b b b Square
Orr Dunkelman Multiple Encryption 21/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
Compared with standard MitM with 2n mem.
b b b b b LogLayer b b b b b b b Square b b b b b b b b b Dissect
Orr Dunkelman Multiple Encryption 21/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
Compared with standard MitM with 2n mem.
b b b b b b b b b Dissect b b b b b b b b b b b b b b b b b b b b b PCS
Orr Dunkelman Multiple Encryption 21/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
Compared with standard MitM with 2n mem.
b b b b b b b b b b b b b b b b b b b b b PCS b b b b b b b b b b b b b b b b b b b b b Dissect & Collide
Orr Dunkelman Multiple Encryption 21/ 35
Multiple NewMITM Dissection Summary 4Enc Extensions Asymmetric PCS
Compared with standard MitM with 2n mem.
b b b b b b b b b Dissect b b b b b b b b b b b b b b b b b b b b b Dissect & Collide
Orr Dunkelman Multiple Encryption 21/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ Actually, multiple-encryption is a
◮ A bicomposite problem is a
◮ For example, in the case of
Orr Dunkelman Multiple Encryption 22/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ The knapsack problem (AKA “subset sum” problem) is a
◮ Many knapsack cryptosystems were proposed (and
Orr Dunkelman Multiple Encryption 23/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ The knapsack problem (AKA “subset sum” problem) is a
◮ Many knapsack cryptosystems were proposed (and
◮ In the knapsack problem, a set of constants {ai}n i=1 is
◮ The problem is to find a set of coefficients {ǫi}n i=1,
n
◮ We shall deal with the modular variant (mod 2n).
Orr Dunkelman Multiple Encryption 23/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ It is possible to write this problem as a “multiple
Orr Dunkelman Multiple Encryption 24/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ It is possible to write this problem as a “multiple
◮ The plaintext is 0, and each encryption is keyed by one
Orr Dunkelman Multiple Encryption 24/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ It is possible to write this problem as a “multiple
◮ The plaintext is 0, and each encryption is keyed by one
◮ The ciphertext is selected to be S.
Orr Dunkelman Multiple Encryption 24/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ It is possible to write this problem as a “multiple
◮ The plaintext is 0, and each encryption is keyed by one
◮ The ciphertext is selected to be S.
Orr Dunkelman Multiple Encryption 24/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ We just split the knapsack into
◮ Namely, we treat each chunk as
◮ Each chunk has as a plaintext
◮ Of course, we need to deal with
◮ Which is easy if you solve the
S S S S S ǫi ǫi ǫi ǫi ǫi ǫi
Orr Dunkelman Multiple Encryption 25/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ We can dissect the
◮ For example, we can
i=1 into 7
S S S S S S S {ǫi} {ǫi} {ǫi} {ǫi} {ǫi} {ǫi} {ǫi}
Orr Dunkelman Multiple Encryption 26/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ We can dissect the
◮ For example, we can
i=1 into 7
S S S S S S S {ǫi} {ǫi} {ǫi} {ǫi} {ǫi} {ǫi} {ǫi}
Orr Dunkelman Multiple Encryption
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ We can dissect the
◮ For example, we can
i=1 into 7
S S S S S S S {ǫi} {ǫi} {ǫi} {ǫi} {ǫi} {ǫi} {ǫi}
Orr Dunkelman Multiple Encryption
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ We can dissect the
◮ For example, we can
i=1 into 7
S S S S S S S {ǫi} {ǫi} {ǫi} {ǫi} {ǫi} {ǫi} {ǫi}
Orr Dunkelman Multiple Encryption
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ We can dissect the
◮ For example, we can
i=1 into 7
S S S S S S S {ǫi} {ǫi} {ǫi} {ǫi} {ǫi} {ǫi} {ǫi}
Orr Dunkelman Multiple Encryption
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ We can dissect the
◮ For example, we can
i=1 into 7
S S S S S S S {ǫi} {ǫi} {ǫi} {ǫi} {ǫi} {ǫi} {ǫi}
Orr Dunkelman Multiple Encryption
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ We can dissect the
◮ For example, we can
i=1 into 7
S S S S S S S {ǫi} {ǫi} {ǫi} {ǫi} {ǫi} {ǫi} {ǫi}
Orr Dunkelman Multiple Encryption 26/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ Some specific cases of knapsacks are easy
◮ Some can be solved by LLL (when the knapsack is
◮ Previous attacks for general knapsacks:
◮ Schroeppel-Shamir, 1981 — O(2n/2) time and O(2n/4)
◮ Howgrave-Graham and Joux, 2010 — O(20.337n) time
◮ Becker, Coron, Joux, 2011 — 20.72n time (no-memory)
Orr Dunkelman Multiple Encryption 27/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
Orr Dunkelman Multiple Encryption 28/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ Schroeppel-Shamir needs “monotonicity” to work. ◮ [HGJ10,BCJ11] heavily use properties of modular
Orr Dunkelman Multiple Encryption 29/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ Schroeppel-Shamir needs “monotonicity” to work. ◮ [HGJ10,BCJ11] heavily use properties of modular
◮ However, what happens when the knapsack is of the form:
Orr Dunkelman Multiple Encryption 29/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ Schroeppel-Shamir needs “monotonicity” to work. ◮ [HGJ10,BCJ11] heavily use properties of modular
◮ However, what happens when the knapsack is of the form:
◮ Luckily for us, we can apply our algorithm for any series
Orr Dunkelman Multiple Encryption 29/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ Assume we are given a set of permutations σ1, σ2, . . . , σt. ◮ We are given a series of input/output pairs:
Multiple Encryption 30/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ Assume we are given a set of permutations σ1, σ2, . . . , σt. ◮ We are given a series of input/output pairs:
Orr Dunkelman Multiple Encryption 30/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ Assume we are given a set of permutations σ1, σ2, . . . , σt. ◮ We are given a series of input/output pairs:
◮ Solution — treat as a bicomposite problem.
Orr Dunkelman Multiple Encryption 30/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ Consider Rubik’s cube. ◮ We are given a reachable state, and asked to solve it. ◮ There are 18 possible operations (6 planes to rotate by
◮ And we know that there is a 18-step solution. ◮ Search space — ≈ 278 20-operation “logical” sequences. ◮ How to find it?
Orr Dunkelman Multiple Encryption 31/ 35
Multiple NewMITM Dissection Summary Knapsack Permutation
◮ [F+89] — A variant of Schroeppel-Shamir to solve the
◮ [K97] — Golic-Babbage Time-Memory tradeoff attack
◮ We can just start “encrypting” some of the corners of the
Orr Dunkelman Multiple Encryption 32/ 35
Multiple NewMITM Dissection Summary
◮ We presented the concept of bicomposite problems and
◮ These problems can model many types of problems, from
◮ The gain is both in the “deterministic” environment, and
◮ We also shown (but not talked) about recursive Dissect &
Orr Dunkelman Multiple Encryption 33/ 35
Multiple NewMITM Dissection Summary
1 Find more problems to solve!
Orr Dunkelman Multiple Encryption 34/ 35
Multiple NewMITM Dissection Summary
1 Find more problems to solve! 2 Interestingly, the time complexity is never lower than 2r/2n
Orr Dunkelman Multiple Encryption 34/ 35
Multiple NewMITM Dissection Summary
1 Find more problems to solve! 2 Interestingly, the time complexity is never lower than 2r/2n
3 Are there other lower bounds proofs?
Orr Dunkelman Multiple Encryption 34/ 35
Multiple NewMITM Dissection Summary
1 Find more problems to solve! 2 Interestingly, the time complexity is never lower than 2r/2n
3 Are there other lower bounds proofs? 4 Can we combine these techniques with some more
Orr Dunkelman Multiple Encryption 34/ 35
Multiple NewMITM Dissection Summary
Orr Dunkelman Multiple Encryption 35/ 35