 
 (defn poly1305
   "Make poly1305 mac for specified data, using arbitrary
-length key and 128 bits iv.
-Key can be any type that implements ByteArray protocol."
+  length key and 128 bits iv.
+  Key can be any type that implements ByteArray protocol."
   [input key ^bytes iv ^Keyword alg]
   {:pre [(= (count iv) 16)]}
   (let [key (->byte-array key)]


(defn resolve-engine
  "Given dynamic type engine, try resolve it to
valid engine instance. By default accepts keywords
and functions."
  [engine]
  (cond
   (instance? Keyword engine) (let [factory (engine *available-engines*)]


(defprotocol Poly1305Mac
  "Protocol that defines a low level interface
  to poly 1305 algorithm and allows extend it for
  different types.
  It comes with default implementation for: string,
  bytes, input stream, file, url and uri."
  (make-poly1305 [obj key iv alg] "Calculate poly1305 mac for type."))

(alter-meta! #'make-poly1305 assoc :no-doc true :private true)
