7
$\begingroup$

Newbie here, and I apologize if this is the wrong forum for this type of question...

I have a group of 200 or so alphanumeric codes from an unknown source. Here's an example piece of the data set:

2230-4D16-5112
2301-7D05-7062
2373-4A20-0106
3072-5E26-2033
0662-2E10-237F
1172-5E30-520B

There are some "rules" that I have been able to discern just by looking at enough of these codes. First, these always begin with 0, 1, 2, or 3. Secondly, the only valid characters are 0-9 and A-F. Other than that, I haven't yet determined what other constraints or patterns there are.

So my question is, given a set of data, what are the known ways (mathematical or otherwise) to determine the formula used to create the data without having access to anything from the original creator? Or maybe the numbers are just random? How do I know?

And my other question: Is there any sort of software currently out there where you can plug into large sets of data and have it figure out patterns/rules to stuff like this?

UPDATE:

Interestingly enough, after looking at 177 of these sequences, I see some interesting rules developing. Only certain values can be in certain positions. Maybe someone out there can recognize this pattern and why it's this way? (All means 0-9 and A-F)

1: 0-3
2: 0-7
3: All
4: 0-3

5: 0-7
6: All
7: 0-3
8: 0-7

9: All
10: 0-3
11: 0-7
12: All

UPDATE 2:

The comment by Théophile below was enough for me to look at the sequencing differently. Instead of 3 groups of 4, it's actually 4 groups of 3, and the dashes are used to obfuscate that. Maybe these simple rules are enough to consider a value as valid vs invalid in a system? I don't know for sure, but it's a starting point with the data I have. Now to look for patterns within...

1: 0-3
2: 0-7
3: All

4: 0-3
5: 0-7
6: All

7: 0-3
8: 0-7
9: All

10: 0-3
11: 0-7
12: All
$\endgroup$
  • 1
    $\begingroup$ They appear to be three 16-bit binary numbers expressed in hexadecimal notation. You might convert to decimal to see if there is another pattern. $\endgroup$ – Fred Kline Mar 24 '17 at 23:40
  • $\begingroup$ I thought maybe they were hex related. I will look into that as well. $\endgroup$ – Ethan Allen Mar 24 '17 at 23:42
  • $\begingroup$ Could they also be one long hex number if the dashes are removed? I am unsure about how relevant the dashes really are. $\endgroup$ – Ethan Allen Mar 25 '17 at 0:02
  • $\begingroup$ It's interesting that the allowed numbers come in powers of 2: 0-3 is $2^2$ possibilities, 0-7 is $2^3$, and 0-F is $2^4$. This suggests that a code isn't one long hex number, but rather a collection of smaller numbers or bit strings. If anything, there should be more dashes, not fewer. $\endgroup$ – Théophile Mar 25 '17 at 3:00
  • $\begingroup$ Yes, very interesting.... 2,3,4,2,3,4,2,3,4,2,3,4... $\endgroup$ – Ethan Allen Mar 25 '17 at 3:08
1
$\begingroup$

What comes next in the sequence 1, 2, 3, 4, 5? The obvious answer is 6 but I can easily write a formula which will generate those numbers followed by anything i want e.g. $\pi$.

The same could be done with your list though with 200 large numbers, it would be more messy.

The point is that there is no unique answer to your question.

In the typical what comes next in the sequence puzzle, there is usually an unstated rule that the simplest generator should be used. Sometimes this is obvious and uncontroversial but other times it is not so clear.

So, even if you find a generator, it might not be the one that was used by the original creator of the data and they could diverge at any time.

$\endgroup$
1
$\begingroup$

These are reasonably likely to be 48 bit numbers, however the upper 4 bits are always 0 (hence the first digit is 0,1,2,or 3). So maybe they are 44 bit numbers. Some intel processors can address $2^{46}$ bytes of memory, so these might be physical memory addresses for some OS that supports 16TB of memory.

They could be software license keys (dashes is what makes me think of this), but they seem small for keys.

One thing that's intriguing is that some hex digits (8,9,C) don't appear at all. In other cases there are columns where all digits are below 8 (the first 5, then skip one, and the following 6). The 6th column only has A and above. These might be particular to your sample in the OP - you may want to look at the whole data set.

There are a few alphanumeric ASCII characters, but not enough to make me think they're intended to be text.

Googling the first one doesn't turn up anything except this post.

I think the most one can do here is to speculate.

$\endgroup$
  • $\begingroup$ Thanks for the tips... I just updated my post with some new information after looking at a fuller data set. Let me know what you think. $\endgroup$ – Ethan Allen Mar 25 '17 at 3:04
  • $\begingroup$ The restrictions by column certainly suggest some sort of encoding. But "encoding", though, spans a lot of ground. For example, ASCII is an encoding. A series of bit fields is a possibility. You could analyze the information entropy of the data (stackoverflow.com/questions/990477/…), but I don't think you'll find anything particularly startling. Here's a link on analyzing unknown data: datascientistinsights.com/2013/01/29/…. You could google for similar results. $\endgroup$ – Χpẘ Mar 25 '17 at 3:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.