[Hardware] RC5 algorithm

John L. Bass jbass at dmsd.com
Mon Dec 26 21:30:17 EST 2005


	Hi John
	Thanks for the very detailed reply.
	I unrolled the loops and enumerated the variables and came up with this 
	code. The only problem I'm having is right here:
	    L0 = 0x53030cc9;
	    L0 = ROTL(L0 + 0xbf0a8b1d, 0xbf0a8b1d);

	If I replace the L0 in the second line with 0x5303...., I get the wrong 
	answer out (still normal C compiled with gcc).

Hmm ... I'll look at this later ... but :)

Definately getting closer. For a full pipeline, every temp var will have to be unique.
You will notice from my older example, that the temps for S were numbered 26 thru 103:

                E0 = ROTL(E0 ^ E1, E1) + S96;
                S97 = ROTL3(S71 + S96 + L72);
                L73 = ROTL(L71 + S97 + L72, S97 + L72);
                E1 = ROTL(E0 ^ E1, E0) + S97;
                S98 = ROTL3(S72 + S97 + L73);
                L74 = ROTL(L72 + S98 + L73, S98 + L73);
                E0 = ROTL(E0 ^ E1, E1) + S98;
                S99 = ROTL3(S73 + S98 + L74);
                L75 = ROTL(L73 + S99 + L74, S99 + L74);
                E1 = ROTL(E0 ^ E1, E0) + S99;
                S100 = ROTL3(S74 + S99 + L75);
                L76 = ROTL(L74 + S100 + L75, S100 + L75);
                E0 = ROTL(E0 ^ E1, E1) + S100;
                S101 = ROTL3(S75 + S100 + L76);
                L77 = ROTL(L75 + S101 + L76, S101 + L76);
                E1 = ROTL(E0 ^ E1, E0) + S101;
                S102 = ROTL3(S76 + S101 + L77);
                L78 = ROTL(L76 + S102 + L77, S102 + L77);
                E0 = ROTL(E0 ^ E1, E1) + S102;
                S103 = ROTL3(S77 + S102 + L78);
                E1 = ROTL(E0 ^ E1, E0) + S103;

For a full pipeline with these reversed, the E's also need to be unique.
The lab machine that had this project on it last year got trashed, and it
doesn't look like it was archived first.

If I remember right, there had to be some swapping to get the RSA values
into the right bit format for the x86.

With not that many XC4VLX200's, the entire key rate of the existing dnet
community is matched or exceeded.

With energy costs soaring, the real question is why should we waste the
planets resources for RSA marketing.

Have fun,
John


More information about the Hardware mailing list