anchor.diff:  (defvar *des-public-keys* nil
     "List of public keys for each client that may talk to the server.")
   
  -(defstruct des-key fullname key)
  +(defstruct des-key fullname key nickname)
   
   (defun add-des-public-key (fullname key)
     (push (make-des-key :fullname fullname
  
positive.code: ;; the verifier sent by the client
  (defxstruct authdes-verf-client ()
    (adv-timestamp (:varray* :octet)) ;; encrypted timestamp
    (adv-winverf (:array :octet 4))) ;; encrypted (window - 1)
  
  ;; the verifier sent by the server 
  (defxstruct authdes-verf-server ()
  
negative.code:   (let ((result (nibbles:make-octet-vector (length data))))
      (ironclad:decrypt cipher data result)
      result))
  
  (defun dh-encrypt-conversation-key (common-key conv-key)
    (let ((c (make-dh-cipher common-key)))
      (dh-encrypt c conv-key)))
  
  (defun dh-decrypt-conversation-key (common-key data)
    (let ((c (make-dh-cipher common-key)))
      (dh-decrypt c data)))
  
  (defun des-timestamp (&optional seconds useconds)
    "Time since midnight March 1st 1970"
  