an enciphering scheme based on a card shuffle
play

An enciphering scheme based on a card shuffle Ben Morris - PowerPoint PPT Presentation

An enciphering scheme based on a card shuffle Ben Morris Mathematics, UC Davis Joint work with Viet Tung Hoang (Computer Science, UC Davis) and Phil Rogaway (Computer Science, UC Davis). Setting Blockcipher construction pseudorandom function


  1. An enciphering scheme based on a card shuffle Ben Morris Mathematics, UC Davis Joint work with Viet Tung Hoang (Computer Science, UC Davis) and Phil Rogaway (Computer Science, UC Davis).

  2. Setting Blockcipher construction pseudorandom function − → pseudorandom permutation Most current methods rely on either: Feistel networks, or SP networks New method: Swap-or-not shuffle. Stronger provable-security results.

  3. Contribution: Swap-or-not ◮ A new method to construct a blockcipher ◮ A proof that it works, and with much better bounds than with Feistel

  4. Security of Swap-or-not : Numerical Examples Adv CCA Domain size # rounds # queries 2 64 < 10 − 10 2 63 64 -bit strings 1200 10 9 < 10 − 10 10 8 social security numbers 340 10 16 < 10 − 10 10 15 credit card numbers 500

  5. Flexible domain Our cipher works directly on nonbinary domains such as credit card numbers and social security numbers.

  6. The Problem PRF − → PRP Luby, Rackoff 88 Patarin 90, 03, 10 Maurer 92 Maurer, Pietrzak 03 M, Rogaway, Stegers 09

  7. Proven upper bounds for enciphering n -bit strings: method # rounds # queries q ≈ 2 n/ 4 Balanced Feistel 3 Luby, Rackoff q ≈ 2 n/ 2 − 1 /r r Maurer, Pietrzak q ≈ 2 n/ 2 6 Patarin q ≈ 2 (1 − ǫ ) n Thorp shuffle O ( n ) M, Rogaway, Stegers q ≈ (1 − ǫ )2 n Swap-or-not O ( n ) today’s talk

  8. Format-preserving Encryption Finite set M of messages. Eg M = { social security numbers } M = { credit card numbers } Want PRP π : M → M . It’s not clear how to do this using AES.

  9. Format-preserving Encryption � Bounds on balanced Feistel give security up to roughly |M| queries. Problem. M = { social security numbers } |M| = 10 9 � |M| ≈ 32 , 000 not too big Swap-or-not provides a practical solution to FPE on domains of troublesome size.

  10. Enciphering scheme ← → Card shuffle 111 111 110 110 101 101 100 100 011 011 010 010 001 001 000 000 messages encodings Oblivious shuffle (Naor): you can follow the trajectory of one card without attending to the others.

  11. Swap-or-not shuffle 111 110 101 100 011 010 001 000 At step t , choose K t uniformly at random from { 0 , 1 } n . Pair each x with K t ⊕ x . For each pair, flip a coin. If the coin lands heads, swap the cards at those locations.

  12. Swap-or-not shuffle 111 110 K t induces a random 101 matching. 100 011 (Pictured is the case 010 K t = 100 .) 001 000 At step t , choose K t uniformly at random from { 0 , 1 } n . Pair each x with K t ⊕ x . For each pair, flip a coin. If the coin lands heads, swap the cards at those locations.

  13. Alternative view function E KF ( x ) // swap-or-not for t ← 1 to r do x ← max( x, K t ⊕ x ) � b ← F t ( � x ) if b = 1 then x ← K t ⊕ x return x { 0 , 1 } n using a key Cipher E encrypts x ∈ ∈ { 0 , 1 } n and round KF naming K 1 , . . . , K r functions F 1 , . . . , F r : { 0 , 1 } n → { 0 , 1 } . Decryption: same, except run from r down to 1 . Why this works: Each round is its own inverse. To reverse the effect of the final round, run it again. Then run the next-to-last round, and so on.

  14. Alternative view Note that π ( x ) is of the form x ⊕ � i ∈ S x K i . But this is not linear. S x is adaptively constructed.

  15. Quantifying the advantage of an adversary Random permutation π . Adversary A queries π and π − 1 , then outputs a bit b . His advantage is P ( b = 1) − P u ( b = 1) . Adv cca ( q ) = maximum advantage when A is limited to q queries Adv ncpa ( q ) = maximum advantage when A is limited to q nonadaptive queries of π Theorem (Maurer, Pietrzak, Renner 2007) If F and G are blockciphers on the same message space, then, for any q , F ◦ G − 1 ( q ) ≤ Adv ncpa ( q ) + Adv ncpa Adv cca ( q ) . F G

  16. Quantitative bound Theorem For r rounds of swap-or-not on { 0 , 1 } n , � q + 2 n � r/ 4+1 Adv cca ( q ) ≤ 2 2+3 n/ 2 . 2 n +1 r + 4 If q ≤ (1 − ǫ )2 n then the advantage is small after O ( n ) rounds.

  17. Feistel, Thorp, Swap-or-Not on M = {0,1} 64 CCA Advantage (UB) SN-8 TH-8 FE-6 TH-20 FE-4 SN-20 lg ( q )

  18. Proof sketch By MPR07, we may assume a non-adaptive adversary who queries only π . For simplicity, suppose the queries are π (0) , . . . , π ( q − 1) . Game: Do r swap-or-not shuffles. Now turn over the cards labeled 0 , 1 , 2 , . . . (reveal π (0) , π (1) , . . . ) . Before each step, the adversary pays $1 . If he guesses the next card’s location correctly, he wins $ k if k cards were face down. Claim: If expected net winnings ≈ 0 , then the adversary has small advantage.

  19. It remains to show that the expected winnings are small. This is true even if when we turn over a card we reveal its whole trajectory!

  20. 0 2 0 0 0 2 2 2 2 1 1 1 0 1 1

  21. 3 / 2 − 1 − 1 2 E (net winnings) − 1 1 − 1 − 1 3 / 2 4 − 1 2 Uncovered cards − 1 1 0 0

  22. Let w i ( t ) be the expected net winnings if the adversary guesses i . Note: the adversary can expect to win max i w i ( t ) . Let W ( t ) = � i w i ( t ) 2 . Claim: If q ≤ (1 − ǫ )2 n then E ( W ( t + 1)) ≤ (1 − ǫ/ 2) E ( W ( t )) .

  23. Say an covered card is good if it is matched to another covered card. Not good: w i 0 w i 0

  24. Good: w i w w j w w 2 + w 2 = 1 2 ( w 2 i + w 2 j ) + w i w j cross terms are 0 on the average

  25. Recall that W ( t ) = � i w i ( t ) 2 . Good cards are expected to contribute 1 2 w 2 i ( t ) to W ( t + 1) . Not good cards contribute w 2 i ( t ) to W ( t + 1) . It follows that P ( good ) 1 E ( W ( t + 1) | W t ) = 2 W ( t ) + P ( not good ) W ( t ) � � 1 − 1 = 2 P ( good ) W ( t ) ≤ (1 − ǫ/ 2) W ( t ) , since P ( good ) ≥ ǫ.

  26. Using swap-or-not to make confusion/diffusion ciphers Example: Specify F t by an n -bit string L t and let F t ( � x ) = L t ⊙ � x be the inner product of L t and � x . function E KL ( x ) // inner product realization for t ← 1 to r do x ← max( x, K t ⊕ x ) � b ← L t ⊙ � x if b = 1 then x ← K t ⊕ x return x Cipher E encrypts x ∈ { 0 , 1 } n using a key KL that specifies K 1 , . . . , K r , L 1 , . . . , L r ∈ { 0 , 1 } n . We don’t know how many rounds to suggest.

  27. More general domain If the domain is a finite, abelian group ( G, +) , the cipher is the same as before, except ◮ Choose K t uniformly at random from G . ◮ Pair x with K t − x . function E KF ( x ) // generalized domain for t ← 1 to r do x ← max( x, K t − x ) � b ← F t ( � x ) if b = 1 then x ← K t − x return x Cipher E encrypts x ∈ G using a key KF naming K 1 , . . . , K r ∈ G and round functions F 1 , . . . , F r : G → { 0 , 1 } .

Recommend


More recommend