Currently not all letters decrypt correctly, likely due to negative values not being dealt with properly by current code 