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

Total Page:16

File Type:pdf, Size:1020Kb

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.
Recommended publications
  • (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
    [Show full text]
  • Security of VSH in the Real World
    Security of VSH in the Real World Markku-Juhani O. Saarinen Information Security Group Royal Holloway, University of London Egham, Surrey TW20 0EX, UK. [email protected] Abstract. In Eurocrypt 2006, Contini, Lenstra, and Steinfeld proposed a new hash function primitive, VSH, very smooth hash. In this brief paper we offer com- mentary on the resistance of VSH against some standard cryptanalytic attacks, in- cluding preimage attacks and collision search for a truncated VSH. Although the authors of VSH claim only collision resistance, we show why one must be very careful when using VSH in cryptographic engineering, where additional security properties are often required. 1 Introduction Many existing cryptographic hash functions were originally designed to be message di- gests for use in digital signature schemes. However, they are also often used as building blocks for other cryptographic primitives, such as pseudorandom number generators (PRNGs), message authentication codes, password security schemes, and for deriving keying material in cryptographic protocols such as SSL, TLS, and IPSec. These applications may use truncated versions of the hashes with an implicit as- sumption that the security of such a variant against attacks is directly proportional to the amount of entropy (bits) used from the hash result. An example of this is the HMAC−n construction in IPSec [1]. Some signature schemes also use truncated hashes. Hence we are driven to the following slightly nonstandard definition of security goals for a hash function usable in practice: 1. Preimage resistance. For essentially all pre-specified outputs X, it is difficult to find a message Y such that H(Y ) = X.
    [Show full text]
  • The First Cryptographic Hash Workshop
    Workshop Report The First Cryptographic Hash Workshop Gaithersburg, MD Oct. 31-Nov. 1, 2005 Report prepared by Shu-jen Chang and Morris Dworkin Information Technology Laboratory, National Institute of Standards and Technology, Gaithersburg, MD 20899 Available online: http://csrc.nist.gov/groups/ST/hash/documents/HashWshop_2005_Report.pdf 1. Introduction On Oct. 31-Nov. 1, 2005, 180 members of the global cryptographic community gathered in Gaithersburg, MD to attend the first Cryptographic Hash Workshop. The workshop was organized in response to a recent attack on the NIST-approved Secure Hash Algorithm SHA-1. The purpose of the workshop was to discuss this attack, assess the status of other NIST-approved hash algorithms, and discuss possible near-and long-term options. 2. Workshop Program The workshop program consisted of two days of presentations of papers that were submitted to the workshop and panel discussion sessions that NIST organized. The main topics for the discussions included the SHA-1 and SHA-2 hash functions, future research of hash functions, and NIST’s strategy. The program is available at http://csrc.nist.gov/groups/ST/hash/first_workshop.html. This report only briefly summarizes the presentations, because the above web site for the program includes links to the speakers' slides and papers. The main ideas of the discussion sessions, however, are described in considerable detail; in fact, the panelists and attendees are often paraphrased very closely, to minimize misinterpretation. Their statements are not necessarily presented in the order that they occurred, in order to organize them according to NIST's questions for each session. 3.
    [Show full text]
  • Implementaç˜Ao Em Software De Algoritmos De Resumo Criptográfico
    Instituto de Computa¸c~ao Universidade Estadual de Campinas Implementa¸c~aoem software de algoritmos de resumo criptogr´afico Thomaz Eduardo de Figueiredo Oliveira i FICHA CATALOGRÁFICA ELABORADA PELA BIBLIOTECA DO IMECC DA UNICAMP Bibliotecária: Maria Fabiana Bezerra Müller – CRB8 / 6162 Oliveira, Thomaz Eduardo de Figueiredo OL4i Implementação em software de algoritmos de resumo criptográfico/Thomaz Eduardo de Figueiredo Oliveira-- Campinas, [S.P. : s.n.], 2011. Orientador : Julio César López Hernández. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação. 1.Criptografia. 2.Hashing (Computação). 3.Arquitetura de computadores. I. López Hernández, Julio César. II. Universidade Estadual de Campinas. Instituto de Computação. III. Título. Título em inglês: Software implementation of cryptographic hash algorithms Palavras-chave em inglês (Keywords): Cryptography Hashing (Computer science) Computer architecture Área de concentração: Teoria da Computação Titulação: Mestre em Ciência da Computação Banca examinadora: Prof. Dr. Julio César López Hernández (IC – UNICAMP) Prof. Dr. Ricardo Dahab (IC – UNICAMP) Dr. José Antônio Carrijo Barbosa (CEPESC-ABIN) Data da defesa: 16/06/2011 Programa de Pós-Graduação: Mestrado em Ciência da Computação ii Instituto de Computa¸c~ao Universidade Estadual de Campinas Implementa¸c~aoem software de algoritmos de resumo criptogr´afico Thomaz Eduardo de Figueiredo Oliveira1 16 de junho de 2011 Banca Examinadora: • Prof. Dr. Julio C´esarL´opez Hern´andez IC/Universidade Estadual de Campinas (Orientador) • Prof. Dr. Ricardo Dahab IC/Universidade Estadual de Campinas • Dr. Jos´eAnt^onioCarrijo Barbosa CEPESC/Ag^enciaBrasileira de Intelig^encia • Prof. Dr. Paulo L´ıciode Geus (Suplente) IC/Universidade Estadual de Campinas • Prof. Dr. Routo Terada (Suplente) IME/Universidade de S~aoPaulo 1Suporte financeiro de: CNPq (processo 133033/2009-0) 2009{2011.
    [Show full text]
  • Design and Analysis of Hash Functions What Is a Hash Function?
    Design and analysis of hash functions Coding and Crypto Course October 20, 2011 Benne de Weger, TU/e what is a hash function? • h : {0,1}* {0,1}n (general: h : S {{,}0,1}n for some set S) • input: bit string m of arbitrary length – length may be 0 – in practice a very large bound on the length is imposed, such as 264 (≈ 2.1 million TB) – input often called the message • output: bit string h(m) of fixed length n – e.g. n = 128, 160, 224, 256, 384, 512 – compression – output often called hash value, message digest, fingerprint • h(m) is easy to compute from m • no secret information, no key October 20, 2011 1 1 non-cryptographic hash functions • hash table – index on database keys – use: efficient storage and lookup of data • checksum – Example: CRC – Cyclic Redundancy Check • CRC32 uses polynomial division with remainder • initialize: – p = 1 0000 0100 1100 0001 0001 1101 1011 0111 – append 32 zeroes to m • repeat until length (counting from first 1-bit) ≤ 32: – left-align p to leftmost nonzero bit of m – XOR p into m – use: error detection • but only of unintended errors! • non-cryptographic – extremely fast – not secure at all October 20, 2011 2 hash collision • m1, m2 are a collision for h if h(m1) = h(m2) while m1 ≠ m2 I owe you € 100 I owe you € 5000 different documents • there exist a lot of identical hash collisions = – pigeonhole principle collision (a.k.a. Schubladensatz) October 20, 2011 3 2 preimage • given h0, then m is a preimage of h0 if h(m) = h0 X October 20, 2011 4 second preimage • given m0, then m is a second preimage of m0 if h(m) = h(m0 ) while m ≠ m0 ? X October 20, 2011 5 3 cryptographic hash function requirements • collision resistance: it should be computationally infeasible to find a collision m1, m2 for h – i.e.
    [Show full text]
  • Cryptographic Hash Functions in Groups and Provable Properties
    Cryptographic Hash Functions in Groups and Provable Properties THÈSE NO 5250 (2011) PRÉSENTÉE LE 16 DÉCEMBRE 2011 À LA FACULTÉ INFORMATIQUE ET COMMUNICATIONS LABORATOIRE DE CRYPTOLOGIE ALGORITHMIQUE PROGRAMME DOCTORAL EN INFORMATIQUE, COMMUNICATIONS ET INFORMATION ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE POUR L'OBTENTION DU GRADE DE DOCTEUR ÈS SCIENCES PAR Juraj Šarinay acceptée sur proposition du jury: Prof. J.-P. Hubaux, président du jury Prof. A. Lenstra, directeur de thèse Prof. A. May, rapporteur Dr M. Stam, rapporteur Prof. S. Vaudenay, rapporteur Suisse 2011 Svetlane R´esum´e Nous consid´eronsplusieurs fonctions de hachage \prouvablement s^ures"cal- culant de simples sommes dans un groupe bien choisi (G; ∗). Les propri´et´es de s´ecurit´ede telles fonctions se traduisent prouvablement et de mani`ere naturelle en des probl`emescalculatoires sur G, qui sont simples `ad´efinir et ´egalement potentiellement difficiles `ar´esoudre. Etant´ donn´es k listes dis- jointes Li d'´el´ements du groupe, le probl`emede la k-somme consiste `atrou- ver un gi 2 Li tel que g1 ∗ g2 ∗ ::: ∗ gk = 1G. La difficult´ede ce probl`eme dans divers groupes respectifs d´ecoulede certaines suppositions \standard" en cryptologie `aclef publique, telles que la difficult´ede la factorisation des entiers, du logarithme discret, de la r´eductionde r´eseaux, ou du d´ecodage par syndrome. Nous exposons des indices montrant que le probl`emede la k-somme puisse ^etreencore plus difficile que ceux susmentionn´es. Deux fonctions de hachage bas´ees sur le probl`emede la k-somme, FSB et SWIFFTX, ont ´et´esoumises au NIST comme candidates pour le futur stan- dard SHA-3.
    [Show full text]
  • Hash Functions Part II
    Cryptographic Hash Functions Part II Cryptography 1 Andreas Hülsing, TU/e Some slides by Sebastiaan de Hoogh, TU/e Hash function design • Create fixed input size building block • Use building block to build compression function • Use „mode“ for length extension Engineering Generic transforms Permutation / Compression Hash function Block cipher function Cryptanalysis / Reductionist proofs best practices 1 (LENGTH-EXTENSION) MODES 2 Merkle-Damgård construction Given: • compression function: CF : {0,1}n x {0,1}r {0,1}n Goal: • Hash function: H : {0,1}* {0,1}n 3 Merkle-Damgård - iterated compression 4 Merkle-Damgård construction • assume that message m can be split up into blocks m1, …, ms of equal block length r – most popular block length is r = 512 • compression function: CF : {0,1}n x {0,1}r {0,1}n • intermediate hash values (length n) as CF input and output • message blocks as second input of CF • start with fixed initial IHV0 (a.k.a. IV = initialization vector) • iterate CF : IHV1 = CF(IHV0,m1), IHV2 = CF(IHV1,m2), …, IHVs = CF(IHVs-1,ms), • take h(m) = IHVs as hash value • advantages: – this design makes streaming possible – hash function analysis becomes compression function analysis – analysis easier because domain of CF is finite 5 padding • padding: add dummy bits to satisfy block length requirement • non-ambiguous padding: add one 1-bit and as many 0-bits as necessary to fill the final block – when original message length is a multiple of the block length, apply padding anyway, adding an extra dummy block – any other non-ambiguous
    [Show full text]
  • VSH, an Efficient and Provable Collision Resistant Hash Function
    VSH, an efficient and provable collision resistant hash function Scott Contini1, Arjen K. Lenstra2, Ron Steinfeld1 1 Macquarie University 2 Lucent Technologies Bell Laboratories, Technical Univ. Eindhoven Outline • Factoring background • Our new hardness assumption: NMSRVS • Very Smooth Hash: VSH • Security argument • Variants • Efficiency in practice • Conclusion Factoring background • To factor n: collect ‘relations’ 2 e(i,v) v ≡∏0≤i≤u pi mod n (pi’s could be primes; most non-zero e(i,v)’s are odd) • In practice: more than u relations ⇒ factorization • Best method so far (NFS): factoring takes time L[n, 1.923…] = exp((1.923…+o(1))(logn)1/3(loglogn)2/3) asymptotically, for n →∞ Finding a single relation • For NFS: optimal u = L[n, 0.96…], finding a single relation takes time L[n, 0.96…], asymptotically, for n →∞ • For suboptimal u = O((logn)constant), finding a relation takes time > L[n, 1.923…], asymptotically for n →∞, unless factoring can be done faster: ⇒ asymptotically the same as the full factoring time Non-asymptotic estimate • For suboptimal u = O((logn)constant), finding a relation takes time > L[n, 1.923…], asymptotically for n →∞, unless factoring can be done faster: ⇒ asymptotically the same as the full factoring time • Non-asymptotic estimate for suboptimal u: finding a single relation at least as hard as factoring n’, where L[n’, 1.923 without o(1)] = L[n, 1.923 without o(1)]/u, unless faster factoring… (note: n’ smaller than n) Hardness assumption: NMSRVS (Nontrivial modular square root of very smooth number) Hard to factor
    [Show full text]
  • Hash Function Security : Cryptanalysis of the Very Smooth Hash
    C433etukansi.kesken.fm Page 1 Tuesday, October 16, 2012 3:19 PM C 433 OULU 2012 C 433 UNIVERSITY OF OULU P.O.B. 7500 FI-90014 UNIVERSITY OF OULU FINLAND ACTA UNIVERSITATISUNIVERSITATIS OULUENSISOULUENSIS ACTA UNIVERSITATIS OULUENSIS ACTAACTA SERIES EDITORS TECHNICATECHNICACC Kimmo Halunen ASCIENTIAE RERUM NATURALIUM Kimmo Halunen Senior Assistant Jorma Arhippainen HASH FUNCTION SECURITY BHUMANIORA University Lecturer Santeri Palviainen CRYPTANALYSIS OF THE VERY SMOOTH HASH AND MULTICOLLISIONS IN GENERALISED CTECHNICA ITERATED HASH FUNCTIONS Professor Hannu Heusala DMEDICA Professor Olli Vuolteenaho ESCIENTIAE RERUM SOCIALIUM University Lecturer Hannu Heikkinen FSCRIPTA ACADEMICA Director Sinikka Eskelinen GOECONOMICA Professor Jari Juga EDITOR IN CHIEF Professor Olli Vuolteenaho PUBLICATIONS EDITOR Publications Editor Kirsti Nurkkala UNIVERSITY OF OULU GRADUATE SCHOOL; UNIVERSITY OF OULU, FACULTY OF TECHNOLOGY, DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING; ISBN 978-951-42-9965-0 (Paperback) INFOTECH OULU ISBN 978-951-42-9966-7 (PDF) ISSN 0355-3213 (Print) ISSN 1796-2226 (Online) ACTA UNIVERSITATIS OULUENSIS C Technica 433 KIMMO HALUNEN HASH FUNCTION SECURITY Cryptanalysis of the Very Smooth Hash and multicollisions in generalised iterated hash functions Academic dissertation to be presented with the assent of the Doctoral Training Committee of Technology and Natural Sciences of the University of Oulu for public defence in Auditorium TS101, Linnanmaa, on 16 November 2012, at 9 a.m. UNIVERSITY OF OULU, OULU 2012 Copyright © 2012 Acta Univ. Oul. C 433, 2012 Supervised by Professor Juha Röning Reviewed by Professor Bart Preneel Doctor Martijn Stam ISBN 978-951-42-9965-0 (Paperback) ISBN 978-951-42-9966-7 (PDF) ISSN 0355-3213 (Printed) ISSN 1796-2226 (Online) Cover Design Raimo Ahonen JUVENES PRINT TAMPERE 2012 Halunen, Kimmo, Hash function security.
    [Show full text]
  • Divisibility, Smoothness and Cryptographic Applications
    Divisibility, Smoothness and Cryptographic Applications David Naccache Equipe¶ de cryptographie Ecole¶ normale sup¶erieure 45 rue d'Ulm, F-75230 Paris, Cedex 05, France [email protected] Igor E. Shparlinski Department of Computing Macquarie University Sydney, NSW 2109, Australia [email protected] October 17, 2008 Abstract This paper deals with products of moderate-size primes, familiarly known as smooth numbers. Smooth numbers play an crucial role in information theory, signal processing and cryptography. We present various properties of smooth numbers relating to their enumeration, distribution and occurrence in various integer sequences. We then turn our attention to cryptographic applications in which smooth numbers play a pivotal role. 1 1 Introduction The goal of this paper is to shed light on the prominent role played by di- visibility and smoothness in cryptography and related areas of mathematics. This work intends to survey a wide range of results while steering away from too well-known examples. For doing so, we concentrate on some recently discovered applications of results about the arithmetic structure of integers. We intend to convey to the reader a general comprehension of the state of the art, allow the devising of correct heuristics when problems cannot be tackled theoretically and help assessing the plausibility of new results. In Section 3 we overview on a number of number-theoretic results com- monly used for studying the multiplicative structure of integers. Most of the elementary results which we use are readily available from [83]; more ad- vanced results can be found, often in much more precise forms, in [44, 80, 85, 92, 144] and in many other standard analytic number theory manuals.
    [Show full text]
  • Design and Analysis of Hash Functions
    Cryptographic Hash Functions Part II Cryptography 1 Andreas Hülsing, TU/e Most slides by Sebastiaan de Hoogh, TU/e hash function design - iterated compression 1 Merkle-Damgård construction • assume that message m can be split up into blocks m1, …, ms of equal block length r – most popular block length is r = 512 • compression function: CF : {0,1}n x {0,1}r {0,1}n • intermediate hash values (length n) as CF input and output • message blocks as second input of CF • start with fixed initial IHV0 (a.k.a. IV = initialization vector) • iterate CF : IHV1 = CF(IHV0,m1), IHV2 = CF(IHV1,m2), …, IHVs = CF(IHVs-1,ms), • take h(m) = IHVs as hash value • advantages: – this design makes streaming possible – hash function analysis becomes compression function analysis – analysis easier because domain of CF is finite 2 padding • padding: add dummy bits to satisfy block length requirement • non-ambiguous padding: add one 1-bit and as many 0-bits as necessary to fill the final block – when original message length is a multiple of the block length, apply padding anyway, adding an extra dummy block – any other non-ambiguous padding will work as well 3 Merkle-Damgård strengthening • let padding leave final 64 bits open • encode in those 64 bits the original message length – that’s why messages of length ≥ 264 are not supported • reasons: – needed in the proof of the Merkle-Damgård theorem – prevents some attacks such as • trivial collisions for random IV – now h(IHV0,m1||m2) = h(IHV1,m2) • see next slide for more 4 continued • fixpoint attack fixpoint: IHV, m such that CF(IHV,m) = IHV • long message attack 5 compression function collisions • collision for a compression function: m1, m2, IHV such that CF(IHV,m1) = CF(IHV,m2) • pseudo-collision for a compression function: m1, m2, IHV1, IHV2 such that CF(IHV1,m1) = CF(IHV2,m2) • Theorem (Merkle-Damgård): If the compression function CF is pseudo-collision resistant, then a hash function h derived by Merkle-Damgård iterated compression is collision resistant.
    [Show full text]
  • Design and Analysis of Hash Functions
    Cryptographic Hash Functions Part II Cryptography 1 Andreas Hülsing, TU/e Most slides by Sebastiaan de Hoogh, TU/e hash function design - iterated compression 1 Merkle-Damgård construction • assume that message m can be split up into blocks m1, …, ms of equal block length r – most popular block length is r = 512 • compression function: CF : {0,1}n x {0,1}r {0,1}n • intermediate hash values (length n) as CF input and output • message blocks as second input of CF • start with fixed initial IHV0 (a.k.a. IV = initialization vector) • iterate CF : IHV1 = CF(IHV0,m1), IHV2 = CF(IHV1,m2), …, IHVs = CF(IHVs-1,ms), • take h(m) = IHVs as hash value • advantages: – this design makes streaming possible – hash function analysis becomes compression function analysis – analysis easier because domain of CF is finite 2 padding • padding: add dummy bits to satisfy block length requirement • non-ambiguous padding: add one 1-bit and as many 0-bits as necessary to fill the final block – when original message length is a multiple of the block length, apply padding anyway, adding an extra dummy block – any other non-ambiguous padding will work as well 3 Merkle-Damgård strengthening • let padding leave final 64 bits open • encode in those 64 bits the original message length – that’s why messages of length ≥ 264 are not supported • reasons: – needed in the proof of the Merkle-Damgård theorem – prevents some attacks such as • trivial collisions for random IV – now h(IHV0,m1||m2) = h(IHV1,m2) • see next slide for more 4 continued • fixpoint attack fixpoint: IHV, m such that CF(IHV,m) = IHV • long message attack 5 compression function collisions • collision for a compression function: m1, m2, IHV such that CF(IHV,m1) = CF(IHV,m2) • pseudo-collision for a compression function: m1, m2, IHV1, IHV2 such that CF(IHV1,m1) = CF(IHV2,m2) • Theorem (Merkle-Damgård): If the compression function CF is pseudo-collision resistant, then a hash function h derived by Merkle-Damgård iterated compression is collision resistant.
    [Show full text]