Re: Reverse Hash Function

Discussion in 'Computer Security' started by Linda Pan, Dec 17, 2004.

  1. Linda Pan

    Linda Pan Guest

    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.
    Linda Pan, Dec 17, 2004
    #1
    1. Advertising

  2. Linda Pan

    IPGrunt Guest

    "Linda Pan" <> 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
    IPGrunt, Dec 18, 2004
    #2
    1. Advertising

  3. Linda Pan

    bowgus Guest

    By definition, a hash function is not reversible ... or ... if it is
    reversible, it is flawed.
    bowgus, Dec 18, 2004
    #3
  4. Linda Pan

    Linda Pan Guest

    Thanks A LOT!!! Clearly understood.


    "Linda Pan" <> 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.
    >
    >
    Linda Pan, Dec 30, 2004
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Ben Low

    "paged" CAM table hash

    Ben Low, Oct 5, 2004, in forum: Cisco
    Replies:
    2
    Views:
    802
    Ben Low
    Oct 5, 2004
  2. Nicolas W.

    PIX: PSK, sniffer and hash

    Nicolas W., Oct 5, 2005, in forum: Cisco
    Replies:
    0
    Views:
    381
    Nicolas W.
    Oct 5, 2005
  3. AM

    CCO Hash.

    AM, Jan 4, 2006, in forum: Cisco
    Replies:
    1
    Views:
    1,091
    Tomas Knott
    Jan 8, 2006
  4. Harry

    Hash mash

    Harry, Aug 8, 2004, in forum: Computer Support
    Replies:
    1
    Views:
    567
    Morgan Pugh
    Aug 8, 2004
  5. ShadowEyez

    New Hash Function workshop thoughts

    ShadowEyez, Nov 4, 2005, in forum: Computer Security
    Replies:
    0
    Views:
    419
    ShadowEyez
    Nov 4, 2005
Loading...

Share This Page