Tidies up code, moves some documentation, and adds some test cases
that we are using the correct parameters for our cipher.