https://www.humansecurity.com/tech-engineering-blog/fun-times-with-webcrypto-part-2-encrypting-decrypting