Hi Marc, The newest x86_64 RC4 code in OpenSSL(0.9.8-dev) will branch to different path according to different target platform. If target platform is EM64t, OpenSSL will use an "RC4_INT = unsigned char" version. This code is to replace that branch.
This piece of code has not only passed rc4test in OpenSSL but also been validated on Apache 2.0 + OpenSSL with stress test. Thanks Zou Nan hai > -----Original Message----- > From: Marc Bevand [mailto:[EMAIL PROTECTED] > Sent: Tuesday, April 05, 2005 2:22 PM > To: Zou, Nanhai > Cc: openssl-dev@openssl.org; Andy Polyakov > Subject: Re: RC4 optimize for em64t > > Zou, Nanhai wrote: > | <<rc4-x86_84.optimized.s>> Hi, > | Current OpenSSL (0.9.8-dev) rc4speed throughput on a Nocona > | (Em64t, b4bit) 3.6GHz is 272Mb/s, while this version of RC4 code can > | archive 536Mb/s in RC4Speed. > | > | ????Would you please review it? > > Your RC4 implementation seems to contain a bug: I tried to link your > RC4() function against one of my RC4 validation tool [1] and it does > not produce the expected output: > > $ ./rc4test > error calculating RC4 > output: 01 22 45 45 ab 86 cd ef 00 > expect: 75 b7 87 80 99 e0 c5 96 00 > error calculating RC4 > output: 00 01 00 22 22 2d 00 00 00 > expect: 74 94 c2 e7 10 4b 08 79 00 > [...] > > I assume your RC4() is a drop-in replacement for OpenSSL's RC4(), a > quick look at the source code seems to confirm this... Can you double- > check your code, please ? > > [1] http://etudiant.epita.fr/~bevand_m/papers/rc4-amd64.tar.bz2 > > -- > Marc Bevand http://epita.fr/~bevand_m > Computer Science School EPITA - System, Network and Security Dept. ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]