projects
/
oweals
/
openssl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1862dae
)
I've introduced a bug to i386 RC4 assembler, which would emerge with
author
Andy Polyakov
<appro@openssl.org>
Wed, 1 Dec 2004 15:28:18 +0000
(15:28 +0000)
committer
Andy Polyakov
<appro@openssl.org>
Wed, 1 Dec 2004 15:28:18 +0000
(15:28 +0000)
certain mix of calls to RC4 routine not covered by rc4test.c.
It's fixed now. In addition this patch inadvertently fixes minor
performance problem: in 0.9.7 context P4 was performing 12% slower
than the original implementation...
crypto/rc4/asm/rc4-586.pl
patch
|
blob
|
history
diff --git
a/crypto/rc4/asm/rc4-586.pl
b/crypto/rc4/asm/rc4-586.pl
index 07b2bc6fcdb9777ceef4a631ff846e97e4266426..d6e98f08117f1b580751d2c96db583e1eec85423 100644
(file)
--- a/
crypto/rc4/asm/rc4-586.pl
+++ b/
crypto/rc4/asm/rc4-586.pl
@@
-68,13
+68,13
@@
sub RC4_loop
# &mov( $tx, &DWP(0,$d,$x,4)) if $p < 0;
&add( &LB($y), &LB($tx));
- &inc( &LB($x)); # NEXT ROUND
&mov( $ty, &DWP(0,$d,$y,4));
# XXX
- &mov( &DWP(
-4,$d,$x,4),$ty); # AGI
+ &mov( &DWP(
0,$d,$x,4),$ty);
&add( $ty, $tx);
&mov( &DWP(0,$d,$y,4),$tx);
&and( $ty, 0xff);
+ &inc( &LB($x)); # NEXT ROUND
&mov( $tx, &DWP(0,$d,$x,4)) if $p < 1; # NEXT ROUND
&mov( $ty, &DWP(0,$d,$ty,4));