|
Message
From: Steven R. McQueen<srmcqueen@m...>
Date: Sun Nov 27 21:08:30 CET 2005
Subject: [oc] Exponential
On Sun, 2005-11-27 at 16:59 +0100, oceanfrea@h... wrote: > > ----- Original Message ----- > From: Steven R. McQueen<srmcqueen@m...> > To: > Date: Fri Nov 25 19:05:18 CET 2005 > Subject: [oc] Exponential > > > For positive integer exponents, and very large numbers, the > > BasicRSA > > project implements a square-and-multiply algorithm for modular > > exponentiation. It uses two copies of a shift-and-add multiplier, > > one to > > do modular squares, and one to do modular multiplication of > > dissimilar > > numbers. You have to do a square for every bit position in the > > exponent, > > and multiply the square by the result of the multiplication (hint, > > start > > with 1) every time the exponent bit position is 1. > > Testing can be a real pain, since you have to calculate all the > > exponents used in your test set and compare the correct results > > with > > whatever your core produces. I don't know a shortcut for that. > > -- > > Steven R. McQueen > > Phone: (951) 809-3232 > > Email: srmcqueen at mcqueentech.com > > Web: www.mcqueentech.com > > On Fri, 2005-11-25 at 17:23 +0100, oceanfrea at hotmail.com wrote: > > > Hi, I would like to ask if anyone implement exponential > > calculation in > > > vhdl and how to go about doing the algorithm. Most > > importantly, how to > > > test the algorithm if it is working properly. Thanks. > > > _______________________________________________ > > > http://www.opencores.org/mailman/listinfo/cores > > > > what about negative integer exponents? Can I implement the same > stuff as you had mentioned? > _______________________________________________
NO! Negative exponents, and real exponents, are floating point operations requiring techniques from your calculus or differential equations class. If you didn't keep the book(s), get a copy! You will probably not use it much, but when you need it, it will be essential.
The RSA algorithm is concerned only with positive integers, and can take some special case shortcuts.
Steve
|
 |