anchor.diff:      (ed25519-verify signature (subseq message start end) pk)))
   
   (defmethod generate-key-pair ((kind (eql :ed25519)) &key &allow-other-keys)
  -  (let* ((prng (or *prng* (ironclad:make-prng :fortuna :seed :random)))
  -         (sk (ironclad:random-data (/ +ed25519-bits+ 8) prng)))
  +  (let* ((prng (or *prng* (make-prng :fortuna :seed :random)))
  +         (sk (random-data (/ +ed25519-bits+ 8) prng)))
       (setf (ldb (byte 3 0) (elt sk 0)) 0)
       (setf (ldb (byte 2 6) (elt sk (- (/ +ed25519-bits+ 8) 1))) 1)
       (let ((pk (ed25519-public-key sk)))
  
positive.code:     (cons (mod x2 +ed25519-q+) (mod y2 +ed25519-q+))))
  
  (defun ed25519-edwards-add (p q)
    (declare (optimize (speed 3) (safety 0) (space 0) (debug 0)))
    (let* ((x1 (car p))
           (y1 (cdr p))
  
negative.code:     (produce-digest digest)))
  
  (defun ed25519-public-key (sk)
    "Compute the public key associated to the private key SK."
    (let ((h (ed25519-hash sk)))
      (setf h (subseq h 0 (/ +ed25519-bits+ 8)))
      (setf (ldb (byte 3 0) (elt h 0)) 0)
  