0% found this document useful (0 votes)
7 views7 pages

NACD Final- Hashing explained in X Minutes

Uploaded by

rhettdwallace
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views7 pages

NACD Final- Hashing explained in X Minutes

Uploaded by

rhettdwallace
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 7

WARNING

The following is a an unscripted mess that will hopefully explain


Hashing Algorithms. As a result it may be hard to follow, but hold all
questions to the end. All incidents of misspeach or getting off track are
unintended, and only left in due to my inability to time travel. Sit back,
enjoy, and try to keep up, once the timer starts, there's no stopping
until the end. Have fun, don’t die.
Hashing Explained in X
minutes
The Incredible Last Minute Creation
What is Hashing?
Basically, Hashing is a one-way code that is really hard to undo. How
something is hashed really depends on what algorithm is used. And
there's a lot of them. This will go over a few and attempt to explain at
least one…
The First
The first hashing algorithm is actually from the 1950s… and was barely
secure. It was made by Hans Peter Luhm… so of course it’s called the
Luhm algorithm, but it’s also known as the mod 10 algorithm, because
that’s the final step. It’s really more of a checksum than a hashing
algorithm, but it’s still important. If I have time I’ll show you an
example, but the main issue with it is… it’s not even a good checksum,
as it only works if the numbers aren’t padded or if certain numbers, like
09 and 90 didn’t switch places
The one we all know
MD5, we’re all familiar with this one. It existed to replace MD4, which
replaced MD2. Yeah, MD3 and MD1 never made it past experimental
stage. All of these were made by good ol’ R-squared, Ronald Rivest. This
algorithm is insecure, and has caused collisions. And… it’s kinda hard to
do by hand. First, you turn all text into binary. Then… the padding. You
add a 1 bit… then add enough zeroes to make the message exactly 64
minus a multiple of 512, and then a 64 bit integer that represents how
long the message is… then it gets complicated.
Why hashes are complicated
Hashes need to be complicated. But why is they are complicated is another question…
okay, more of a how do they go from legible to a mass of hex. And this is done with two
things. Big numbers and iteration, continuing with MD5, the next step is to take these
values A, B, C, and D. which are constant, and do this bitwise operation…

F(B,C,D)= (B AND C)OR(NOT B AND D)

Then you take A, F, and 10000000 and do this

(A + F) mod 100000000 to get Let’s call it A2… and then you repeat, (A2 + M(thing
we’re encoding)) mod 10000000, then you add one of 64 constants called K1-K64, then
shift it 7 bits left and repeat it sixteen times… to get the first quarter

Then you do the do the same thing but slightly different.

You might also like