Refactored existing code and added support for symmetric encryption.

Shorthand for this:

    var secretKey [SecretKeyLength]byte

The array will get zeroed automatically.