Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
User Journal

Journal Marxist Hacker 42's Journal: Ask Slashdot- Cryptography 11

I'm not going to go into the sordid story of how I find myself in this mess. But I'm running out of ideas, and need some techniques for figuring out Alphanum (hexatrigesimal) hash encoding.

Here's the current output of my test program:
Plaintext Base36 Plaintext | Encoded Base36-decoded Encoded
20110208307 98L3K1F 20110208307 | IKYTT7V 40449903403 IKYTT7V
20110208327 98L3K1Z 20110208327 | IKYUT4V 40449949951 IKYUT4V
20110208314 98L3K1M 20110208314 | IKYTX7V 40449908587 IKYTX7V
20110208244 98L3JZO 20110208244 | IKYRFKV 40449792415 IKYRFKV
20110208318 98L3K1Q 20110208318 | IKYUJBV 40449937243 IKYUJBV
20110208277 98L3K0L 20110208277 | IKYSKMV 40449845623 IKYSKMV
20110208320 98L3K1S 20110208320 | IKYUKUV 40449939223 IKYUKUV
20110207281 98L3J8X 20110207281 | IKXS26V 40448142103 IKXS26V
20110207080 98L3J3C 20110207080 | IKXOBYV 40447968151 IKXOBYV
20110207327 98L3JA7 20110207327 | IKXSLUV 40448167591 IKXSLUV
20110207324 98L3JA4 20110207324 | IKXSKCV 40448165647 IKXSKCV
20110208371 98L3K37 20110208371 | IKYWJUV 40450031239 IKYWJUV
20110208205 98L3JYL 20110208205 | IKYQWWV 40449768223 IKYQWWV
20110207312 98L3J9S 20110207312 | IKXSDLV 40448156899 IKXSDLV
20110208286 98L3K0U 20110208286 | IKYSOTV 40449851059 IKYSOTV
20110207231 98L3J7J 20110207231 | IKXRCIV 40448108839 IKXRCIV
20110207289 98L3J95 20110207289 | IKXS5EV 40448146279 IKXS5EV
20110207216 98L3J74 20110207216 | IKXQZKV 40448092063 IKXQZKV
20110207227 98L3J7F 20110207227 | IKYR7BV 40449781723 IKYR7BV
20110207299 98L3J9F 20110207299 | IKXS9LV 40448151715 IKXS9LV
20110208340 98L3K2C 20110208340 | IKYVJQV 40449984439 IKYVJQV
20110207331 98L3JAB 20110207331 | IKXSPHV 40448172307 IKXSPHV
20110207322 98L3JA2 20110207322 | IKXSJIV 40448164567 IKXSJIV
20110207319 98L3J9Z 20110207319 | IKXSHYV 40448162551 IKXSHYV
20110208238 98L3JZI 20110208238 | IKYRDAV 40449789463 IKYRDAV
20110207277 98L3J8T 20110207277 | IKXS0CV 40448139727 IKXS0CV
20110221098 98L3TWQ 20110221098 | IL8ZRAV 40466977015 IL8ZRAV $ 2Q
20110221437 98L3U65 20110221437 | IL9JYIV 40467919495 IL9JYIV $ C5
20110221439 98L3U67 20110221439 | IL9JZMV 40467920935 IL9JZMV $ C7
20110221100 98L3TWS 20110221100 | IL8ZRWV 40466977807 IL8ZRWV $ 2S
20110222505 98L3UZT 20110222505 | ILAW47V 40470166363 ILAW47V $ E1
20110222181 98L3UQT 20110222181 | ILAHYPV 40469506051 ILAHYPV $ 51
20110222068 98L3UNO 20110222068 | ILA8AKV 40469054863 ILA8AKV $ 1W
20110222370 98L3UW2 20110222370 | ILAR2QV 40469931175 ILAR2QV $ AA
20110222424 98L3UXK 20110222424 | ILASZGV 40470020239 ILASZGV $ BS
20110222438 98L3UXY 20110222438 | ILATV3V 40470061243 ILATV3V $ C6
20110222142 98L3UPQ 20110222142 | ILAF32V 40469371735 ILAF32V $ 3Y
20110222136 98L3UPK 20110222136 | ILAEDGV 40469338543 ILAEDGV $ 3S
20110222446 98L3UY6 20110222446 | ILATZPV 40470067219 ILATZPV $ CE
20110222429 98L3UXP 20110222429 | ILATOIV 40470052711 ILATOIV $ BX
20110222302 98L3UU6 20110222302 | ILAN8FV 40469751931 ILAN8FV $ 8E
20110221075 98L3TW3 20110221075 | IL8Z1CV 40466943391 IL8Z1CV $ 23
20110221395 98L3U4Z 20110221395 | IL9IQEV 40467862327 IL9IQEV $ AZ
20110222051 98L3UN7 20110222051 | ILA6K3V 40468973899 ILA6K3V $ 1F

As you can see, it's obviously NOT straight Alphanum encoded, there MUST be something else going on in the hash algorithim to encode 20110207277 as IKXS0CV. It's not a straight cipher either- mapping the base36 to the output yields multiple values for individual characters; same with any mathematical operation I can find on the original number.

I don't have source code for the original algorithim, but I need to at least duplicate changing the 7 digit alphanum back into the plaintext original (which itself is a plaintext positional code of year, month, day, and serial number for a given day).

Anybody know of any resources I should be studying or looking at? Or better yet, anybody recognize this algorithm to change an 11 digit number into a 7 digit alphanum?

----------------------
Edit- additional info posted above. Added two new dates.

This discussion has been archived. No new comments can be posted.

Ask Slashdot- Cryptography

Comments Filter:
  • Back to Schneier? [amazon.com]
    That's the furthest I ever looked under the hood.

  • IKX = 20110207, IKY = 20110208: this is regular across all of the hash codes. Not have more date ranges to work with beyond those two dates, no further information can be eluded from this relation. However, it appears that the date is squeezed into 3 alphanumeric digits.

    _ALL_ of the hashes end in "V". This statistically significant.

    Still looking into other stuff. But let's split the hash into three parts, assuming purpose: 3 digits DATE, 3 digits SERIAL, 1 digit "V".

    The SERIAL seems to start no earlier tha

    • That did not occur to me. Interesting- I had thought about breaking up the plaintext, but did NOT think about positional coding in the encoded text, to work it backwards. THIS breaks me out of my loop of thinking- and starts me on another view.

    • And on the plus side- by sampling the stream from the business, before this is due on the 11th of March, I'll have some sample plaintext for the next month to see how that affects the first 3 digits.

    • Thank you- I decided to go back and post more dates.

      • Unfortunately the 3rd-to-last and 2nd-to-last lines there rule out a simple one-to-one incrementing of a field of the first three positions of the hash with the date:

        20110221075 -> IL8Z1CV
        20110221395 -> IL9IQEV

        I sorted your table on the plaintext input, and see some sequences of input values that are only 2 increments from one another, like:

        20110207322 -> IKXSJIV
        20110207324 -> IKXSKCV

        So "JI" to "KC" is two steppings? On what might be an A-Z then 0-9 sequence for each "digit" in the hash, then th

        • 20110221075 -> IL8Z1CV
          20110221395 -> IL9IQEV

          You can see that there would be expected an overlap from the "Z1C" SERIAL resulting in an increment into the DATE field.

          • And this reminds me that I had also thought about how, if the sequence is A-Z and then 0-9, "I" is only about 1/5th of the way into it, and what if anything might be able to be deduced from that. I couldn't come up anything, but maybe it's worth mentioning.

            For example, I believe the C language date format runs from the years 1970 to 2038. 2011 is 3/5ths into this range, so I don't think they're using that. I don't know what all the other common date representation ranges are.

            I also thought in terms of, if t

            • Any information at this point helps.

              I'm not real sure WHAT the purpose of the hashing is. It certainly isn't to fit the barcode on the label (that's the other part of this, the 7 digit hash is encoded into a barcode label that is used around here to keep track of everything from orders to individual samples going through a lab- and yes, they were stupid enough to limit thier thruput under this system to 1000 a day, numbered 000 to 999). I would have just encoded the plaintext, I was shocked when they fina

    • 20110207227 98L3J7F 20110207227 | IKYR7BV 40449781723 IKYR7BV

      This line is anomalous as it is an IKY value in the IKX set, and the next serial in the series returns to IKX. This is causing a jump of 46935 from the previous serial, and a BACKWARDS jump of 46469 in the next serial returning to monotonous increase.

Scientists are people who build the Brooklyn Bridge and then buy it. -- William Buckley

Working...