Encoding/Decoding a string using a cypher with an arbitray offset
- Generate an encoding dictionary that maps an original value to a new value based on an offset
- Use enc_dict to write an encoded string
- Generate a decoding dict that maps an encoded value back to the original based on the negative offset
- Reverse the encoding