Cryptographic Hash Functions

Slides:



Advertisements
Similar presentations
Lecture 5: Cryptographic Hashes
Advertisements

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”
Digital Signatures and Hash Functions. Digital Signatures.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
Cryptography and Network Security Chapter 11. Chapter 11 – Message Authentication and Hash Functions At cats' green on the Sunday he took the message.
Secure Hashing and DSS Sultan Almuhammadi ICS 454 Principles of Cryptography.
Cryptography and Network Security Chapter 11 Fourth Edition by William Stallings Lecture slides by Lawrie Brown/Mod. & S. Kondakci.
Cryptography1 CPSC 3730 Cryptography Chapter 11, 12 Message Authentication and Hash Functions.
1 Message Authentication and Hash Functions Authentication Requirements Authentication Functions Message Authentication Codes Hash Functions Security of.
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.
HASH Functions.
Message Authentication  message authentication is concerned with: protecting the integrity of a message protecting the integrity of a message validating.
Information Security Principles Assistant Professor Dr. Sana’a Wafa Al-Sayegh 1 st Semester ITGD 2202 University of Palestine.
1 Chapter 11: Message Authentication and Hash Functions Fourth Edition by William Stallings Lecture slides by Lawrie Brown (modified by Prof. M. Singhal,
Hash Functions A hash function H accepts a variable-length block of data M as input and produces a fixed-size hash value h = H(M) Principal object is.
EE515/IS523 Think Like an Adversary Lecture 4 Crypto in a Nutshell Yongdae Kim.
Message Authentication Code July Message Authentication Problem  Message Authentication is concerned with:  protecting the integrity of a message.
Lecture 4.1: Hash Functions, and Message Authentication Codes CS 436/636/736 Spring 2015 Nitesh Saxena.
Fall 2002CS 395: Computer Security1 Chapter 11: Message Authentication and Hash Functions.
CSCI 172/283 Fall 2010 Hash Functions, HMACs, and Digital Signatures.
11.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 11 Message Integrity and Message Authentication.
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Modern Cryptography.
Chapter 11 Message Authentication and Hash Functions.
Cryptography and Network Security Chapter 12 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
MESSAGE AUTHENTICATION and HASH FUNCTIONS - Chapter 11 MESSAGE AUTHENTICATION and HASH FUNCTIONS - Chapter 11 Masquerade – message insertion, fraud, ACK.
Cryptographic Hash Functions Prepared by Dr. Lamiaa Elshenawy
Cryptography and Network Security (CS435) Part Nine (Message Authentication)
Lecture 4.1: Hash Functions, and Message Authentication Codes CS 436/636/736 Spring 2014 Nitesh Saxena.
Cryptography and Network Security
Computer Science and Engineering Computer System Security CSE 5339/7339 Lecture 11 September 23, 2004.
CS426Fall 2010/Lecture 51 Computer Security CS 426 Lecture 5 Cryptography: Cryptographic Hash Function.
Hashes Lesson Introduction ●The birthday paradox and length of hash ●Secure hash function ●HMAC.
11.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 11 Message Integrity and Message Authentication.
IT 221: Introduction to Information Security Principles Lecture 5: Message Authentications, Hash Functions and Hash/Mac Algorithms For Educational Purposes.
1 Message Authentication using Message Digests and the MD5 Algorithm Message authentication is important where undetected manipulation of messages can.
Data Integrity / Data Authentication. Definition Authentication (Signature) algorithm - A Verification algorithm - V Authentication key – k Verification.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
Understanding Cryptography by Christof Paar and Jan Pelzl These slides were prepared by Christof Paar and Jan Pelzl Chapter 12.
@Yuan Xue 285: Network Security CS 285 Network Security Hash Algorithm Yuan Xue Fall 2012.
Chapter 12 – Hash Algorithms
Message Integrity and Message Authentication
Cryptographic Hash Functions
Cryptographic Hash Function
CSCE 715: Network Systems Security
Message Authentication and Hash Functions
Presented by: Dr. Munam Ali Shah
Cryptographic Hash Functions Part I
Cryptography Lecture 13.
Cryptographic Hash Functions
ICS 454 Principles of Cryptography
Chapter 11 – Message Authentication and Hash Functions
Introduction to Symmetric-key and Public-key Cryptography
ICS 454 Principles of Cryptography
Lecture 4.1: Hash Functions: Introduction
Cryptographic Hash Functions Part I
Chapter -7 CRYPTOGRAPHIC HASH FUNCTIONS
Introduction to Cryptography (1)
Message Authentication Code
Topic 13: Message Authentication Code
Lecture 4.1: Hash Functions, and Message Authentication Codes
Cryptography Lecture 14.
Hashing Hash are the auxiliary values that are used in cryptography.
Cryptography Lecture 13.
Cryptography Lecture 13.
Lecture 4: Hash Functions
Hash Function Requirements
CRYPTOGRAPHY & NETWORK SECURITY
Presentation transcript:

Cryptographic Hash Functions Beyond CRCs

Hash functions A hash function is a mathematical, efficiently computable function that has fixed size output: F : {0, 1}N  {0,1}n , where N > n F: {0, 1}*  {0,1}n In cryptography, the first type of hash function is often called a compression function, with the name hash function reserved for the unbounded domain type.

Checksums and CRCs Used to provide integrity checks against random faults. Not sufficient for protection against malicious or intentional modification. Easy to make changes and re-compute the CRC to match. In the past, it was believed that the use of CRCs within encryption was sufficient to provide integrity. However, that is no longer considered adequate: Example: The use of CRCs in the WEP protocol resulted in a serious vulnerability, allowing for powerful active attacks.

Cryptographic hash functions There security of hash functions is defined empirically, if the following problems are found to be computationally infeasible: One way: Given y, find x such that h(x) = y Second pre-image resistant: Given x, find y x such that h(x) = h(y) Collision-resistant: Find y, x, with y x such that h(x) = h(y)

Constructing hash functions Since constructing secure hash functions is a difficult problem, the following approach has been taken in practice: Construct a good compression function. Since the domain of compression functions are “small” they are easier to test for the desired properties. Use the MD construction (next) to turn a one-way, collision-resistant compression function into a hash function with similar properties.

Merkle-Damgard (MD) Here F() is a compression function, and the MD construction transforms it into a hash function on larger blocks: H(M_1) = F(IV, M_1) H(M_1 || M_2) = F(H(M_1),M_2) = F(F(IV, M_1), M_2), and so forth

Applications of Hash Functions System integrity protection: For password verification, eliminating the need to keep passwords As building blocks for message authentication codes (MACs) and digital signature algorithms. File system integrity checks against intrusion detection must use secure hashes instead of regular checksums. They can then be stored in a separate database for detection of unauthorized modifications to the file system configuration

Message-extension attacks Since most hash functions are built using the Merkle-Damgard construction, they are vulnerable to length-extension attacks: Given h(M) and length of M = len(M) and adversary can find h(M || M’) for chosen M’. To prevent this, MAC should be used instead of hashes to provide integrity of message transmission.

Message Authentication Codes Message authentication codes, like block ciphers, are symmetrically-keyed cryptographic primitives. Like cryptographic hash functions, MACs take arbitrary-length input and produce a fixed length output. Not invertible. Require a key.

Using MACs M M MAC Sender Receiver K M, T T T’ The verification succeeds if the re-computed tag T’ equals the original tag T. M M T T’

Building MACs from hash functions HMAC is a MAC from hash functions. Let h be the hash function. Assume L = block length of compression function input Let K be the key, K’ be the key padded with 0’s to length L. HMAC(K, M) = h(K’opad || h(K’ipad||M) ) ipad = 0x363636...3636 opad = 0x5c5c5c...5c5c (both of length L)