anchor.diff:  
   ;; This is copied/ported from the C codes found here 
   ;; http://opensource.apple.com/source/Kerberos/Kerberos-62/KerberosFramework/Kerberos5/Sources/lib/crypto/nfold.c
  +;; this works
   (defun n-fold (octets n)
     "The horrific n-fold function as specifed in the rfc."
     (let ((inbytes (ash (* (length octets) 8) -3))
  
positive.code:     (let ((length (mod (length octets) 8)))
        (unless (zerop (mod length 8))
  	(setf octets (append octets (make-list (- 8 length) :initial-element 0)))))
      (format t "~X~%" octets)
      ;; remove most significant bit and reverse the bits
      (do ((%octets octets (nthcdr 8 %octets))
  	 (odd t (not odd)))
  
negative.code: 			     (if parityp 1 0)))))))
      ;; FIXME: if the key is "weak" or "semi-weak" then XOR with #xF0.
      ;; the definitions of weak/semi-weak can be found in the DES specification
  ;;    (format t "~X~%" key)
  
      (let ((enc (des-cbc key 
  			(make-array (length octets) 
  				    :element-type '(unsigned-byte 8)
  				    :initial-contents octets))))
    ;;    (format t "~X~%" (subseq enc (- (length enc) 8)))
        (setf key (subseq enc (- (length enc) 8)))
        (fix-parity key)
        key)))
      
  ;; salt:        "ATHENA.MIT.EDUraeburn"
  ;;                            415448454e412e4d49542e4544557261656275726e
  