13.07.2013 Views

Message digests* What is a message digest

Message digests* What is a message digest

Message digests* What is a message digest

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Message</strong> <strong><strong>digest</strong>s*</strong><br />

David Morgan<br />

<strong>What</strong> <strong>is</strong> a <strong>message</strong> <strong>digest</strong><br />

*a.k.a a.k.a hashes<br />

© David Morgan 2009-2012<br />

a value (<strong>digest</strong>) derived from a body of data (<strong>message</strong>)<br />

by application of an algorithmic function<br />

applied on all of the data (all bits)<br />

<strong>digest</strong> = f ( <strong>message</strong> )<br />

© David Morgan 2009-2012<br />

1


<strong>Message</strong> <strong>digest</strong> function examples<br />

MD5<br />

SHA1<br />

RIPEMD-160<br />

<strong>digest</strong> = MD5 ( <strong>message</strong> )<br />

<strong>digest</strong> = SHA1 ( <strong>message</strong> )<br />

<strong>digest</strong> = RIPEMD-160 ( <strong>message</strong> )<br />

© David Morgan 2009-2012<br />

Digest function character<strong>is</strong>tics<br />

<strong>digest</strong> length constant (per particular function)<br />

<strong>digest</strong> unique to <strong>message</strong><br />

altogether different <strong>digest</strong>s for slightly<br />

different <strong>message</strong>s<br />

irreversible, one-way, inverseless<br />

(note: MD5 and SHA1, used for illustration in following screenshots,<br />

are deprecated due to weaknesses found in recent years)<br />

© David Morgan 2009-2012<br />

2


<strong>digest</strong> length constant (per function)<br />

Familiar long text<br />

Familiar short text<br />

32-byte MD5 <strong>digest</strong> length, for<br />

both<br />

40-byte SHA1 <strong>digest</strong> length,<br />

for both<br />

© David Morgan 2009-2012<br />

Slight input change -> > big output change<br />

“Authorized” occurs only once<br />

change only one bit in the whole file<br />

<strong>digest</strong> changes radically<br />

revert file to its original identically<br />

A=01000001<br />

C=01000011<br />

<strong>digest</strong> reverts to its original identically<br />

© David Morgan 2009-2012<br />

3


irreversible, one-way, one way, inverseless<br />

input grows without bound<br />

output remains a few bytes<br />

sufficient information cannot reside in scant<br />

input to reconstruct input<br />

© David Morgan 2009-2012<br />

Contrast with encryption algorithms<br />

has no key<br />

<strong>is</strong> not reversible<br />

output’s size does not scale to input’s<br />

<strong>is</strong> not for purpose of confidentiality<br />

© David Morgan 2009-2012<br />

4


Digest length<br />

– variable among algorithms<br />

© David Morgan 2009-2012<br />

5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!