Substantial re-writing and changes to the System

However there are still a few question, specifally on the Pairing
created in the encryption and decryption methods and the canonical
method in the Supporting Algorithms class.