(1) Hash Functions (2) MAC MDC OWHF CRHF UOWHF

(1) Hash Functions (2) MAC MDC OWHF CRHF UOWHF

Hash functions (1) are secure; they can be reduced to @ @ 2 classes based on linear transfor- @ @ mations of variables. The properties @ of these 12 schemes with respect to @ @ Hash Functions: Past, Present and Future weaknesses of the underlying block @ @ cipher are studied. The same ap- proach can be extended to study keyed hash functions (MACs) based - -63102392168 on block ciphers and hash functions h Bart Preneel based on modular arithmetic. Fi- nally a new attack is presented on a scheme suggested by R. Merkle. Katholieke Universiteit Leuven This slide is now shown at the Asi- acrypt 2005 in the beautiful city of bartDOTpreneel(AT)esatDOTkuleuvenDOTbe Chennai during a presentation on the state of hash functions. http://homes.esat.kuleuven.be/ preneel ∼ 5 December 2005 3 Outline Hash functions (2) Definitions • cryptographic hash function Z Z Applications Z Z • Z Z General Attacks = ZZ~ • MAC MDC Constructions @ @ • @ @ Custom Designed Hash Functions @ • © @R Hash Functions Based on Block Ciphers OWHF ? CRHF • Hash Functions Based on Algebraic Operations UOWHF • Pseudo-randomness • This talk: only MDCs (Manipulation Detection Codes), which are Conclusions often called `hash functions' • 2 4 Informal definitions (1) Informal definitions (3) preimage resistant 2nd preimage resistant 6) take a preimage resistant hash function; add an input bit b and • replace one input bit by the sum modulo 2 of this input bit and b 2nd preimage resistant preimage resistant 6) if h is OWHF, h is 2nd preimage resistant but not preimage • resistant 0 X if X n h(X) = 1kh(X) otherwise.j j ≤ ( k collision resistant 2nd preimage resistant ) [Simon 98] one cannot derive collision resistance from `general' preimage resistance 5 7 Informal definitions (2) Formal definitions: (2nd) preimage resistance no secret parameters • Notation: Σ = 0; 1 , l(n) > n f g ( ) x arbitrary length fixed length n A one-way hash function H is a function with domain D = Σl n • ) and range R = Σn that satisfies the following conditions: computation \easy" • preimage resistance: let x be selected uniformly in D and let M • be an adversary that on input h(x) uses time t and outputs One Way Hash Function (OWHF): ≤ M(h(x)) D. For each adversary M, 2 preimage resistant: ! h(x) x0 with h(x) = h(x0) • 6) Pr h(M(h(x))) = h(x) < : 2nd preimage resistant: x D f g • 2 ! x; h(x) x (= x) with h(x ) = h(x) Here the probability is also taken over the random choices of M. 6) 0 6 0 2nd preimage resistance: let x be selected uniformly in Σl(n) and • let M be an adversary that on input x uses time t and outputs Collision Resistant Hash Function (CRHF) = OWHF + 0 ≤ x0 D with x0 = x. For each adversary M 0, collision resistant: 2 6 • Pr M 0(x) = h(x) < : x, x0(x0 = x) with h(x) = h(x0). x D 6) 6 2 n o Here the probability is taken over the random choices of M 0. 6 8 Formal definitions: collision resistance Relation between definitions: Rogaway-Shrimpton A collision-resistant hash function is a function family with do- H main D = Σl(n) and range R = Σn that satisfies the following conditions: (the functions h are preimage resistant and second preimage • S resistant) collision resistance: let F be a collision string finder that on • input S Σs uses time t and outputs either \?" or a pair 2 ≤ x; x Σl(n) with x = x such that h (x ) = h (x). For each F , 0 2 0 6 S 0 S Pr F ( ) = \?" < : S f H 6 g Here the probability is also taken over the random choices of F . 9 11 Further generalization: Applications Rogaway-Shrimpton, FSE 2004 digital signatures: OWHF/CRHF, `destroy algebraic structure' Consider a family of hash functions. • information authentication: protect authenticity of hash result For (2nd) preimage resistance, one can choose the challenge (x) • and/or the key that selects the function. (redundancy: hash result appended to data before encryption) • This gives three flavours: protection of passwords: preimage resistant • random challenge, random key (Pre and Sec) confirmation of knowledge/commitment: OWHF/CRHF • • random key, fixed challenge (ePre and eSec { everywhere) pseudo-random string generation/key derivation • • micropayments (e.g., micromint) fixed key, random challenge (aPre and aSec { always) • • construction of MACs, stream ciphers, block ciphers • Complex relationship (see figure on next slide). collision resistance is not always necessary but other properties may be needed: pseudo-randomness if keyed, near-collision resistance, partial preimage resistance,. ; how to formalize? 10 12 Related definitions: UOWH Generic Attacks (2): time-memory trade-off UOWH or Universal One-Way Hash Function the average effort to find a (second) preimage for one out of 2t n t n=2 (TCR: target collision resistant hash functions or eSec) targets equals 2 − (and for t = n=2 this is 2 ); but if t is large, storage and search costs will be dominant generate message x (+ some state) • choose a random key K if one has to find (second) preimages for many targets, one can use • a time-memory trade-off [Hellman80]: target collision finder algorithm: • given x, K, h() (+state), find x0 = x such that hK(x0) = hK(x) O(2n) precomputation, O(22n=3) storage 6 • inversion of one message in time O(22n=3) • corresponds to eSec [Wiener02] If Θ(23n=5) targets are attacked, the full cost per (2nd) only suitable if signer is trusted not to cheat! preimage decreases from Θ(2n) to Θ(22n=5). Full cost: product of number of components with the duration of their use (motivation: hardware = ALUs, memory chips, wires, switching elements) 13 15 Generic Attacks (1) Generic Attacks (3): the birthday attack Efficient implementations of the birthday attack depend only on size of hash result; not on details of the algorithm very little memory: cycle finding algorithms • (#trials) (#targets) guess (2nd) preimage: Pr. success = · full parallelism 2n • ; n 80 : : : 128 Distinguished point: l = c = (π=8) 2n=2 ≥ · avoid simultaneous attack on all targets: Θ(e2n=2 + e2d+1) steps n=2 d parameterize (`tweak'/`salt'/'spice') hash function Θ(n2 − ) memory with e the cost of evaluating the function f collision: birthday attack (or square root attack) [Yuval'79] Full cost [Wiener02]: Θ en2n=2 r variations on genuine message • In practice [van Oorschot-Wiener] r variations on fraudulent message • probability of a match: 63% for r = p2n = 2n=2 n = 128: 100 K$ for 1 month • • n = 160: 500 M$ for 1 year ; n 160 : : : 256 • ≥ 14 16 Generic Attacks (4) Construction (2): relation between security f-h iterating a compression function can make it less secure: hash result attacker invest- tool 2nd preimage collision trivial 2nd preimage/collision: • ment 2006 2015 2006 2015 replace IV by H1 and delete the first message block x1 Pedestrian Hacker $400 FPGA 74 80 115 127 2nd preimage attack for a message with t blocks: Small Business $10,000 FPGA 79 85 125 137 • Corporate Department $300K ASIC 90 96 147 159 increases success probability with a factor of t Big Company $10M ASIC 95 101 158 169 fixed points: f(Hi 1; xi) = Hi 1 can lead to trivial 2nd preimages Intelligence Agency $300M ASIC 100 106 162 174 • − − or collisions Size of hash result to withstand a brute force 2nd preimage and collision attack during 1 year. For the 2nd preimage attack, it is assumed that 65,536 messages one possible solution: Merkle-Damg˚ard strengthening are attacked in parallel. Inspired by Blaze et al., 1996. fix IV and append input length in padding FPGA = Field Programmable Gate Array; • ASIC = Application Specific Integrated Circuit cf. [Merkle, Crypto 89] and [Damg˚ard, Crypto 89] 17 19 Construction (1): iterated hash function Construction (3): relation between security f-h H0 = IV x1 H1 x2 H2 x3 [Damg˚ard-Merkle 89] ? ? ? ? ? ? Let f be a collision resistant function mapping l to n bits (with @ @ @ @ @ @ l > n). @@ f @@ f @@ f H3 If the padding contains the length of the input string, and if f is ? • preimage resistant, the iterated hash function h based on f will g be a CRHF. f compression function/compress If an unambiguous padding rule is used, the following construc- g output transformation • ? tion will yield a CRHF (l n > 1): H − H1 = f(H0 0 x1) and Hi = f(Hi 1 1 xi) i = 2; 3; : : : t. k k − k k unambiguous padding of input to multiple of block length divide input into blocks x1, x2;, . , xt 18 20 Construction (4): relation between security f-h Defeating Merkle-Damg˚ard for (2nd) preimages [Lai-Massey 92] [Dean-Felten-Hu'99] and [Kelsey-Schneier, Eurocrypt05] Assume that the padding contains the length of the input string, and t that the message X (without padding) contains at least two blocks. Known since Merkle: if one hashes 2 messages, the average effort n t Then finding a second preimage for h with a fixed IV requires 2n to find a second preimage for one of them is 2 − . operations iff finding a second preimage for f with arbitrarily chosen t n New: if one hashes 2 message blocks with an iterated hash func- Hi 1 requires 2 operations. − tion, the effort to find a second preimage is only n=2+1 n t+1 BUT: t2 + 2 − this theorem is not quite right (see below) • very few hash functions have a strong compression function Idea: use fixed points to match the correct length • Finding fixed points can be easy (e.g., Davies-Meyer). very few hash functions are designed based on a strong com- • But still very long messages pression function in the sense that they treat xi and Hi 1 in the − same way.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us