[crypticl-cvs] CVS update: crypticl/src/aes.lisp crypticl/src/common.lisp crypticl/src/crypticl-package.lisp crypticl/src/des.lisp crypticl/src/diffie-hellman.lisp crypticl/src/dsa.lisp crypticl/src/idea.lisp crypticl/src/keygenerator.lisp crypticl/src/load.lisp crypticl/src/md5.lisp crypticl/src/numtheory.lisp crypticl/src/random.lisp crypticl/src/rsa.lisp crypticl/src/sha.lisp crypticl/src/test.lisp crypticl/src/utilities.lisp
Taale Skogan
tskogan at common-lisp.net
Sun Nov 7 00:17:47 UTC 2004
Update of /project/crypticl/cvsroot/crypticl/src
In directory common-lisp.net:/tmp/cvs-serv3642/src
Modified Files:
aes.lisp common.lisp crypticl-package.lisp des.lisp
diffie-hellman.lisp dsa.lisp idea.lisp keygenerator.lisp
load.lisp md5.lisp numtheory.lisp random.lisp rsa.lisp
sha.lisp test.lisp utilities.lisp
Log Message:
See ChangeLog for details.
Date: Sun Nov 7 01:17:38 2004
Author: tskogan
Index: crypticl/src/aes.lisp
diff -u crypticl/src/aes.lisp:1.1.1.1 crypticl/src/aes.lisp:1.2
--- crypticl/src/aes.lisp:1.1.1.1 Mon Sep 20 21:13:27 2004
+++ crypticl/src/aes.lisp Sun Nov 7 01:17:35 2004
@@ -1,5 +1,5 @@
;;;;-*-lisp-*-
-;;;; The CLC cryptographic library.
+;;;; The Crypticl cryptographic library.
;;;;
;;;; Description: AES
;;;; Author: Tåle Skogan <tasko at frisurf.no>
@@ -660,12 +660,12 @@
(error error-msg)))
-(defun aes-test-suite-CLOS ( &optional verbosity)
+(defun aes-test-suite-CLOS ()
(let* ((clear-org ;testing un-aligned, long data
- "00112233445566778899aabbccddeeff00112233445566778899aabbccdd")
- (key-org
+ "00112233445566778899aabbccddeeff00112233445566778899aabbccdd")
+ (key-org
"000102030405060708090a0b0c0d0e0f")
- (iv-org
+ (iv-org
"01010101010101010101010101010101")
(encrypted
"a9541c06f1c21125e44013531e18f40682ffe0983d47361887c2b1d2a0bdf077")
@@ -673,16 +673,12 @@
"a9541c06f1c21125e44013531e18f406")
(final-encrypted
"82ffe0983d47361887c2b1d2a0bdf077")
- (CLC-verbose *CLC-verbose*)
-
- (aa (make-AES))
- (tmp nil)
- (tmp2 nil)
- (clear (hexo clear-org))
- (key (hexo key-org))
+ (aa (make-AES))
+ (tmp nil)
+ (tmp2 nil)
+ (clear (hexo clear-org))
+ (key (hexo key-org))
(iv (hexo iv-org)))
-
- (setf *CLC-verbose* verbosity) ;Turn off debug msg
(format t "~&Testing AES CLOS...")
(formatv t "~&Clear text:~%~A" (hex clear))
@@ -717,7 +713,6 @@
(str-check (hex (concat tmp tmp2)) clear-org
"AES decryption update + encrypt")
- (setf *CLC-verbose* CLC-verbose) ;Restore verbosity level
(format t "OK.")))
@@ -736,26 +731,21 @@
(error "AES on FIPS 197 test vector"))
(format t "OK."))))
-(defun aes-test-suite-long (&optional verbosity)
+(defun aes-test-suite-long ()
"Testing long vector."
(let ((aa (make-AES))
(tmp nil)
(key (generate-key 'AES 128))
(iv #16(2))
- (clear #500(3))
- (CLC-verbose *CLC-verbose*))
-
- (setf *CLC-verbose* verbosity)
+ (clear #500(3)))
(format t "~&Testing AES long vector...")
-
(init-encrypt aa key :iv iv)
(setf tmp (encrypt aa clear))
(init-decrypt aa key :iv iv)
(setf tmp (decrypt aa tmp))
(assert (equalp tmp clear) ()
"AES long decryption and decryption")
- (format t "OK.")
- (setf *CLC-verbose* CLC-verbose))) ;Restore verbosity level))
+ (format t "OK.")))
(defun test-AES ()
(aes-test-suite-fips-197)
@@ -794,7 +784,8 @@
-
+(register-constructor 'AES #'make-AES)
+
Index: crypticl/src/common.lisp
diff -u crypticl/src/common.lisp:1.1.1.1 crypticl/src/common.lisp:1.2
--- crypticl/src/common.lisp:1.1.1.1 Mon Sep 20 21:13:28 2004
+++ crypticl/src/common.lisp Sun Nov 7 01:17:35 2004
@@ -1,5 +1,5 @@
;;;;-*-lisp-*-
-;;;; The CLC cryptographic library.
+;;;; The Crypticl cryptographic library.
;;;;
;;;; Description: Common functionality.
;;;; Author: Tåle Skogan <tasko at frisurf.no>
@@ -11,6 +11,10 @@
(in-package crypticl)
+(defun print-external-symbols ()
+ (do-external-symbols (symbl *package* nil)
+ (print symbl)))
+
(defclass Crypto ()
((algorithm :accessor algorithm
:initarg :algorithm))
@@ -46,33 +50,11 @@
"Common super class for all signature algorithms"))
-(defun make-Cipher-instance (algorithm)
- (cond
- ((string= algorithm "AES") (make-AES))
- ((string= algorithm "IDEA") (make-IDEA))
- (t (error "No such algorithm ~A" algorithm ))))
-
-
-(defun make-Hash-instance (algorithm)
- "Returns a hash object."
- (cond
- ((string= algorithm "SHA1") (make-SHA1))
- ((string= algorithm "MD5") (make-MD5))
- (t (error "No such algorithm ~A" algorithm ))))
-
-(defun make-Signature-instance (algorithm)
- "Returns a hash object."
- (cond
- ((string= algorithm "DSA") (make-DSA))
- (t (error "No such algorithm ~A" algorithm ))))
-
-
-
;; Designed for using symbols as keys. Use :test #'equal with strings.
(defparameter *constructor-table* (make-hash-table :test #'equal))
(defun register-constructor (algorithm constructor)
- "register on both string value and symbol value. To use symbol value from an external package, prefix with 'clc:, i.e. 'clc:AES"
+ "register on both string value and symbol value. To use symbol value from an external package, prefix with package name, i.e. 'crypticl:AES"
(setf (gethash algorithm *constructor-table*) constructor)
(setf (gethash (symbol-name algorithm)
*constructor-table*) constructor))
@@ -91,7 +73,7 @@
"Main function for getting new instances of an algorithm. "
(do ((fun (get-constructor algorithm) (get-constructor algorithm)))
(fun (apply fun '()))
- (restart-case (error "clc:new-instance: No such algorithm ~A implemented." algorithm)
+ (restart-case (error "new-instance: No such algorithm ~A implemented." algorithm)
(store-value (value)
:report "Try another algorithm."
:interactive (lambda ()
@@ -105,7 +87,7 @@
(defun load-algorithm (&optional (path "des.lisp"))
- "Dynamic loading of new algorithms. The protocol new code must follow is illustraded in the file CLC_des.lisp."
+ "Dynamic loading of new algorithms. The protocol new code must follow is illustraded in the file des.lisp."
(compile-file path)
(load path))
@@ -174,7 +156,7 @@
;;;;;;
;;; MD5
;; Included here to bypass compiler error when compiling the
-;; md5-function-ffgghhii macro in CLC_md5.lisp.
+;; md5-function-ffgghhii macro in md5.lisp.
(defparameter *random-sine-table*
(make-array 64
:element-type '(unsigned-byte 32)
@@ -306,11 +288,11 @@
;;;;;;
;;; DIV
-(defparameter *CLC-verbose* nil)
+(defparameter *verbose* nil)
(defun formatv (&rest args)
- "Handle arguments as format if *CLC-vervose is true"
- (when *CLC-verbose*
+ "Act as format if verbosity is set"
+ (when *verbose*
(apply #'format args)))
Index: crypticl/src/crypticl-package.lisp
diff -u crypticl/src/crypticl-package.lisp:1.1.1.1 crypticl/src/crypticl-package.lisp:1.2
--- crypticl/src/crypticl-package.lisp:1.1.1.1 Mon Sep 20 21:13:28 2004
+++ crypticl/src/crypticl-package.lisp Sun Nov 7 01:17:35 2004
@@ -56,16 +56,32 @@
print-external-symbols))
-(defun load-crypticl (&optional (location ""))
- "Load the crypticl library. Default location is the current directory."
- (let ((files '("load")))
+(in-package crypticl)
+
+(defun load-package (&optional (path "") (fast-load nil))
+ "Load library. Default src location is current directory. If fast-load is true, do quick load without recompiling and running unit tests."
+
+ (format t "Loading the Crypticl library...")
+ ;; NB! The order of the file names in the list matter.
+ (let ((files '("utilities"
+ "numtheory"
+ "common"
+ "sha" ;used by random
+ "random"
+ "keygenerator"
+ "md5" "aes" "idea" "dsa" "rsa" "diffie-hellman"
+ "test")))
(dolist (file files)
- (let ((module (concatenate 'string location file)))
- (compile-file-if-needed module)
+ (let ((module (concatenate 'string path file)))
+ (if fast-load
+ (excl::compile-file-if-needed module)
+ (compile-file module :verbose nil))
(load module)))
- (crypticl:load-package location)))
+ (unless fast-load
+ (run-tests))))
+
-(load-crypticl)
+(load-package)
Index: crypticl/src/des.lisp
diff -u crypticl/src/des.lisp:1.1.1.1 crypticl/src/des.lisp:1.2
--- crypticl/src/des.lisp:1.1.1.1 Mon Sep 20 21:13:28 2004
+++ crypticl/src/des.lisp Sun Nov 7 01:17:35 2004
@@ -1,12 +1,12 @@
;;;;-*-lisp-*-
-;;;; The CLC cryptographic library.
+;;;; The Crypticl cryptographic library.
;;;;
;;;; Description: A void DES implementation.
;;;; Author: Tåle Skogan <tasko at frisurf.no>
;;;; Distribution: See the accompanying file LICENSE.
;;; DES has not been implemented, but a DES class and some
-;;; empty functions are included for use when testing dynamic loading.
+;;; empty functions are included to test adding a new algorithm.
(in-package crypticl)
@@ -18,11 +18,9 @@
(make-instance 'DES))
(defmethod encrypt ((obj DES) &optional data (start 0) (end (length data)))
- (list data start end) ;avoiding compiler warning
- (format t "Entered DES encrypt"))
+ (declare (ignore start end)))
(defun register-des ()
(register-constructor 'DES #'make-DES))
-
(register-des)
Index: crypticl/src/diffie-hellman.lisp
diff -u crypticl/src/diffie-hellman.lisp:1.1.1.1 crypticl/src/diffie-hellman.lisp:1.2
--- crypticl/src/diffie-hellman.lisp:1.1.1.1 Mon Sep 20 21:13:29 2004
+++ crypticl/src/diffie-hellman.lisp Sun Nov 7 01:17:35 2004
@@ -1,5 +1,5 @@
;;;;-*-lisp-*-
-;;;; The CLC cryptographic library.
+;;;; The Crypticl cryptographic library.
;;;;
;;;; Description: Diffie-Hellman
;;;; Author: Tåle Skogan <tasko at frisurf.no>
@@ -57,6 +57,6 @@
(list s1 s2)))
-
+(register-constructor 'Diffie-Hellman #'make-Diffie-Hellman)
Index: crypticl/src/dsa.lisp
diff -u crypticl/src/dsa.lisp:1.1.1.1 crypticl/src/dsa.lisp:1.2
--- crypticl/src/dsa.lisp:1.1.1.1 Mon Sep 20 21:13:30 2004
+++ crypticl/src/dsa.lisp Sun Nov 7 01:17:35 2004
@@ -1,5 +1,5 @@
;;;;-*-lisp-*-
-;;;; The CLC cryptographic library.
+;;;; The Crypticl cryptographic library.
;;;;
;;;; Description: The Digital Signature Algorithm (DSA).
;;;; Author: Tåle Skogan <tasko at frisurf.no>
@@ -207,6 +207,83 @@
(return k)))))
+(defclass DSAPrivateKey (PrivateKey)
+ ((p :accessor p :initarg :p)
+ (q :accessor q :initarg :q)
+ (g :accessor g :initarg :g)
+ (x :accessor x :initarg :x)
+ (y :accessor y :initarg :y)))
+
+(defun make-DSAPrivateKey (p q g x y)
+ (make-instance 'DSAPrivateKey :p p :q q :g g :x x :y y :algorithm "DSA"))
+
+(defmethod string-rep ((obj DSAPrivateKey))
+ (format nil "~A ~A ~A ~A ~A" (p obj) (q obj) (g obj) (x obj) (y obj)))
+
+(defmethod print-object ((obj DSAPrivateKey) stream)
+ (format stream "<DSAPrivateKey>"))
+;; Long output
+;; (format stream "<DSAPrivateKey p=~A q=~A g=~A x=~A y=~A>" (p obj) (q obj) (g obj) (x obj) (y obj)))
+
+(defclass DSAPublicKey (PublicKey)
+ ((p :accessor p :initarg :p)
+ (q :accessor q :initarg :q)
+ (g :accessor g :initarg :g)
+ (y :accessor y :initarg :y)))
+
+(defun make-DSAPublicKey (p q g y)
+ (make-instance 'DSAPublicKey :p p :q q :g g :y y :algorithm "DSA"))
+
+(defun make-DSAPublicKey-from-encoding (encoding)
+ (let ((lst (construct-from-encoding encoding 'DSA)))
+ (make-instance 'DSAPublicKey
+ :p (first lst)
+ :q (second lst)
+ :g (third lst)
+ :y (fourth lst)
+ :algorithm "DSA")))
+
+(defun make-DSAPrivateKey-from-encoding (encoding)
+ (let ((lst (construct-from-encoding encoding 'DSA)))
+ (make-instance 'DSAPrivateKey
+ :p (first lst)
+ :q (second lst)
+ :g (third lst)
+ :x (fourth lst)
+ :y (fifth lst)
+ :algorithm "DSA")))
+
+(defmethod string-rep ((obj DSAPublicKey))
+ (format nil "~A ~A ~A ~A" (p obj) (q obj) (g obj) (y obj)))
+
+(defmethod print-object ((obj DSAPublicKey) stream)
+ (format stream "<DSAPublicKey>))"))
+
+;; Long output format
+;; (format stream "<DSAPublicKey p=~A q=~A g=~A y=~A>" (p obj) (q obj) (g obj) (y obj)))
+
+(defclass DSAKeyPair (KeyPair)
+ ())
+
+(defun make-DSAKeyPair (p q g x y)
+ (make-instance 'DSAKeyPair
+ :public (make-DSAPublicKey p q g y)
+ :private (make-DSAPrivateKey p q g x y)))
+
+(defun dsa-generate-keys ()
+ "Return a DSAKeyPair"
+ (format t "~&Generating DSA keys, this may take some time...")
+ (let ((alg (make-DSA :defaultp t)))
+ (make-DSAKeyPair (p alg) (q alg) (g alg) (x alg) (y alg))))
+
+(defmethod get-encoding ((obj DSAPublicKey))
+ (get-element-encodings (list (p obj) (q obj) (g obj) (y obj))))
+
+(defmethod get-encoding ((obj DSAPrivateKey))
+ (get-element-encodings (list (p obj) (q obj) (g obj) (x obj) (y obj))))
+
+
+
;;;;;;;
;;; Test suite
@@ -312,3 +389,4 @@
;;; (values p q)))
+(register-constructor 'DSA #'make-DSA)
\ No newline at end of file
Index: crypticl/src/idea.lisp
diff -u crypticl/src/idea.lisp:1.1.1.1 crypticl/src/idea.lisp:1.2
--- crypticl/src/idea.lisp:1.1.1.1 Mon Sep 20 21:13:33 2004
+++ crypticl/src/idea.lisp Sun Nov 7 01:17:35 2004
@@ -1,5 +1,5 @@
;;;;-*-lisp-*-
-;;;; The CLC cryptographic library.
+;;;; The Crypticl cryptographic library.
;;;;
;;;; Description: IDEA - International Data Encryption Algorithm
;;;; Author: Tåle Skogan <tasko at frisurf.no>
@@ -627,5 +627,5 @@
|#
-
+(register-constructor 'IDEA #'make-IDEA)
Index: crypticl/src/keygenerator.lisp
diff -u crypticl/src/keygenerator.lisp:1.1.1.1 crypticl/src/keygenerator.lisp:1.2
--- crypticl/src/keygenerator.lisp:1.1.1.1 Mon Sep 20 21:13:36 2004
+++ crypticl/src/keygenerator.lisp Sun Nov 7 01:17:35 2004
@@ -1,5 +1,5 @@
;;;;-*-lisp-*-
-;;;; The CLC cryptographic library.
+;;;; The Crypticl cryptographic library.
;;;;
;;;; Description: Key generation and key store.
;;;; Author: Tåle Skogan <tasko at frisurf.no>
@@ -24,7 +24,7 @@
())
(defmethod print-object ((obj SymmetricKey) stream)
- (format stream "<clc:SymmetricKey value:#X~A>" (hex (key obj))))
+ (format stream "<SymmetricKey value:#X~A>" (hex (key obj))))
(defclass AsymmetricKey (Key)
())
@@ -44,12 +44,6 @@
(defclass PrivateKey (AsymmetricKey)
())
-
-
-
-
-
-
(defclass Diffie-HellmanKey (Key)
((g :accessor g :initarg :g)
(p :accessor p :initarg :p)
@@ -86,87 +80,8 @@
(defmethod get-encoding ((obj Diffie-HellmanKey))
(get-element-encodings (list (g obj) (p obj))))
-
-
-
-
-(defclass DSAPrivateKey (PrivateKey)
- ((p :accessor p :initarg :p)
- (q :accessor q :initarg :q)
- (g :accessor g :initarg :g)
- (x :accessor x :initarg :x)
- (y :accessor y :initarg :y)))
-
-(defun make-DSAPrivateKey (p q g x y)
- (make-instance 'DSAPrivateKey :p p :q q :g g :x x :y y :algorithm "DSA"))
-
-(defmethod string-rep ((obj DSAPrivateKey))
- (format nil "~A ~A ~A ~A ~A" (p obj) (q obj) (g obj) (x obj) (y obj)))
-
-(defmethod print-object ((obj DSAPrivateKey) stream)
- (format stream "<clc:DSAPrivateKey>"))
-;; Long output
-;; (format stream "<clc:DSAPrivateKey p=~A q=~A g=~A x=~A y=~A>" (p obj) (q obj) (g obj) (x obj) (y obj)))
-
-(defclass DSAPublicKey (PublicKey)
- ((p :accessor p :initarg :p)
- (q :accessor q :initarg :q)
- (g :accessor g :initarg :g)
- (y :accessor y :initarg :y)))
-
-(defun make-DSAPublicKey (p q g y)
- (make-instance 'DSAPublicKey :p p :q q :g g :y y :algorithm "DSA"))
-
-(defun make-DSAPublicKey-from-encoding (encoding)
- (let ((lst (construct-from-encoding encoding 'DSA)))
- (make-instance 'DSAPublicKey
- :p (first lst)
- :q (second lst)
- :g (third lst)
- :y (fourth lst)
- :algorithm "DSA")))
-
-(defun make-DSAPrivateKey-from-encoding (encoding)
- (let ((lst (construct-from-encoding encoding 'DSA)))
- (make-instance 'DSAPrivateKey
- :p (first lst)
- :q (second lst)
- :g (third lst)
- :x (fourth lst)
- :y (fifth lst)
- :algorithm "DSA")))
-
-(defmethod string-rep ((obj DSAPublicKey))
- (format nil "~A ~A ~A ~A" (p obj) (q obj) (g obj) (y obj)))
-
-(defmethod print-object ((obj DSAPublicKey) stream)
- (format stream "<clc:DSAPublicKey>))"))
-;; Long output format
-;; (format stream "<clc:DSAPublicKey p=~A q=~A g=~A y=~A>" (p obj) (q obj) (g obj) (y obj)))
-
-(defclass DSAKeyPair (KeyPair)
- ())
-
-(defun make-DSAKeyPair (p q g x y)
- (make-instance 'DSAKeyPair
- :public (make-DSAPublicKey p q g y)
- :private (make-DSAPrivateKey p q g x y)))
-
-(defun dsa-generate-keys ()
- "Return a DSAKeyPair"
- (format t "~&Generating DSA keys, this may take some time...")
- (let ((alg (make-DSA :defaultp t)))
- (make-DSAKeyPair (p alg) (q alg) (g alg) (x alg) (y alg))))
-
-(defmethod get-encoding ((obj DSAPublicKey))
- (get-element-encodings (list (p obj) (q obj) (g obj) (y obj))))
-
-(defmethod get-encoding ((obj DSAPrivateKey))
- (get-element-encodings (list (p obj) (q obj) (g obj) (x obj) (y obj))))
-
-
(defclass RSAPublicKey (PublicKey)
((e :accessor e :initarg :e) ;public exponent
@@ -179,7 +94,7 @@
(format nil "~A ~A" (e obj) (n obj)))
(defmethod print-object ((obj RSAPublicKey) stream)
- (format stream "<clc:RSAPublicKey e=~A n=~A>" (e obj) (n obj)))
+ (format stream "<RSAPublicKey e=~A n=~A>" (e obj) (n obj)))
(defclass RSAPrivateKey (PrivateKey)
((d :accessor d :initarg :d) ;private exponent
@@ -206,7 +121,7 @@
(format nil "~A ~A" (d obj) (n obj)))
(defmethod print-object ((obj RSAPrivateKey) stream)
- (format stream "<clc:RSAPrivateKey d=~A n=~A>" (d obj) (n obj)))
+ (format stream "<RSAPrivateKey d=~A n=~A>" (d obj) (n obj)))
(defmethod get-encoding ((obj RSAPublicKey))
(get-element-encodings (list (e obj) (n obj))))
@@ -276,7 +191,7 @@
(make-DSAPrivateKey-from-encoding encoding))
((or (equal type 'Diffie-HellmanKey) (string= type "Diffie-Hellman"))
(make-Diffie-HellmanKey-from-encoding encoding))
- (t (error "clc:generate-key:Unknown algorithm=~S of type=~A"
+ (t (error "generate-key:Unknown algorithm=~S of type=~A"
type (type-of type)))))
((or (equal type 'AES) (string= type "AES"))
@@ -289,7 +204,7 @@
(dsa-generate-keys))
((or (equal type 'Diffie-Hellman) (string= type "Diffie-Hellman"))
(Diffie-Hellman-generate-key bitsize))
- (t (error "clc:generate-key:Cannot generate key of type ~A" type))))
+ (t (error "generate-key:Cannot generate key of type ~A" type))))
@@ -584,3 +499,11 @@
(get-public-keys obj user)))
+;; Register all key generators
+(register-key-generator 'AES #'aes-generate-key)
+(register-key-generator 'IDEA #'idea-generate-key)
+(register-key-generator 'RSA #'rsa-generate-keys)
+(register-key-generator 'DSA #'dsa-generate-keys)
+(register-key-generator 'Diffie-Hellman #'Diffie-Hellman-generate-key)
+
+(register-constructor 'KeyStore #'make-KeyStore)
\ No newline at end of file
Index: crypticl/src/load.lisp
diff -u crypticl/src/load.lisp:1.1.1.1 crypticl/src/load.lisp:1.2
--- crypticl/src/load.lisp:1.1.1.1 Mon Sep 20 21:13:37 2004
+++ crypticl/src/load.lisp Sun Nov 7 01:17:35 2004
@@ -8,69 +8,16 @@
;;TO DO
-(in-package crypticl)
-
-(defun load-package (&optional (prefix ""))
- "Load library. Default src location is current directory."
- (format t "Compiling, loading and testing the Crypticl library...")
- ;; NB! The order of the file names in the list matter.
- (let ((files '("utilities"
- "numtheory"
- "common"
- "sha" ;used by random
- "random"
- "keygenerator"
- "md5" "aes" "idea" "rsa" "dsa" "diffie-hellman"
- "test")))
- (dolist (file files)
- (let ((module (concatenate 'string prefix file)))
- (compile-file module)
- (load module)))
-
- (test-CLC)
-
- (register-CLC-constructors)
- (register-CLC-key-generators)))
-
-(defun fast-load-package (&optional (prefix ""))
- "Note that the order of the file names in the list 'files' matter. Loads without recompiling and testing."
- (format t "Fast loading the Crypticl library...")
- (let ((files '("utilities"
- "numtheory"
- "common"
- "sha" ;used by random
- "random"
- "keygenerator"
- "md5" "aes" "idea" "rsa" "dsa" "Diffie-Hellman"
- "test")))
- (dolist (file files)
- (let ((module (concatenate 'string prefix file)))
- (excl::compile-file-if-needed module)
- (load module)))
- (register-CLC-constructors)
- (register-CLC-key-generators)))
-;; Register constructors
-(defun register-CLC-constructors ()
- (register-constructor 'SHA1 #'make-SHA1)
- (register-constructor 'MD5 #'make-MD5)
- (register-constructor 'AES #'make-AES)
- (register-constructor 'IDEA #'make-IDEA)
- (register-constructor 'DSA #'make-DSA)
- (register-constructor 'RSA #'make-RSA)
- (register-constructor 'SHA1withRSA #'make-SHA1withRSA)
- (register-constructor 'KeyStore #'make-KeyStore)
- (register-constructor 'Diffie-Hellman #'make-Diffie-Hellman))
-;; Register key generators
-(defun register-CLC-key-generators ()
- (register-key-generator 'AES #'aes-generate-key)
- (register-key-generator 'IDEA #'idea-generate-key)
- (register-key-generator 'RSA #'rsa-generate-keys)
- (register-key-generator 'DSA #'dsa-generate-keys)
- (register-key-generator 'Diffie-Hellman #'Diffie-Hellman-generate-key))
+
+
+
+
+
+
+
+
-(defun print-external-symbols ()
- (do-external-symbols (s 'clc nil) (print s)))
\ No newline at end of file
Index: crypticl/src/md5.lisp
diff -u crypticl/src/md5.lisp:1.1.1.1 crypticl/src/md5.lisp:1.2
--- crypticl/src/md5.lisp:1.1.1.1 Mon Sep 20 21:13:39 2004
+++ crypticl/src/md5.lisp Sun Nov 7 01:17:35 2004
@@ -1,5 +1,5 @@
;;;;-*-lisp-*-
-;;;; The CLC cryptographic library.
+;;;; The Crypticl cryptographic library.
;;;;
;;;; Description: The RSA MD5 message digest algorithm from Internet RFC 1321.
;;;; Author: Tåle Skogan <tasko at frisurf.no>
@@ -40,7 +40,7 @@
;;;;;;;
;;; Low level MD5 functions
-;; Also included in CLC_common.lisp to bypass compiler error when compiling
+;; Also included in common.lisp to bypass compiler error when compiling
;; the md5-function-ffgghhii macro.
(unless (boundp '*random-sine-table*)
@@ -447,3 +447,6 @@
(md5-test
'MD5/long
(list (list #9999(2) "a373b18167a1abd419ed333afec8ea32"))))
+
+
+(register-constructor 'MD5 #'make-MD5)
\ No newline at end of file
Index: crypticl/src/numtheory.lisp
diff -u crypticl/src/numtheory.lisp:1.1.1.1 crypticl/src/numtheory.lisp:1.2
--- crypticl/src/numtheory.lisp:1.1.1.1 Mon Sep 20 21:13:40 2004
+++ crypticl/src/numtheory.lisp Sun Nov 7 01:17:35 2004
@@ -1,5 +1,5 @@
;;;;-*-lisp-*-
-;;;; The CLC cryptographic library.
+;;;; The Crypticl cryptographic library.
;;;;
;;;; Description: Number theoretic utilities, including primality testing.
;;;; Author: Tåle Skogan <tasko at frisurf.no>
Index: crypticl/src/random.lisp
diff -u crypticl/src/random.lisp:1.1.1.1 crypticl/src/random.lisp:1.2
--- crypticl/src/random.lisp:1.1.1.1 Mon Sep 20 21:13:41 2004
+++ crypticl/src/random.lisp Sun Nov 7 01:17:35 2004
@@ -1,5 +1,5 @@
;;;;-*-lisp-*-
-;;;; The CLC cryptographic library.
+;;;; The Crypticl cryptographic library.
;;;;
;;;; Description: Pseudo random number generation.
;;;; Author: Tåle Skogan <tasko at frisurf.no>
Index: crypticl/src/rsa.lisp
diff -u crypticl/src/rsa.lisp:1.1.1.1 crypticl/src/rsa.lisp:1.2
--- crypticl/src/rsa.lisp:1.1.1.1 Mon Sep 20 21:13:44 2004
+++ crypticl/src/rsa.lisp Sun Nov 7 01:17:35 2004
@@ -1,5 +1,5 @@
;;;;-*-lisp-*-
-;;;; The CLC cryptographic library.
+;;;; The Crypticl cryptographic library.
;;;;
;;;; Description: RSA encryption/decryption according to PKCS#1
;;;; Author: Tåle Skogan <tasko at frisurf.no>
@@ -153,14 +153,14 @@
(defmethod init-encrypt ((obj RSA) key &key mode iv padding)
"mode, iv and padding are only included for conformity with other Cipher objects and are not used."
(when (or mode iv padding)
- (warn "clc:Using mode(~A)/iv(~A)/padding(~A) makes no sense for RSA encrypt. These options will be ignored."
+ (warn "Using mode(~A)/iv(~A)/padding(~A) makes no sense for RSA encrypt. These options will be ignored."
mode iv padding))
(init obj key :encryptp t ))
(defmethod init-decrypt ((obj RSA) key &key mode iv padding)
"mode, iv and padding are only included for conformity with other Cipher objects and are not used."
(when (or mode iv padding)
- (warn "clc:Using mode(~A)/iv(~A)/padding(~A) makes no sense for RSA decrypt. These options will be ignored."
+ (warn "Using mode(~A)/iv(~A)/padding(~A) makes no sense for RSA decrypt. These options will be ignored."
mode iv padding))
(init obj key :encryptp nil))
@@ -418,3 +418,7 @@
(test prime1 exponent)
(test prime2 exponent))
result))
+
+
+(register-constructor 'RSA #'make-RSA)
+(register-constructor 'SHA1withRSA #'make-SHA1withRSA)
\ No newline at end of file
Index: crypticl/src/sha.lisp
diff -u crypticl/src/sha.lisp:1.1.1.1 crypticl/src/sha.lisp:1.2
--- crypticl/src/sha.lisp:1.1.1.1 Mon Sep 20 21:13:46 2004
+++ crypticl/src/sha.lisp Sun Nov 7 01:17:35 2004
@@ -1,5 +1,5 @@
;;;;-*-lisp-*-
-;;;; The CLC cryptographic library.
+;;;; The Crypticl cryptographic library.
;;;;
;;;; Description: The SHA-1 message digest algorithm.
;;;; Author: Tåle Skogan <tasko at frisurf.no>
@@ -398,3 +398,6 @@
"f4c046625d9c6672e0356bbe0ed5cd93adfa924b") ()
"sha1 test for long test vector 200000.")
(format t "Done testing long vector.~%"))))
+
+
+(register-constructor 'SHA1 #'make-SHA1)
\ No newline at end of file
Index: crypticl/src/test.lisp
diff -u crypticl/src/test.lisp:1.1.1.1 crypticl/src/test.lisp:1.2
--- crypticl/src/test.lisp:1.1.1.1 Mon Sep 20 21:13:46 2004
+++ crypticl/src/test.lisp Sun Nov 7 01:17:35 2004
@@ -1,5 +1,5 @@
;;;;-*-lisp-*-
-;;;; The CLC cryptographic library.
+;;;; The Crypticl cryptographic library.
;;;;
;;;; Description: Test code for the library.
;;;; Author: Tåle Skogan <tasko at frisurf.no>
@@ -7,7 +7,7 @@
(in-package crypticl)
-(defun test-dynamic-load (&key keystore (path "CLC_des.lisp"))
+(defun test-dynamic-load (&key keystore (path "des.lisp"))
"Testing dynamic loading of new algorithms."
(let ((ks (or keystore (new-instance 'KeyStore)))
(dsa (new-instance 'DSA))
@@ -47,7 +47,7 @@
(format t "Bad signature for file ~A, aborting load." path))))
-(defun test-CLC ()
+(defun run-tests()
(test-SHA1)
(test-MD5)
(test-AES)
Index: crypticl/src/utilities.lisp
diff -u crypticl/src/utilities.lisp:1.1.1.1 crypticl/src/utilities.lisp:1.2
--- crypticl/src/utilities.lisp:1.1.1.1 Mon Sep 20 21:13:47 2004
+++ crypticl/src/utilities.lisp Sun Nov 7 01:17:35 2004
@@ -1,5 +1,5 @@
;;;;-*-lisp-*-
-;;;; The CLC cryptographic library.
+;;;; The Crypticl cryptographic library.
;;;;
;;;; Description: Non-cryptopgrahic utilities
;;;; Author: Tåle Skogan <tasko at frisurf.no>
More information about the Crypticl-cvs
mailing list