         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}]

  (let [cipher (crypto/block-cipher :aes :cbc)
        encryptionkey (extract-encryption-key secret algorithm)
        authkey (extract-authentication-key secret algorithm)
        ciphertext (encrypt cipher plaintext encryptionkey iv)
        tag (generate-authtag {:algorithm :sha256
                               :ciphertext ciphertext
                               :authkey authkey

  (let [cipher (crypto/block-cipher :aes :cbc)
        encryptionkey (extract-encryption-key secret algorithm)
        authkey (extract-authentication-key secret algorithm)
        ciphertext (encrypt-cbc cipher plaintext encryptionkey iv)
        tag (generate-authtag {:algorithm :sha512
                               :ciphertext ciphertext
                               :authkey authkey
