Codes…

In another life I think I could have been a cryptographer. But in this one I really do not have the paitience to do that sort of thing. Case in point. A business partner has been wanting me to do some work decoding the data on a recording. He has been at me for weeks to do this – and it has been hard because I have been out of the country.

Anyway in the last few days I have managed to look at the data, searching for patterns. The first thing was to look at the recorded audio. It took some time to work out the format of the data. Normally the trick is to do filtering, low, high or band pass, and see what happens. In this case that did not work well. Part of the reason was that the two main frequencies were strongly related. Argh.

Looking more at the data – just staring at it I realised that there was structure. I realized that what I had thought might have been different bit lengths was an identical bit length. Phase one complete.

Now, processing the data became more fun. I now knew how each state was represented. I just had to guess what was 1 and what was 0. It didn’t really matter to me which was which right now. The analysis was still the same. So I started decoding the data by hand. Turning my mind inside and out did not seem to work. Was it errors in my decoding or was it strange data?

So I wrote a small program to decode the data. Still no form. I had been thinking an 8 bit code. Then a 7 bit code. But I was never quite sure. Something was kicking me saying that there was something wrong. It did not appear until I pasted the stream all together in a row into Wordpad. And the Automatic Word Wrap was turned on. It just so happened that some data lined up in columns, and was constant. One column would be constant. Eight would change and then the next three contained constant data. And then the sequence copied itself.