         (.getBlockSize engine))
 
       Cipher
-      (initialize! [_ params]
+      (initialize [_ params]
         (initialize-cipher! engine params))
-      (process-block! [_ input]
+      (process-block [_ input]
         (block-cipher-process! engine input)))))
 
 (defn stream-cipher

    (reify
      StreamCipher ;; Mark only
      Cipher
      (initialize! [_ params]
        (initialize-cipher! engine params))
      (process-block! [_ input]
        (stream-cipher-process! engine input)))))

(defn process-bytes!
  "Backward compatibility alias for `process-block!`
  function. This function will be removed in the
  next stable version."
  [engine input]
  (process-block! engine input))


(def ^{:doc "Deprecated alias for block-cipher."
       :deprecated true}
  engine block-cipher)

(def ^{:doc "Deprecated alias for stream-cipher."
       :deprecated true}
  stream-engine stream-cipher)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; High level api.


(defprotocol Cipher
  "Common interface to both, stream and block ciphers."
  (initialize [_ params] "Initialize cipher")
  (process-block [_ input] "Encrypt/Decrypt a block of bytes."))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Implementation details.
