         encryptionkey (extract-encryption-key secret algorithm)
         authkey (extract-authentication-key secret algorithm)]
     (when-not (verify-authtag authtag (assoc params :authkey authkey :algorithm :sha512))
-      (throw+ {:type :validation :cause :authtag :message "Message seems corrupted or manipulated."}))
+      (throw+ {:type :validation :cause :authtag :message "Message seems corrupt or manipulated."}))
     (decrypt cipher ciphertext encryptionkey iv)))
 
 (defn- generate-plaintext

        (codecs/str->bytes))))

(defn- parse-header
  [header]
  (let [header (codecs/safebase64->bytes header)
        header (codecs/bytes->str header)
        {:keys [alg enc zip] :as header} (json/parse-string header true)]

        encryptionkey (extract-encryption-key secret algorithm)
        authkey (extract-authentication-key secret algorithm)]
    (when-not (verify-authtag authtag (assoc params :authkey authkey :algorithm :sha384))
      (throw+ {:type :validation :cause :authtag :message "Message seems corrupt or manipulated."}))
    (decrypt cipher ciphertext encryptionkey iv)))

(defmethod aead-decrypt :a256cbc-hs512
