summaryrefslogtreecommitdiff
path: root/ironclad/package.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'ironclad/package.lisp')
-rw-r--r--ironclad/package.lisp61
1 files changed, 61 insertions, 0 deletions
diff --git a/ironclad/package.lisp b/ironclad/package.lisp
new file mode 100644
index 0000000..d2f8814
--- /dev/null
+++ b/ironclad/package.lisp
@@ -0,0 +1,61 @@
+(cl:defpackage :ironclad
+ (:use :cl)
+ (:nicknames :crypto)
+ (:shadow null)
+ (:export
+ ;; referencing multiple-octet values in an octet vector (SETF-able)
+ #:ub16ref/be #:ub16ref/le #:ub32ref/be #:ub32ref/le #:ub64ref/le #:ub64ref/be
+
+ ;; hash functions
+ #:digest-sequence #:digest-stream #:digest-file
+ #:make-digest #:copy-digest #:update-digest #:produce-digest
+
+ ;; HMACs
+ #:make-hmac #:update-hmac #:hmac-digest
+ ;; CMACs
+ #:make-cmac #:update-cmac #:cmac-digest
+
+ ;; introspection
+ #:cipher-supported-p #:list-all-ciphers
+ #:digest-supported-p #:list-all-digests
+ #:mode-supported-p #:list-all-modes
+ #:block-length #:digest-length #:key-lengths
+
+ ;; high-level block cipher operators
+ #:make-cipher #:encrypt #:decrypt #:encrypt-in-place #:decrypt-in-place
+
+ ;; arguments to (MAKE-CIPHER ... :MODE X)
+ #:ecb #:cbc #:ctr #:ofb #:cfb #:stream
+
+ ;; KDFs
+ #:pbkdf1 #:pbkdf2
+ #:make-kdf #:derive-key
+
+ ;; public-key encryption operations
+ #:make-public-key #:make-private-key
+ #:sign-message #:verify-signature
+ #:encrypt-message #:decrypt-message
+
+ ;; signatures
+ #:make-dsa-signature
+
+ ;; public-key slot readers
+ #:dsa-key-p #:dsa-key-q #:dsa-key-g #:dsa-key-y #:dsa-key-x
+ #:dsa-signature-r #:dsa-signature-s
+
+ ;; conditions
+ #:ironclad-error #:initialization-vector-not-supplied
+ #:invalid-initialization-vector #:invalid-key-length
+ #:unsupported-cipher #:unsupported-mode #:unsupported-digest
+ #:insufficient-buffer-space #:invalid-padding
+ #:key-not-supplied
+
+ ;; utilities
+ #:ascii-string-to-byte-array #:byte-array-to-hex-string
+ #:octets-to-integer #:integer-to-octets #:expt-mod
+
+ ;; streams
+ #:make-octet-input-stream #:make-octet-output-stream
+ #:get-output-stream-octets
+
+ #:make-digesting-stream))