Question: RC5 assembly code?

Peter Gutmann pgut001 at cs.auckland.ac.nz
Tue May 20 06:59:29 PDT 1997


>I have the source code for RC5 encryption algorithm, but it is in C, well it
>is still cool since it is "portable" but I am actually looking for a PowerPC
>assembly code for the same, or at least for the Key Expansion, Encryption and
>Decryption routines.
>
>The "formula" for RC5 is pretty interesting and looks like is made to be
>implemented in Assembler.
 
Not if it's x86 assembler.  On the Pentium each rotate uses 4-5 non-pairable
cycles, so rotates are very slow (each rotate is the equivalent of (in the best
case) 8-10 normal instructions, so the two rotates in an RC5 round are the
equivalent of 16-20 other instructions).  According to Intel shifts and rotates
have been optimised on the PPro so they're slight faster than on the P5, but I
haven't looked at the details yet.  I haven't tried to formulate the RC5 core
in asm yet (because of the patent - what good is it writing code which noone
can use?) but on Intel hardware it's certainly going to be a lot slower than it
looks (the much more complex CAST core is faster than just the rotates from the
RC5 core).  This is kind of unfortunate, because it's a nice algorithm.
 
Peter.
 







More information about the cypherpunks-legacy mailing list