Message digests* What is a message digest
Message digests* What is a message digest
Message digests* What is a message digest
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