Encryption class update

structural change to the class. It is now fully functional and appear to
work correctly with shifting and unshifting. permutation and
unpermutation is still work in progress.