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]

Reply via email to