         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)))
+    (decrypt-cbc cipher ciphertext encryptionkey iv)))
 
 (defmethod aead-decrypt :a256cbc-hs512
   [{:keys [algorithm authtag ciphertext secret iv] :as params}]

        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 corrupt or manipulated."}))
    (decrypt cipher ciphertext encryptionkey iv)))

(defn- generate-plaintext
  [claims zip exp nbf iat]

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

(defmethod aead-decrypt :a192cbc-hs384
  [{:keys [algorithm authtag ciphertext secret iv] :as params}]
