The new forums will be named Coin Return (based on the most recent vote)! You can check on the status and timeline of the transition to the new forums here.
The Guiding Principles and New Rules document is now in effect.

decoding information for a forum game

JeffHJeffH Registered User regular
edited January 2009 in Help / Advice Forum
hey, i'm playing a game at another forum and the following encoded message was sent:
383DEB4D1CDC67DB918625E5C46EFFF0
E863655F61216408CF29786CA4FDC8EF
B888B89BC7CF46A6C142A5B599E15A91
7986DD95303F0161751C54418081B226
2604806A66D232732E75F75D0ADE0BA1
5E6069DBD5C25D0E985A5BBD71F22E30
76C42C6124B43763CE54CD20949D49E9
A7DB668044D536AA74864C34B831508B
443F057A68A36674C77A9C188E31E7D9
21FBF9D1678XYZZYCD9E255A155E578E79039
D587854D882A1C50F959F74778898AD0
1AFA5766044BD95E65353D75A08F8434
AA3072A4C2F56231952FFCCBB4916D12
A3219F5F5E82C0C3C272472A7BE6F0CF

all 32 bit hex numbers, with a random "XYZZY" thrown in. I'm stumped, does any decryption method ring a bell to anyone?

JeffH on

Posts

  • bowenbowen Sup? Registered User regular
    edited January 2009
    Looks to me like an MD5 encoding or some other sort of hash. Something tells me the 79039 or the XYZZY is important to this. You'll also notice that it doesn't go past the range 0-9,A-F which could also mean it's a hexadecimal in nature.

    However, it's likely an MD5 that's salt is either XYZZY or 79039 that could possibly be used by a rainbow table for decrypting the information. If this is something that's not yours to delve in, I'm telling you right now what you're about to go into is illegal. But since it's laid out in that format and you're telling me it's a game you're most likely right.

    bowen on
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • AnaximenesAnaximenes Registered User regular
    edited January 2009
    well there's always this for a start, http://en.wikipedia.org/wiki/Xyzzy. Points toward it being significant as opposed to 79039.

    Anaximenes on
  • DocDoc Registered User, ClubPA regular
    edited January 2009
    bowen wrote: »
    Looks to me like an MD5 encoding or some other sort of hash. Something tells me the 79039 or the XYZZY is important to this. You'll also notice that it doesn't go past the range 0-9,A-F which could also mean it's a hexadecimal in nature.

    However, it's likely an MD5 that's salt is either XYZZY or 79039 that could possibly be used by a rainbow table for decrypting the information. If this is something that's not yours to delve in, I'm telling you right now what you're about to go into is illegal. But since it's laid out in that format and you're telling me it's a game you're most likely right.

    The 79039 is not special. It was just forced to the side by the insertion of XYZZY.

    Doc on
  • DrFrylockDrFrylock Registered User regular
    edited January 2009
    bowen wrote: »
    Looks to me like an MD5 encoding or some other sort of hash. Something tells me the 79039 or the XYZZY is important to this. You'll also notice that it doesn't go past the range 0-9,A-F which could also mean it's a hexadecimal in nature.

    However, it's likely an MD5 that's salt is either XYZZY or 79039 that could possibly be used by a rainbow table for decrypting the information. If this is something that's not yours to delve in, I'm telling you right now what you're about to go into is illegal. But since it's laid out in that format and you're telling me it's a game you're most likely right.

    What in the hell are you talking about? I mean, just because you randomly string together a bunch of words that are vaguely related to cryptography doesn't mean that you've created something with actual information content.
    Looks to me like an MD5 encoding or some other sort of hash.

    MD5 is a hash function. That means that it takes some data, and it runs it through a function, and it puts out a number that can be thought of as a fingerprint of that data. As a hash function, small perturbations in the data should make relatively large changes in the output, and it should be hard to reverse: that is, given a hash value, it should be very difficult to construct some data that would hash to that value. This is largely true for MD5, although some recent research has revealed a way to make it somewhat feasible to come up with data that hashes to a particular value. For matters of importance, cryptographers now recommend stronger hash functions, such as SHA-1.

    In general, it would be difficult or impossible to tell whether a given bunch of binary data were the result of a hash function, since it will just look like a string of bits. The only way you'd know is to take some source data, hash it, and see what the value is, but you'd need the source data first. You might be able to make a vague guess that a value is a hash of some data based on its size, because most hash algorithms output hash values of well-known size.

    All MD5 hashes are 128 bits long. That would be 32 hexadecimal characters (4 bits can be represented in the digits 0-F in hex). So, each line of the block MIGHT be an MD5 hash, but then again there's nothing really indicating this. The XYZZY interposition doesn't indicate anything either. Additionally, it's not as if 128-bit numbers are unique to MD5 hashes - they might as well be IPv6 addresses, or GUIDs, or encryption keys for some other algorithm.
    However, it's likely an MD5 that's salt is either XYZZY or 79039

    A salt is a little bit of additional information you mix into data before encrypting or hashing it. Salts have a couple of effects: first, by using different salts, the same data won't encrypt or hash to the same value. For example, let's say I hash all the passwords on the system with MD5. If I look at all the MD5 hashes and I see two are the same, I know those two users have the same password, unless I salt the input a little bit with some additional data (such as (part of) the username). Additionally, they provide a small additional measure of security against reversing the hash function, especially if the salt is kept secret by the person doing the hashing.

    An "MD5" doesn't have a salt, so I have no idea what you're talking about. You can salt the input data before hashing it, but that still leaves two critical questions: what is the input data and what is the hash value? You haven't identified either.
    that could possibly be used by a rainbow table for decrypting the information.

    Because MD5 isn't really an encryption algorithm, I'd be very interested to know what you mean by "decrypting the information." Additionally, you still haven't identified the "information" at all.

    Rainbow tables are very, very large data sets used in breaking cryptographic algorithms and hashes. For example, let's say a system stores its passwords by hashing them first with MD5 and then storing that (ignore the salt stuff for now). Since MD5 is very hard to reverse, I will have a tough time figuring out a password from an MD5 hash. However, what if I used a supercomputer and precomputed the hashes of billions of possible passwords, and then put the results in a database? This would be a huge database, but not entirely infeasible. There is a technique called hash chaining that can be used to dramatically reduce the amount of storage needed at a small accuracy cost, as well, but that's beyond the scope of this discussion.

    If I had such a database, I can then look up my MD5 hash in the database and see if there's a corresponding password. If there is, bingo; I'm in. Such databases are called rainbow tables.
    If this is something that's not yours to delve in, I'm telling you right now what you're about to go into is illegal.

    Under what law? Who said that cryptanalysis is suddenly illegal? There are limitations on what you can use it for in the DMCA, but unless we're being duped into trying to help JeffH decode his Blu-Ray discs, I think we're fine.

    So, to recap:
    • I would be very interested to know why Bowen thinks this is a hash, since that would be very hard to determine in the best of circumstances.
    • I would be even more interested how he divined that it's MD5, since MD5 values are 128 bits each and this table contains 14 128-bit values.
    • MD5 is not an encryption algorithm per se, it's a hash function, and the use of a salt is optional. The word 'salt' does not appear in the RFC defining MD5.
    • Rainbow tables are useful if you want to find data that hashes to a given value. This is different than decryption: since many data inputs hash to the same value, a rainbow table will give you (at best) one of those inputs.
    • Cryptanalysis is generally not illegal.
    • Bowen is so full of shit it makes me wonder how he manages to talk so much out of his ass.

    DrFrylock on
  • VThornheartVThornheart Registered User regular
    edited January 2009
    If I may chime in guys, I think we need to know the context first.

    What kind of game is this? Is it like a puzzle? Was this message part of the game?

    Or did someone message this to you for some other reason?

    We need some context before we can know more, I believe.

    Because if it's just some kind of puzzle, it may not have any meaning beyond some little puzzle you have to solve for said game.

    If it's not related to the game, then maybe it serves some other purpose somewhere... but what? I dont' know, that's why we need some context. =)

    VThornheart on
    3DS Friend Code: 1950-8938-9095
Sign In or Register to comment.