suavebenny has asked for the wisdom of the Perl Monks concerning the following question:

Hello, perlmonks!

I have a two-parter question about RC5 encryption. For starters, we know RC5 is parametrized on key size, block size, and a number of 'rounds'.

1) If I use the same key and same number of rounds, should the output ciphertext from the 32-bit RC5 = ciphertext from the 128-bit RC5? (my initial tests would lead me to think the answer to this one is 'no').

If 'no', then please read on to question two:

2) Does anybody know of any 128-bit implementations in Perl for RC5? The implementation at Crypt::RC5 (thanks, sifukurt, for writing that!) is only the 32-bit version of the algorithm, and the data I need to decrypt was done with 128.

Such is my dilemma.
Thanks for your help!

-SuaveBenny

Replies are listed 'Best First'.
Re: Crypt::RC5 128-bit?
by hardburn (Abbot) on Oct 21, 2003 at 20:55 UTC

    1) If I use the same key and same number of rounds, should the output ciphertext from the 32-bit RC5 = ciphertext from the 128-bit RC5?

    No. Even if it would come out the same after a single round, the 128-bit version probably goes through a lot more rounds than the 32-bit version.

    Does anybody know of any 128-bit implementations in Perl for RC5?

    Not sure on this. The Crypt::RC5 module has a few places in it that look like you could just do an s/32/128/g and s/31/127/g, but I would hesitate to try without having my copy of Applied Crypto nearby.

    ----
    I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
    -- Schemer

    :(){ :|:&};:

    Note: All code is untested, unless otherwise stated