[Hardware] "success"
Dan Oetting
dan_oetting at qwest.net
Sat Oct 21 00:08:03 EDT 2006
On Oct 20, 2006, at 7:11 AM, gmeurice at dice.ucl.ac.be wrote:
> Talking about devices, if the biggest device you "can" (afford) work
> with is a Spartan3E, there is maximum 14.5 kSlices and 36 bRAMS.
>> From my point of view, it is not possible to fit a fully unrolled RC5
> core with such amount of slices. (or I will be very happy to know
> how!).
> For such kind of devices, a partially unrolled core should probably be
> the best solution (with let's say 3 key schedule stages and 1 decrypt
> stage).
You either need to compute the L[ ] values to feed into the first
round of each key schedule stage or save the S[ ] values for each
iteration between stages. You could generate the L[ ] values by
running your 3 stages through 3 passes with the same key to generate
and pass the required values. Alternatively, you could replicate the
early key schedule stages and feed them with the next 2 keys to be
processed. You would then have a total of 6 key schedule stages and 1
decrypt stage but only need 1 pass per key and no S[ ] storage. I
figure that's about a 40% savings.
If you then unroll the loop you get a pure logic cascade with no
storage requirements.
-- Dan Oetting
More information about the Hardware
mailing list