// Schnorr's Protocol 
  
 A, B :             principal    
 Na, Nb :           fresh number 
 Sa :               private key  
 Pa = exp(g,Sa) :   public key   
  
  
  
   A chooses Na and computes a = exp(g,Na)  
 1.   A -> B  :    a 
  
  B chooses Nb 
 2.   B -> A  :    Nb 
  
  A computes r = Na + Nb × Sa  
 3.   A -> B  :    r 
  
  B checks that exp(g, r) = a × exp(Pa,Nb) 
 // Security Protocols Open Repository 
 // http://www.lsv.ens-cachan.fr/spore 
   
-----------------------------------------------------------------------
  
   
              This document was translated from LaTeX by HeVeA
              (http://pauillac.inria.fr/~maranget/hevea/index.html).