- Build a client side web application using Javascript.
- Execute Javascript logic based on user-generated events within the DOM.
- Ignore spaces.
- Ignore spaces in the key.
- Maintain case between the plaintext/ciphertext messages.
- Ignore special characters.
- Throw an exception for invalid input to the encrypt/decrypt functions.