Data Integrity: Applications of Cryptographic Hash Functions

Slides:



Advertisements
Similar presentations
Giuseppe Bianchi Lecture 6.1: Extras: Merkle Trees.
Advertisements

MAC Raushan. DES simple fiestel network 3131 PlainText Blocks 2*4=8bits 31 f f =0011 xor 0011=0000 = 0 f(r,k)=(2*r+k^2)%8 f(1,5)=(2*1+5^2)%8=3 xor 3 3.
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”
Advanced Security Constructions and Key Management Class 16.
Digital Signatures and Hash Functions. Digital Signatures.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
Authenticating streamed data in the presence of random packet loss March 17th, Philippe Golle, Stanford University.
Cryptography and Network Security Chapter 11 Fourth Edition by William Stallings Lecture slides by Lawrie Brown/Mod. & S. Kondakci.
CS526Topic 5: Hash Functions and Message Authentication 1 Computer Security CS 526 Topic 5 Cryptography: Cryptographic Hash Functions And Message Authentication.
Cryptography1 CPSC 3730 Cryptography Chapter 11, 12 Message Authentication and Hash Functions.
Computer Science CSC 774 Adv. Net. SecurityDr. Peng Ning1 CSC 774 Advanced Network Security Topic 4. Broadcast Authentication.
1 Message Authentication and Hash Functions Authentication Requirements Authentication Functions Message Authentication Codes Hash Functions Security of.
CRYPTOGRAPHIC DATA INTEGRITY ALGORITHMS
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
MAC and HASH Functions Unit 5. AUTHENTICATION REQUIREMENTS In the context of communications across a network, the following attacks can be identified:
Acknowledgements: William Stallings.William Stallings All rights Reserved Session 4 Public Key Cryptography (Part 2) Network Security Essentials Application.
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.
Digital Signatures A primer 1. Why public key cryptography? With secret key algorithms Number of key pairs to be generated is extremely large If there.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
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.
Message Authentication and Hash Functions Chapter 11.
Basic Cryptography 1. What is cryptography? Cryptography is a mathematical method of protecting information –Cryptography is part of, but not equal to,
CS426Fall 2010/Lecture 61 Computer Security CS 426 Lecture 6 Cryptography: Message Authentication Code.
Merkle trees Introduced by Ralph Merkle, 1979 An authentication scheme
Cryptography and Network Security Chapter 12 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Lecture 4.1: Hash Functions, and Message Authentication Codes CS 436/636/736 Spring 2014 Nitesh Saxena.
CS426Fall 2010/Lecture 51 Computer Security CS 426 Lecture 5 Cryptography: Cryptographic Hash Function.
IT 221: Introduction to Information Security Principles Lecture 5: Message Authentications, Hash Functions and Hash/Mac Algorithms For Educational Purposes.
Authenticating streamed data in the presence of random packet loss February 8 th, 2001 Philippe Golle Nagendra Modadugu Stanford University.
Cryptographic Security Aveek Chakraborty CS5204 – Operating Systems1.
Message Authentication Codes CSCI 5857: Encoding and Encryption.
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.
Message Authentication Code
Cryptographic Hash Functions & Digital Signatures
Computer Security CS 526 Topic 4
Cryptographic hash functions
Cryptographic Hash Functions
Cryptographic Hash Function
CSCE 715: Network Systems Security
Digital signatures.
Cryptographic Hash Functions
Presented by: Dr. Munam Ali Shah
Computer Security CS 526 Topic 4
The TESLA Broadcast Authentication Protocol CS 218 Fall 2017
NET 311 Information Security
MAC: Message Authentication Code
CS/ECE 478 Introduction to Network Security
Security through Encryption
Introduction to Symmetric-key and Public-key Cryptography
BROADCAST AUTHENTICATION
NETW4005 COMPUTER SECURITY - A
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Cryptographic Hash Functions Part I
Hash-based Primitives Credits: Dr. Peng Ning and Dr. Adrian Perrig
Chapter -7 CRYPTOGRAPHIC HASH FUNCTIONS
Cryptography Lecture 14.
Lecture 4.1: Hash Functions, and Message Authentication Codes
Computer Security CS 526 Topic 5
Cryptography Lecture 15.
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
One-way Hash Function Network Security.
CRYPTOGRAPHY & NETWORK SECURITY
Blockchains Lecture 4.
Presentation transcript:

Data Integrity: Applications of Cryptographic Hash Functions 12/9/2018 Data Integrity

Message Authentication Code (MAC) Cryptographic hash function h(K,M) with two inputs: Secret key K Message M Message integrity with MAC Sequence of messages transmitted over insecure channel Secret key K shared by sender and recipient Sender computes MAC c = h(K,M) and transmits it along with message M Receiver recomputes MAC from received message and compares it with received MAC Attacker cannot compute correct MAC for a forged message More efficient than signing each message Secret key can be sent in a separate encrypted and signed message M c sent message Compute c = h(K,M) Compute d = h(K,M′) Accept if d = c′ M′ c′ received message 12/9/2018 Data Integrity

HMAC Building a MAC from a cryptographic hash function is not immediate Because of the iterative construction of standard hash functions, the following MAC constructions are insecure: h(KM) h(MK) h(KMK) HMAC provides a secure construction: h(K  Ah(K  B M)) A and B are constants Internet standard used, e.g., in IPSEC HMAC security is the same as that of the underlying cryptographic hash function 12/9/2018 Data Integrity

Securing a Communication Channel Assuring both integrity and confidentiality of messages transmitted over an insecure channel Sign and encrypt The encrypted pair (message, signature) is transmitted MAC and encrypt The encrypted pair (message, MAC) is transmitted Secret key for MAC can be sent in separate message More efficient than sign and encrypt MAC is shorter and faster to compute than signature and verification Alternatively, signing or applying MAC could be done on encrypted message M sig M MAC encrypted encrypted 12/9/2018 Data Integrity

Hash Chain Repeated cryptographic hashing starting from a random value r xn = r xi = h(xi +1) for i = n-1 … 1 Sequence x1 x2 … xn is pseudo-random Applications One-time passwords Incremental micropayments (PayWord) Key property for security is preimage resistance of hash function x2 x3 x4 x5 x6 x1 hash reveal 12/9/2018 Data Integrity

Validation Chain Validation chain over a sequence of plaintexts p1, p2 , …, pn xn+1= 0 xi = h(pi || xi+1 ) for i = n … 1 Incremental stream authentication [Gennaro Rohatgi] transmit signed x1 transmit packets (p1, x2), (p2, x3), …, (pn-1, xn), (pn, xn+1) each packet contains the hash of the next packet the integrity of the first hash implies the integrity of the rest any prefix of the stream is signed and cannot be repudiated constant overhead (one hash per plaintext) one signature (slow), n hash computations (fast) offline method, requires reliable transmission p1, x2 p2, x3 p3, x4 p4, x5 p5, 0 sig, x1 12/9/2018 Data Integrity

Hash Tree Balanced binary tree defining a hierarchical hashing scheme over a set of items a = h(x1, x2) b = h(x3, x4) c = h(a, b) … The root hash is a hierarchical digest of entire set [Merkle] x2 x1 x4 x3 x5 x7 x6 a b c x8 12/9/2018 Data Integrity

Hash Tree Authentication Assumptions Collision resistant hash function Root hash is known Membership proof of an item path from the item to the root (L/R sequence) plus hash values of sibling nodes logarithmic size and verification time Example g = h(h(a, h(x3, x4)), d) The proof of x4 is the sequence [(x3, L), (a , L), (d, R)] g c d a b e f x1 x2 x3 x4 x5 x6 x7 x8 12/9/2018 Data Integrity

Stream Authentication with Packet Losses Sequence of plaintexts to be transmitted p1, p2 , …, pn Build a hash tree on top of items (i, pi) Transmit the signed root hash For each item pi, transmit packet (i, pi, proof(i,pi)) Logarithmic space overhead and verification time per packet Lost packets do not prevent authentication of future packets Off-line scheme 12/9/2018 Data Integrity