[rc5] Question for beginner

Eric Gindrup gindrup at okway.okstate.edu
Fri Oct 24 12:53:09 EDT 1997


        I see that your question of how much larger the keyspace is has 
     been adequately answered.  But your question about the algorithm 
     hasn't been deeply responded to.
        The just finished contest has the full name RC5-32/12/7 and the new 
     RC5-64 has the full name RC5-32/12/8.  The number of key bits is 
     determined by multiplying the last number in the set of three by 
     eight.  So, 7*8 = 56 for the previous effort and 8*8 = 64 for the 
     current effort.  The other two numbers are (first) "word size" and 
     (second) "rounds".
        RC5 decryption occurs in a couple of stages.
     1.  Expand the key into a bunch of pieces, 2 for each round plus 2 
     more.
     2.  Do some scrambling of the ciphertext for each round using the 
     pieces from step 1 in pairs.  (this is why you need twice as many 
     pieces)  Then do a little (irrelevant) scrambling one last time (thus 
     using the "plus 2" last pieces).
     
        Step 1 is pretty straightforward and should only require recoding 
     when the number of bits in the key gets larger than whatever processor 
     register is being used to hold those values.  So the jump from 56 to 
     64 bit keys won't change this much.  Beyond 64 bit keys will probably 
     require a signficant speed hit as pieces of the key will have the be 
     swapped into and out of the processor...
        Step 2 is similar for different key lengths, but some 
     implementations represent the 32bit words as a collection of little 
     pieces and perform operations on each piece separately.  So, if you 
     increase the number of pieces, you have to perform more (of the same) 
     operations on the new pieces.
     
        Strictly, the changes are relatively straightforward on a clean 
     implementation.  Highly optimized implementations may be very 
     difficult to modify in this way.  This is especially true since most 
     of the changes are of the "do what you've been doing just one more 
     time" sort.  That these changes aren't *very* drastic is evinced by 
     the rapidity with which the 56bit clients were refitted to handle 
     64bit keys.
     
        Abstractly, the algorithm has only changed in one parameter: the 
     key length.  And that parameter doesn't affect the abstract algorithm, 
     only its implementatino on real hardware.
     
        I'm sort of curious if the new clients post about 88% performance 
     of the old clients (in keys/sec) due the the 7/8 utility multiplier...
            -- Eric Gindrup ! gindrup at Okway.okstate.edu


______________________________ Reply Separator _________________________________
Subject: [rc5] Question for beginner 
Author:  <rc5 at llamas.net > at SMTP
Date:    10/24/97 1:41 AM


Ok, here is my question. What is changing from moving from the 56 bit 
key to the
64?
I know the keyspace expands a lot -how much, really?
But then the algorithm remains the same isn't it? Why we need new 
clients?
     
Thanks a lot, Harris
----
To unsubscribe, send email to majordomo at llamas.net with 'unsubscribe rc5' in the
body.
     


----
To unsubscribe, send email to majordomo at llamas.net with 'unsubscribe rc5' in the body.



More information about the rc5 mailing list