If you look at ECP::SimultaneousMultiply, it actually uses a mixture of
projective and affine coordinates to speed up the operation over a pure
projective implementation. It's basically a right to left sliding-window
exponentiation algorithm. We do the doublings in projective coordinates,
then switch to affine for the adds. I don't know if there's a paper that
describes all of the optimizations used.

On Thu, Jan 08, 2004 at 05:31:50PM +0100, [EMAIL PROTECTED] wrote:
> I have to estimate if it is possible to compute a signature with the
> algorithm ECDSA for the curve ANSI::secp128r1 on a 80C51 Microcontroller
> in about two seconds.
> 
> So I studied a little bit the implementation of this algorithm in
> crypto++ Version 5.1 and start now with some questions about these
> theme.
> 
> The class ECP contains the low level operation like point addition,
> point doubling and skalar multiplaction for elliptic curve over the
> field GF(p) with p a prime number.
> 
> The methods Add and Double of the class ECP operate with Points in
> affine coordinates as far as i interpret the C++ code correct. The
> implementation of these algorithm corespond to the specification P1363
> A.10.1. Would it be not more efficient to transform the points into
> projective coordinates?
> 
>  
> 
> The method ScalarMultiply calls the Method SilmultaneousMultiply which
> converts the point to projektive coordinates as much as I understood.
> The rest of the algorithm is not clear to me. 
> 
> Is there a reference to an algorithm which explains what happens in
> SimultaneousMultiply?
> 
>  
> 
>  
> 
>  
> 
>  
> 
> ------------------------------------------------------------------------
> ----
> 
> Stefan Berglas
> 
> MULTIPAY 
> 
> Terminal-Security
> 
> Hertistrasse 27
> 
> CH-8304 Wallisellen
> 
> Direktwahl : +41 (0) 1 832 95 47 Fax: +41(0) 1 446 81 21
> 
> E-Mail:  <mailto:[EMAIL PROTECTED]>
> [EMAIL PROTECTED] 
> 
> ------------------------------------------------------------------------
> ----
> 
>  
> 

Reply via email to