# Encoding Extreme #9

Your friend, a computer scientist named John, recently sent you a letter. It was long since you hadn't seen him, since he was always at his office researching things.

This was the letter that he sent you:
 Hello! I'm sorry I was in my office so long. But I'm done researching, so I'll be able to talk to you in a week or so. For now, I've got a 'gift' for you... You've always liked puzzles, right? Well, I developed a new hashing system, and I need to test its efficiency! I sent you a paper along this letter. Read it, and try to solve it. Good luck! John PS: I'll only give you only two hints, and that is that the system is called "Caesar hashing", and what you get should be a readable phrase. 

And the note:
 Text: I like puzzles! Key: 8.14.8.9.14.11.7.12.6.2.6.10.4.0<><<>><<<><><= Dictionary: _ABCDEFGHIJKLMNOPQRSTUVWXYZ!

How it seems this cipher should work -

The "key" is a set of numbers, separated by dots,
followed by a series of characters - one of <, >, or =.
These together give a set of offsets: "<" means negative, ">" positive, "=" zero.
Combine the two together and you get: -8 14 -8 -9 14 11 -7 -12 -6 2 -6 10 -4 0

These are, I believe, intended to be applied cyclically (or, at least, sequentially) to the ciphertext characters, shifting left or right within the Dictionary by the offsets in the key. For example:
The first character in the ciphertext is "I".
The first offset in the key is -8.
The "I" is the 10th character in the dictionary.
At offset -8 (or left by 8) we get the 2nd character in the dictionary, or "A".
So the first character in the plaintext is "A".
This should be done for each character in the ciphertext, applying each offset in the key.

Unfortunately, ...

This doesn't seem to provide a sensible message.
I'm assuming that the "_" in the Dictionary indicates the space, making space characters in the ciphertext participate in the same way as alphabetic characters, rather than just being spaces; this gives us 14 offsets in our key and 15 characters in our ciphertext. (The alternative is that "_" actually means an underscore, spaces aren't encoded, and our ciphertext is just 13 characters and the final key offset value is unused.) Neither alternative, though, gives a useful decoding.

"_" means space: "I like puzzles!" decodes to "AND YPUDO TVASS".
"_" means underscore: "I like puzzles!" decodes to "A ZABS !NNTN!AW".

Getting nowhere with that, I also tried ...

inverting the meaning of the direction indicators in the key - as it's possible the key tells how to encode, not decode, the ciphertext. Unfortunately that gave nonsense as well.

All this leads me to wonder ...

Is there an error in the key?
The "_"-means-space decoding looks suspiciously close to "AND YOU DO..." which makes me curious if this puzzle was verified correct.

If I'm wrong, then hopefully this at least will point someone in the right direction.