Velocity Reviews > Re: Reverse Hash Function

# Re: Reverse Hash Function

Linda Pan
Guest
Posts: n/a

 12-17-2004
Dear experts,

I met a problem, and I don't have experience to solve it. Thus, please give
me a help.

My question is:

I have a hash function: h().

I have a plain text: A

So I can get a hash value B = h(A)

Suppose that I have a reverse hash function: h'()

Then I can get a fade plain text A'= h'(B), probably A' is not equal to A,
but it doesn't matter!

I want to ask: Is it possible to build a reverse hash function h'() so that
h(h'(B)) is equal to B?

I do appreciate if you could answer me or send me a hint.

Merry Christmas!

P. L.

IPGrunt
Guest
Posts: n/a

 12-18-2004
"Linda Pan" <(E-Mail Removed)> confessed in news:2KGwd.52\$Y72.11
@edtnps91:

> Dear experts,
>
> I met a problem, and I don't have experience to solve it. Thus, please

give
> me a help.
>
>
>
> My question is:
>
>
>
> I have a hash function: h().
>
> I have a plain text: A
>
>
>
> So I can get a hash value B = h(A)
>
>
>
> Suppose that I have a reverse hash function: h'()
>
>
>
> Then I can get a fade plain text A'= h'(B), probably A' is not equal to

A,
> but it doesn't matter!
>
>
>
> I want to ask: Is it possible to build a reverse hash function h'() so

that
> h(h'(B)) is equal to B?
>
>
>
> I do appreciate if you could answer me or send me a hint.
>
>
>
> Merry Christmas!
>
>
>
> P. L.
>
>

Cryptography 101:

A hash function (also called a Digest function) does not have a reverse by
definition. A hash function is defined by the following properties:

1. Fixed length: A hash function takes a variable length string and
provides a fixed length binary value.

2. One-way: h(A) = B is easy to compute, but h'(B) = A is impossible to
discover.

3. Collision-free: if h(A) = B, then there is no h(X) = B, unless A = X.

Hashes are used to maintain data integrity. Computer OS like Unix and
Windows hash user passwords before storage in the etc/passwd file or the
LSA.

Most modern systems salt a password string before applying a hash, to
prevent a dictionary attack. Unless the cracker knows the salt being used,
dictionary attack is impossible.

Other protocols use hashing to ensure data integrity during transmission.
For instance, some server protocols send hash computations of a message
along with a message packet. The client then computes the hash on the
message packet and compares that hash with what was sent by the server. Any
difference, and the client NAKs the packet.

The best hashes are built such that a small change in A creates a large
variance in B (again where h(A) = B).

Sorry. Hashes don't reverse. For encrypting / decrypting using the same
key, use a symmetric algorithm, like DES or Rijndael. For encrypting /
decrypting with matched keys or public/private keys, use an Assymetric
algorithm like RSA or DSA.

-- ipgrunt

bowgus
Guest
Posts: n/a

 12-18-2004
By definition, a hash function is not reversible ... or ... if it is
reversible, it is flawed.

Linda Pan
Guest
Posts: n/a

 12-30-2004
Thanks A LOT!!! Clearly understood.

"Linda Pan" <(E-Mail Removed)> wrote in message
news:2KGwd.52\$Y72.11@edtnps91...
> Dear experts,
>
> I met a problem, and I don't have experience to solve it. Thus, please
> give
> me a help.
>
>
>
> My question is:
>
>
>
> I have a hash function: h().
>
> I have a plain text: A
>
>
>
> So I can get a hash value B = h(A)
>
>
>
> Suppose that I have a reverse hash function: h'()
>
>
>
> Then I can get a fade plain text A'= h'(B), probably A' is not equal to A,
> but it doesn't matter!
>
>
>
> I want to ask: Is it possible to build a reverse hash function h'() so
> that
> h(h'(B)) is equal to B?
>
>
>
> I do appreciate if you could answer me or send me a hint.
>
>
>
> Merry Christmas!
>
>
>
> P. L.
>
>