The Hash Function “Fugue” Shai Halevi William E. Hall Charanjit S. Jutla IBM T. J. Watson Research Center.

Slides:



Advertisements
Similar presentations
Lecture 5: Cryptographic Hashes
Advertisements

Lecture 7 Overview. Advanced Encryption Standard 10, 12, 14 rounds for 128, 192, 256 bit keys – Regular Rounds (9, 11, 13) – Final Round is different.
Hash Function. What are hash functions? Just a method of compressing strings – E.g., H : {0,1}*  {0,1} 160 – Input is called “message”, output is “digest”
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
About a new generation of block ciphers and hash functions - DN and HDN Vlastimil Klíma Independent consultant
1 CIS 5371 Cryptography 5b. Pseudorandom Objects in Practice Block Ciphers.
Foundations of Cryptography Lecture 5 Lecturer: Moni Naor.
Foundations of Cryptography Lecture 12 Lecturer: Moni Naor.
New Bounds for PMAC, TMAC, and XCBC Kazuhiko Minematsu and Toshiyasu Matsushima, NEC Corp. and Waseda University Fast Software Encryption 2007, March 26-28,
 Stream ciphers o Encrypt chars/bits one at a time o Assume XOR w the key, need long key to be secure  Keystream generators (pseudo-random key) o Synchronous.
PIITMadhumita Chatterjee Security 1 Hashes and Message Digests.
1 Chapter 5 Hashes and Message Digests Instructor: 孫宏民 Room: EECS 6402, Tel: , Fax :
1 The AES block cipher Niels Ferguson. 2 What is it? Block cipher: encrypts fixed-size blocks. Design by two Belgians. Chosen from 15 entries in a competition.
HSC: Building Stream Cipher from Secure Hash Functions Juncao Li Nov. 29 th 2007 Department of Computer Science Portland State University.
1 Message Integrity CS255 Winter ‘06. 2 Message Integrity Goal: provide message integrity. No confidentiality. –ex: Protecting public binaries on disk.
Hash functions a hash function produces a fingerprint of some file/message/data h = H(M)  condenses a variable-length message M  to a fixed-sized fingerprint.
1 Overview of the DES A block cipher: –encrypts blocks of 64 bits using a 64 bit key –outputs 64 bits of ciphertext A product cipher –basic unit is the.
1 CS 255 Lecture 4 Attacks on Block Ciphers Brent Waters.
1 Constructing Pseudo-Random Permutations with a Prescribed Structure Moni Naor Weizmann Institute Omer Reingold AT&T Research.
1 CS 255 Lecture 6 Hash Functions Brent Waters. 2 Recap-Notions of Security What attacker can do Random plaintext attack Chosen plaintext attack Chosen.
CSCE 790: Computer Network Security Chin-Tser Huang University of South Carolina.
Hash Functions Nathanael Paul Oct. 9, Hash Functions: Introduction Cryptographic hash functions –Input – any length –Output – fixed length –H(x)
MD4 1 MD4. MD4 2 MD4  Message Digest 4  Invented by Rivest, ca 1990  Weaknesses found by 1992 o Rivest proposed improved version (MD5), 1992  Dobbertin.
Cryptographic Hashing: Blockcipher-Based Constructions, Revisited Tom Shrimpton Portland State University.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography and Network Security Chapter 11 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
1 Cryptography and Network Security (Various Hash Algorithms) Fourth Edition by William Stallings Lecture slides by Lawrie Brown (Changed by Somesh Jha)
1 Message Authentication and Hash Functions Authentication Requirements Authentication Functions Message Authentication Codes Hash Functions Security of.
Cryptographic Hash Functions and their many applications Shai Halevi – IBM Research USENIX Security – August 2009 Thanks to Charanjit Jutla and Hugo Krawczyk.
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
Cryptography and Network Security Chapter 11 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Acknowledgements: William Stallings.William Stallings All rights Reserved Session 4 Public Key Cryptography (Part 2) Network Security Essentials Application.
Cryptanalysis of Modern Symmetric-Key Block Ciphers [Based on “A Tutorial on Linear and Differential Cryptanalysis” by Howard Heys.] Modern block ciphers.
Differential Cryptanalysis - quite similar to linear cryptanalysis - exploits the relationship between the difference of two inputs and the difference.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Lecture 4.1: Hash Functions, and Message Authentication Codes CS 436/636/736 Spring 2015 Nitesh Saxena.
1 Hashes and Message Digests. 2 Hash Also known as –Message digest –One-way function Function: input message -> output One-way: d=h(m), but not h’(d)
Fall 2002CS 395: Computer Security1 Chapter 11: Message Authentication and Hash Functions.
Cryptography Wei Wu. Internet Threat Model Client Network Not trusted!!
Hashing Algorithms: Basic Concepts and SHA-2 CSCI 5857: Encoding and Encryption.
CS555Spring 2012/Topic 111 Cryptography CS 555 Topic 11: Encryption Modes and CCA Security.
Hash and Mac Algorithms. Contents Hash Functions Secure Hash Algorithm HMAC.
Indifferentiability of Permutation-Based Compression Functions and Tree-Based Modes of Operation, with Applications to MD6 Yevgeniy Dodis Leonid Reyzin.
Chapter 11 Message Authentication and Hash Functions.
Class 3 Cryptography Refresher II CIS 755: Advanced Computer Security Spring 2014 Eugene Vasserman
Lecture 23 Symmetric Encryption
DATA & COMPUTER SECURITY (CSNB414) MODULE 3 MODERN SYMMETRIC ENCRYPTION.
CS519, © A.SelcukDifferential & Linear Cryptanalysis1 CS 519 Cryptography and Network Security Instructor: Ali Aydin Selcuk.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Hashes Lesson Introduction ●The birthday paradox and length of hash ●Secure hash function ●HMAC.
Lecture 5 Page 1 CS 236 Online More on Cryptography CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Message Authentication Codes CSCI 5857: Encoding and Encryption.
Chapter 12 – Hash Algorithms
Security of Message Digests
Cryptography and Network Security (Various Hash Algorithms)
Cryptographic Hash Functions Part I
ICS 454 Principles of Cryptography
Cryptography Lecture 18.
Cryptography Lecture 19.
The Curve Merger (Dvir & Widgerson, 2008)
Cryptography Lecture 17.
ICS 454 Principles of Cryptography
Cryptographic Hash Functions Part I
Lecture 4.1: Hash Functions, and Message Authentication Codes
Cryptography Lecture 13.
Cryptography Lecture 16.
Cryptography Lecture 17.
CRYPTOGRAPHY & NETWORK SECURITY
Presentation transcript:

The Hash Function “Fugue” Shai Halevi William E. Hall Charanjit S. Jutla IBM T. J. Watson Research Center

Broad Overview Maintains Large State (~1000 bits) –Large Initial State Tougher to invert –Large Final State Tougher to find collision Final Compression (to say, 256 bits) –Lots of Crunching Tougher to find “properties”, invert, or find collision Uses ‘super’ AES-like rounds Focus of the Talk : Collision Resistance

Initial State (30 words) Process New State M1 M_i Final Stage Hash Output (8 words) Iterate State Fugue-256

Initial State (30 words) Process New State ΔM1 ΔM_i Final Stage Δ = 0 Iterate State Fugue-256 State Δ = 0

Overview (contd.) Inspired by Grindahl [KRT07] –Small incremental input rounds –Long final stage. –Attacked by Peyrin [P07] -Internal Collisions Fugue has a Proof Driven Design –Proves that Peyrin-style attacks do not work Proves bound on differential attacks assuming limits (extremely generous) on message modification. –Proves bound on finding External Collisions. –Like AES, uses MDS codes but bigger MDS codes –Does not need MD mode theorem

Design Challenges Non-secret Key/ Un-keyed properties gives adversary “non-standard” approaches to enhance differential attacks –Message Modification –Neutral Bits, Neutral Differentials

Good News The main “non-secret key” properties are about collisions –Collision, TCR, 2 nd Pre-image, Universal Hash –The differential requires output difference to be zero, i.e.  out = 0. –Is it easy to prove something about such restricted differentials? Quandary: All good practical designs are based on permutations.

Initial State (30 words) Process New State ΔM1 ΔM_i Final Stage Δ = 0 Iterate State Δ  0 Fugue-256 Invoke Coding Theory

What’s in an elementary round? [Called SMIX in the paper] Works on 128 bits (just like AES) Arranged as 4 by 4 matrix (just like AES) Starts with S-box substitution (same as AES) Does linear mixing (more advanced than AES)

AES Round

Leads to MDS code over 16 bytes! Fugue elementary round “SMIX”

Leads to MDS code over 16 bytes! Fugue elementary round “SMIX”

Leads to MDS code over 16 bytes! At least 13 active S-Boxes  2^{-6*13} = 2^{-78} Fugue elementary round “SMIX”

FINAL STAGE Rapid Mixing (G1) Differential Killer (G2) output

External Collision Provable Bound Assumption: Differential Attacks –Attacker controls difference, state itself is random –Probabilities of different rounds are assumed independent. Consider 2 messages leading to two different states at middle of final stage –After the rapid mixing Allow the adversary to force a difference D of its choice at this point.

External Collision Provable Bound Theorem: For any state difference D  0, if the states at the start of G2 are chosen randomly then Pr[ Collision in 256 bit output | D ]  Recall, assumes independence assumption

Initial State (30 words) Process New State Final Stage Iterate State Fugue-256 Process M1 SMIX  M1 Repeat once more

Process State M, M’_i State  _i = 0 Process State M, M’_i-1 Process State M, M’_i-2 Process Random States, but  _{i-4} = D M, M’_i-3 Theorem Pr [  M, M’ :  _i =0 |  _{i-4} = D ]  INTERNAL COLLISION PROVABLE BOUND

Message Modification? Neutral Bits? How justified is random state? We do more advanced analysis, giving extremely generous “free message modification / all bits neutral ” allowance. –Still can prove 2^{-128} bound.

Performance (Fugue-256) 32 bit Intel Core 2 Duo (Linux) –ANSI C : 36 cycles/byte 64 bit Intel Xeon (CygWin) –ANSI C : 28 cycles/byte 8-bit: as good as AES…similar advantages –Decent state size : 120 bytes (1000 cycles/byte) Hardware: 90nm IBM Cu-8 technology –360 MB/sec (basic) to 1.8 GB/sec.

Conclusion Proof-driven Design leads to best of both worlds: - Security  - Performance 

THE END

Fugue is a Universal Hash Fn. Requirement: –For all messages M1,M2, Pr_k[ Fugue_k(M1) = Fugue_k(M2)] is low Key is 8 words (256 bits), placed in the right most 8 words of initial state. Assume (for now) same length. Wlog internal collision, otherwise messages irrelevant.

Internal coll. at end of Round 0 Number the rounds backwards 0, -1, -2,… For now, assume states at start of round –3 are random (but say, with some adversary determined difference D). Then, we have already proven 2^{-168}.

What about the random assump. Random but diff = D at start of round –3. –That is allowing adversary to get an XOR-diff D with probability 1 (on a random key)! –So seems not that bad an assumption. But, is entropy depletion a problem? –State starts with 8 word entropy. –Each round adversary inserts a word (pair).

Input State (30 words) Process Output State (O_S) M1 SMIX  D Repeat once more I_S M1 (D; O_S) =>  ! (M1;IS) (D1,O_S) ->(M1; IS) (D2,O_S) ->(M1; IS’) ? Nope!

Input State (30 words) Output State (O_S)  = 0 X SMIX  D I_S M1 (D1,O_S) ->(M1; IS) (D2,O_S) ->(M1; IS’) ? M1 X  SMIX 0 All 4 words  non-zero  X non-zero All 4 words  non-zero  M1 non-zero

Discarded Slides

Desired Properties Keyed Properties –Secret Key PRF (MAC) –Non-Secret Key (Salted) Universal Hash, Extractor, Key Derivation Collision Resistance, TCR, Pre-image (1 st / 2 nd ) Un-Keyed Versions Collision Resistance, Pre-image (1 st /2 nd )