Hash Functions with Proofs of Security for H : {0, 1}∗ →{0, 1}N and H : {0, 1}M →{0, 1}N, M > N

Hash Functions with Proofs of Security for H : {0, 1}∗ →{0, 1}N and H : {0, 1}M →{0, 1}N, M > N

Introduction Based on number-theoretic problems VSH Dakota Introduction Based on number-theoretic problems VSH Dakota Generic attacks Hash Functions With Proofs of Security For H : {0, 1}∗ →{0, 1}n and h : {0, 1}m →{0, 1}n, m > n attack rough complexity Lars R. Knudsen √ collisions 2n =2n/2 2nd preimages 2n preimage 2n April 21, 2008 Goal: generic attacks are best (known) attacks 1/30 3/30 Introduction Based on number-theoretic problems VSH Dakota Introduction Based on number-theoretic problems VSH Dakota Number-theoretic, difficult problems 1 Introduction Factoring: given N = pq, find p and q, where p, q big, (odd) prime numbers, p = q 2 Based on number-theoretic problems Recommended that N ≥ 21024 forhighlevelofsecurity 3 VSH A 1024-bit N: 1350664108659952233496032162788059699388814756056670 4 Dakota 2752448514385152651060485953383394028715057190944179 8207282164471551373680419703964191743046496589274256 2393410208643832021103729587257623585096431105640735 0150818751067659462920556368552947521350085287941637 7328533906109750544334999811150056977236890927563 2/30 4/30 Introduction Based on number-theoretic problems VSH Dakota Introduction Based on number-theoretic problems VSH Dakota Number-theoretic, difficult problems (2) Hash based on discrete log (Pfitzmann, Van Heijst) Discrete logarithm: p−1 Public primes: p, q = 2 ,s.t.DLP(p)ishard given β = αa mod p, find a, Public primitive elements of Zp: α, β (randomly chosen) ∗ where p prime, a chosen random from Zp−1, α ∈ Zp ∗ h : Zq × Zq → Z primitive p Recommended that p > 21024 forhighlevelofsecurity h(x, y)=αx βy mod p But not all instances of these problems are hard, e.g., if p q, then factoring N = pq is easy if p − 1 has only small prime factores then finding discrete logs Find a collision for h ⇒ compute logα(β) modulo p is easy 5/30 7/30 Introduction Based on number-theoretic problems VSH Dakota Introduction Based on number-theoretic problems VSH Dakota Hash based on factoring (Shamir) Number-theoretic hash functions N = pq, p = q,largeoddprimes,α fixed, large order mod N. Public: N,α most schemes slow, e.g., no real speed-up for use in digital ∗ ∗ H : {0, 1} → ZN signature schemes some schemes have unfortunate algebraic properties H(x)=αx mod N (may interact badly with other public-key algorithms) open problem to devise efficient “provably” secure hash function Collision: H(x)=H(x) ⇒ x − x = kφ(N). With N = pq and φ(N)=(p − 1)(q − 1) easy to find p and q 6/30 8/30 Introduction Based on number-theoretic problems VSH Dakota Introduction Based on number-theoretic problems VSH Dakota Newer constructions Example. Dixon’s algorithm with n =4189 √ 4189 64.7 VSH-VerySmoothHash Use the factor base B = {−1, 2, 3, 5, 7, 11, 13} Contini, Lenstra, Steinfeld, 2005 2 2 xj mod n factorisation of xj aj collision ⇒ nontrivial modular square roots of very smooth 2 2 numbers modulo N (composite) 58 mod n −1 · 3 · 5 · 11 (1, 0, 1, 0, 0, 1, 0) 612 mod n −1 · 22 · 32 · 13 (1, 0, 0, 0, 0, 0, 1) efficient collision finder implies fast factoring algorithm 672 mod n 22 · 3 · 52 (0, 0, 1, 0, 0, 0, 0) LASH - A Lattice Based Hash Function 692 mod n 22 · 11 · 13 (0, 0, 0, 0, 0, 1, 1) Bentahar, Page, Saarinen, Silverman, Smart 2006 742 mod n 32 · 11 · 13 (0, 0, 0, 0, 0, 1, 1) based on the problem of finding small vectors in lattices gcd(58 · 61 · 67 · 69 + ((23) · (32) · (52) · 11 · 13), n)=n; gcd(58 · 61 · 67 · 74 + ((22) · (33) · (52) · 11 · 13), n) = 59; 9/30 11 / 30 Introduction Based on number-theoretic problems VSH Dakota Introduction Based on number-theoretic problems VSH Dakota Factoring - Equal squares Quadratic and number field sieves ∗ Let n = pq, p = q, odd primes. Let x ∈ Zn 4squarerootsofx2 mod n are x, −x, y, −y mod n where Quadratic sieve, advanced variant of Dixon’s algorithm x = ±y mod n Number field sieve(NFS), advanced variant of quadratic sieve mod n mod p mod q NFS currently best known algorithm for factoring large RSA xzw moduli − − − x z w (0.96+O(1))(ln n)1/3(ln ln n)2/3 yz−w Size of factor base: e − − 1/3 2/3 y zw Running time: e(1.923+O(1))(ln n) (ln ln n) 1/3 2/3 Notation: L[n,α]=e(α+O(1))(ln n) (ln ln n) gcd(x + y, n)=q, gcd(x − y, n)=p, 2 2 1 Find (random) a, b s.t. a = b mod n,factorn with prob. 2 10 / 30 12 / 30 Introduction Based on number-theoretic problems VSH Dakota Introduction Based on number-theoretic problems VSH Dakota VSH - iterated hash function VSH - security, speed Let N = pq be a public RSA modulus (p = q,bothsecret) Consider VSH with 1024-bit n, which allows for k = 131 k Let p1,...,pk be public primes such that pi < N i=1 Then assumptions imply ⇒ Let m = m1, m2,...,mk be message, mi ∈{0, 1} a collision for VSH a solution to VSSR x0 =1 a solution to VSSR as hard as factoring an 840-bit modulus 2 m1 m2 ··· mk x1 = x0 (p1 p2 pk )modN Implementation: 2 k mjk+i - 3 modular mult’s per k bits xj+1 = xj i=1 pi mod N - speed-up from precomputation Hash(m) = x 13 / 30 15 / 30 Introduction Based on number-theoretic problems VSH Dakota Introduction Based on number-theoretic problems VSH Dakota Security of VSH VSH - problems (?) VSSR Problem. Let n = pq be a public RSA modulus (p, q c ∗ secret). Let k ≤ (log n) .Findx ∈ Zn such k Algebraic properties, e.g., easy to find messages with hash 2 ei x ≡ pi mod n, values h and 2h i=0 Easy to invert hash for messages of small length where at least one ei is odd. VSH has multiplicative property (Saarinen 2006): VSSR Assumption: The VSSR Problem is hard. ∨ , Computational VSSR Assumption: H(z)H(a b)=H(a)H(b)modn Solving VSSR for n is as hard as to factor an S-bit modulus, where for z the all-zero bit string, a ∧ b = z,and|z| = |a| = |b|. S is least positive integer satisfying L[n, 1.923] Someone must choose n such that p, q remain secret L[2S , 1.923] ≥ . k ,α (α+O(1))(ln n)1/3(ln ln n)2/3 L[n ]=e 14 / 30 16 / 30 Introduction Based on number-theoretic problems VSH Dakota Introduction Based on number-theoretic problems VSH Dakota VSH - defense Based on factoring (Goldwasser, Micali, Rivest) Designers of VSH only aim for collision-resistance. N = pq, p = q, large primes, a0, a1 random squares modulo N VSH not to be used as replacement for random oracle nor Public: N, a0, a1 SHA-1 “random oracles do not exist in the real world, and therefore relying ∗ ∗ h : {0, 1}×ZN → ZN on them too much is not recommended” Potential use in schemes which require only 2 h(b, y)=ab y mod N collision-resistance, example, Cramer-Shoup signatures, which relies on strong RSA assumption and collision-resistant hash function Collision gives x, x such that x2 = x2 mod N → factoring One of the best attempts to build hash function on ,..., number-theoretic problem so far.. More efficient variants with more squares a0 ak ,Damg˚ard 17 / 30 19 / 30 Introduction Based on number-theoretic problems VSH Dakota Introduction Based on number-theoretic problems VSH Dakota DaKoTa Getting to Dakota n = pq, p = q, large primes, p ≡ q ≡ 3mod4 DaKoTa, a hash function co-designed by Damg˚ard, Ivan B. Public: n, f Knudsen, Lars R. h : {0, 1}×SQ(n) → SQ(n) Thomsen, Søren S. Uses combination of modular arithmetic and symmetric crypto f : {0, 1}→SQ(n) h(b, y)=f (b) y 2 mod n 18 / 30 20 / 30 Introduction Based on number-theoretic problems VSH Dakota Introduction Based on number-theoretic problems VSH Dakota Getting closer to Dakota Arriving at Dakota n = pq, p = q, large primes, p ≡ q ≡ 3mod4 n = pq, p = q, large primes, p ≡ q ≡ 3mod4 Public: n, f Public: n, f h : {0, 1}k × SQ(n) → SQ(n) h : {0, 1}k × SQ(n) → SQ(n) k k f : {0, 1} → SQ(n) f : {0, 1} → Zn h(x, y)=f (x) y 2 mod n h(x, y)=(f (x) y)2 mod n 21 / 30 23 / 30 Introduction Based on number-theoretic problems VSH Dakota Introduction Based on number-theoretic problems VSH Dakota Getting even closer to Dakota Dakota- an iterated hash function n = pq, p ≡ q ≡ 3mod4, public: n, f k k h : {0, 1} × SQ(n) → SQ(n) f : {0, 1} → Zn n = pq, p = q, large primes, p ≡ q ≡ 3mod4 h(x, y)=(f (x) y)2 mod n Public: n, f ∗ 2 Choose r ∈ Zn,lets = r mod n h : {0, 1}k × SQ(n) → SQ(n) Split padded message x into k-bit words, x1,...,xt k f : {0, 1} → Zn Set y0 = s, then compute 2 2 2 h(x, y)=f (x) y mod n yi = h(xi , yi−1)=(f (xi )y) mod n Hash of x is then yt . 22 / 30 24 / 30 Introduction Based on number-theoretic problems VSH Dakota Introduction Based on number-theoretic problems VSH Dakota Dakota- an iterated hash function Dakota-Proposal1forf h(x, y)=(f (x)y)2 mod n h(x, y)=(f (x)y)2 mod n k f : {0, 1} → Zn Assumption Consider probabilistic polynomial time algorithm with input f , n, Let n and n be 1025-bit resp.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 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