Loading CHANGES +5 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,11 @@ Changes between 0.9.8e and 0.9.8f-fips [xx XXX xxxx] *) Add SSE2 instruction support to WIN32 build. These will be compiled by default and used it an appopriate CPU is detected. Some older versions of NASM or MASM which don't support SSE2 will need to be updated. [Steve Henson] *) Tolerate DigestInfo structure with absent parameters in FIPS mode (as required by several standards). [Steve Henson] Loading crypto/perlasm/x86ms.pl +8 −10 Original line number Diff line number Diff line Loading @@ -204,16 +204,17 @@ sub main'pand { &out2("pand",@_); } sub out2 { local($name,$p1,$p2)=@_; local($l,$t); local($l,$t,$line); push(@out,"\t$name\t"); $line="\t$name\t"; $t=&conv($p1).","; $l=length($t); push(@out,$t); $line.="$t"; $l=4-($l+9)/8; push(@out,"\t" x $l); push(@out,&conv($p2)); push(@out,"\n"); $line.="\t" x $l; $line.=&conv($p2); if ($line=~/\bxmm[0-7]\b/i) { $line=~s/\b[A-Z]+WORD\s+PTR/XMMWORD PTR/i; } push(@out,$line."\n"); } sub out0 Loading Loading @@ -338,12 +339,9 @@ EOF sub main'file_end { # try to detect if SSE2 or MMX extensions were used... if (grep {/xmm[0-7]\s*,/i} @out) { if (grep {/\b[x]?mm[0-7]\b,/i} @out) { grep {s/\.[3-7]86/\.686\n\t\.XMM/} @out; } elsif (grep {/mm[0-7]\s*,/i} @out) { grep {s/\.[3-7]86/\.686\n\t\.MMX/} @out; } push(@out,"_TEXT\$ ENDS\n"); push(@out,"END\n"); } Loading crypto/rc4/rc4_skey.c +5 −0 Original line number Diff line number Diff line Loading @@ -128,7 +128,12 @@ FIPS_NON_FIPS_VCIPHER_Init(RC4) * module... * <appro@fy.chalmers.se> */ #ifdef OPENSSL_FIPS unsigned long *ia32cap_ptr = OPENSSL_ia32cap_loc(); if (ia32cap_ptr && (*ia32cap_ptr & (1<<28))) { #else if (OPENSSL_ia32cap_P & (1<<28)) { #endif unsigned char *cp=(unsigned char *)d; for (i=0;i<256;i++) cp[i]=i; Loading ms/do_masm.bat +20 −11 Original line number Diff line number Diff line @echo off SET ASMOPTS=-DOPENSSL_IA32_SSE2 echo Generating x86 for MASM assember echo Bignum cd crypto\bn\asm perl x86.pl win32 > bn_win32.asm perl bn-586.pl win32 %ASMOPTS% > bn_win32.asm perl co-586.pl win32 %ASMOPTS% > co_win32.asm cd ..\..\.. echo AES cd crypto\aes\asm perl aes-586.pl win32 > a_win32.asm perl aes-586.pl win32 %ASMOPTS% > a_win32.asm cd ..\..\.. echo DES cd crypto\des\asm perl des-586.pl win32 > d_win32.asm perl des-586.pl win32 %ASMOPTS% > d_win32.asm cd ..\..\.. echo "crypt(3)" cd crypto\des\asm perl crypt586.pl win32 > y_win32.asm perl crypt586.pl win32 %ASMOPTS% > y_win32.asm cd ..\..\.. echo Blowfish cd crypto\bf\asm perl bf-586.pl win32 > b_win32.asm perl bf-586.pl win32 %ASMOPTS% > b_win32.asm cd ..\..\.. echo CAST5 cd crypto\cast\asm perl cast-586.pl win32 > c_win32.asm perl cast-586.pl win32 %ASMOPTS% > c_win32.asm cd ..\..\.. echo RC4 cd crypto\rc4\asm perl rc4-586.pl win32 > r4_win32.asm perl rc4-586.pl win32 %ASMOPTS% > r4_win32.asm cd ..\..\.. echo MD5 cd crypto\md5\asm perl md5-586.pl win32 > m5_win32.asm perl md5-586.pl win32 %ASMOPTS% > m5_win32.asm cd ..\..\.. echo SHA1 cd crypto\sha\asm perl sha1-586.pl win32 > s1_win32.asm perl sha1-586.pl win32 %ASMOPTS% > s1_win32.asm perl sha512-sse2.pl win32 %ASMOPTS% > sha512-sse2.asm cd ..\..\.. echo RIPEMD160 cd crypto\ripemd\asm perl rmd-586.pl win32 > rm_win32.asm perl rmd-586.pl win32 %ASMOPTS% > rm_win32.asm cd ..\..\.. echo RC5\32 cd crypto\rc5\asm perl rc5-586.pl win32 > r5_win32.asm perl rc5-586.pl win32 %ASMOPTS% > r5_win32.asm cd ..\..\.. echo CPU-ID cd crypto perl x86cpuid.pl win32 %ASMOPTS% > cpu_win32.asm cd .. echo on perl util\mkfiles.pl >MINFO Loading ms/do_nasm.bat +20 −11 Original line number Diff line number Diff line @echo off SET ASMOPTS=-DOPENSSL_IA32_SSE2 echo Generating x86 for NASM assember echo Bignum cd crypto\bn\asm perl x86.pl win32n > bn_win32.asm perl bn-586.pl win32n %ASMOPTS% > bn_win32.asm perl co-586.pl win32n %ASMOPTS% > co_win32.asm cd ..\..\.. echo AES cd crypto\aes\asm perl aes-586.pl win32n > a_win32.asm perl aes-586.pl win32n %ASMOPTS% > a_win32.asm cd ..\..\.. echo DES cd crypto\des\asm perl des-586.pl win32n > d_win32.asm perl des-586.pl win32n %ASMOPTS% > d_win32.asm cd ..\..\.. echo "crypt(3)" cd crypto\des\asm perl crypt586.pl win32n > y_win32.asm perl crypt586.pl win32n %ASMOPTS% > y_win32.asm cd ..\..\.. echo Blowfish cd crypto\bf\asm perl bf-586.pl win32n > b_win32.asm perl bf-586.pl win32n %ASMOPTS% > b_win32.asm cd ..\..\.. echo CAST5 cd crypto\cast\asm perl cast-586.pl win32n > c_win32.asm perl cast-586.pl win32n %ASMOPTS% > c_win32.asm cd ..\..\.. echo RC4 cd crypto\rc4\asm perl rc4-586.pl win32n > r4_win32.asm perl rc4-586.pl win32n %ASMOPTS% > r4_win32.asm cd ..\..\.. echo MD5 cd crypto\md5\asm perl md5-586.pl win32n > m5_win32.asm perl md5-586.pl win32n %ASMOPTS% > m5_win32.asm cd ..\..\.. echo SHA1 cd crypto\sha\asm perl sha1-586.pl win32n > s1_win32.asm perl sha1-586.pl win32n %ASMOPTS% > s1_win32.asm perl sha512-sse2.pl win32n %ASMOPTS% > sha512-sse2.asm cd ..\..\.. echo RIPEMD160 cd crypto\ripemd\asm perl rmd-586.pl win32n > rm_win32.asm perl rmd-586.pl win32n %ASMOPTS% > rm_win32.asm cd ..\..\.. echo RC5\32 cd crypto\rc5\asm perl rc5-586.pl win32n > r5_win32.asm perl rc5-586.pl win32n %ASMOPTS% > r5_win32.asm cd ..\..\.. echo CPU-ID cd crypto perl x86cpuid.pl win32n %ASMOPTS% > cpu_win32.asm cd .. echo on perl util\mkfiles.pl >MINFO Loading Loading
CHANGES +5 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,11 @@ Changes between 0.9.8e and 0.9.8f-fips [xx XXX xxxx] *) Add SSE2 instruction support to WIN32 build. These will be compiled by default and used it an appopriate CPU is detected. Some older versions of NASM or MASM which don't support SSE2 will need to be updated. [Steve Henson] *) Tolerate DigestInfo structure with absent parameters in FIPS mode (as required by several standards). [Steve Henson] Loading
crypto/perlasm/x86ms.pl +8 −10 Original line number Diff line number Diff line Loading @@ -204,16 +204,17 @@ sub main'pand { &out2("pand",@_); } sub out2 { local($name,$p1,$p2)=@_; local($l,$t); local($l,$t,$line); push(@out,"\t$name\t"); $line="\t$name\t"; $t=&conv($p1).","; $l=length($t); push(@out,$t); $line.="$t"; $l=4-($l+9)/8; push(@out,"\t" x $l); push(@out,&conv($p2)); push(@out,"\n"); $line.="\t" x $l; $line.=&conv($p2); if ($line=~/\bxmm[0-7]\b/i) { $line=~s/\b[A-Z]+WORD\s+PTR/XMMWORD PTR/i; } push(@out,$line."\n"); } sub out0 Loading Loading @@ -338,12 +339,9 @@ EOF sub main'file_end { # try to detect if SSE2 or MMX extensions were used... if (grep {/xmm[0-7]\s*,/i} @out) { if (grep {/\b[x]?mm[0-7]\b,/i} @out) { grep {s/\.[3-7]86/\.686\n\t\.XMM/} @out; } elsif (grep {/mm[0-7]\s*,/i} @out) { grep {s/\.[3-7]86/\.686\n\t\.MMX/} @out; } push(@out,"_TEXT\$ ENDS\n"); push(@out,"END\n"); } Loading
crypto/rc4/rc4_skey.c +5 −0 Original line number Diff line number Diff line Loading @@ -128,7 +128,12 @@ FIPS_NON_FIPS_VCIPHER_Init(RC4) * module... * <appro@fy.chalmers.se> */ #ifdef OPENSSL_FIPS unsigned long *ia32cap_ptr = OPENSSL_ia32cap_loc(); if (ia32cap_ptr && (*ia32cap_ptr & (1<<28))) { #else if (OPENSSL_ia32cap_P & (1<<28)) { #endif unsigned char *cp=(unsigned char *)d; for (i=0;i<256;i++) cp[i]=i; Loading
ms/do_masm.bat +20 −11 Original line number Diff line number Diff line @echo off SET ASMOPTS=-DOPENSSL_IA32_SSE2 echo Generating x86 for MASM assember echo Bignum cd crypto\bn\asm perl x86.pl win32 > bn_win32.asm perl bn-586.pl win32 %ASMOPTS% > bn_win32.asm perl co-586.pl win32 %ASMOPTS% > co_win32.asm cd ..\..\.. echo AES cd crypto\aes\asm perl aes-586.pl win32 > a_win32.asm perl aes-586.pl win32 %ASMOPTS% > a_win32.asm cd ..\..\.. echo DES cd crypto\des\asm perl des-586.pl win32 > d_win32.asm perl des-586.pl win32 %ASMOPTS% > d_win32.asm cd ..\..\.. echo "crypt(3)" cd crypto\des\asm perl crypt586.pl win32 > y_win32.asm perl crypt586.pl win32 %ASMOPTS% > y_win32.asm cd ..\..\.. echo Blowfish cd crypto\bf\asm perl bf-586.pl win32 > b_win32.asm perl bf-586.pl win32 %ASMOPTS% > b_win32.asm cd ..\..\.. echo CAST5 cd crypto\cast\asm perl cast-586.pl win32 > c_win32.asm perl cast-586.pl win32 %ASMOPTS% > c_win32.asm cd ..\..\.. echo RC4 cd crypto\rc4\asm perl rc4-586.pl win32 > r4_win32.asm perl rc4-586.pl win32 %ASMOPTS% > r4_win32.asm cd ..\..\.. echo MD5 cd crypto\md5\asm perl md5-586.pl win32 > m5_win32.asm perl md5-586.pl win32 %ASMOPTS% > m5_win32.asm cd ..\..\.. echo SHA1 cd crypto\sha\asm perl sha1-586.pl win32 > s1_win32.asm perl sha1-586.pl win32 %ASMOPTS% > s1_win32.asm perl sha512-sse2.pl win32 %ASMOPTS% > sha512-sse2.asm cd ..\..\.. echo RIPEMD160 cd crypto\ripemd\asm perl rmd-586.pl win32 > rm_win32.asm perl rmd-586.pl win32 %ASMOPTS% > rm_win32.asm cd ..\..\.. echo RC5\32 cd crypto\rc5\asm perl rc5-586.pl win32 > r5_win32.asm perl rc5-586.pl win32 %ASMOPTS% > r5_win32.asm cd ..\..\.. echo CPU-ID cd crypto perl x86cpuid.pl win32 %ASMOPTS% > cpu_win32.asm cd .. echo on perl util\mkfiles.pl >MINFO Loading
ms/do_nasm.bat +20 −11 Original line number Diff line number Diff line @echo off SET ASMOPTS=-DOPENSSL_IA32_SSE2 echo Generating x86 for NASM assember echo Bignum cd crypto\bn\asm perl x86.pl win32n > bn_win32.asm perl bn-586.pl win32n %ASMOPTS% > bn_win32.asm perl co-586.pl win32n %ASMOPTS% > co_win32.asm cd ..\..\.. echo AES cd crypto\aes\asm perl aes-586.pl win32n > a_win32.asm perl aes-586.pl win32n %ASMOPTS% > a_win32.asm cd ..\..\.. echo DES cd crypto\des\asm perl des-586.pl win32n > d_win32.asm perl des-586.pl win32n %ASMOPTS% > d_win32.asm cd ..\..\.. echo "crypt(3)" cd crypto\des\asm perl crypt586.pl win32n > y_win32.asm perl crypt586.pl win32n %ASMOPTS% > y_win32.asm cd ..\..\.. echo Blowfish cd crypto\bf\asm perl bf-586.pl win32n > b_win32.asm perl bf-586.pl win32n %ASMOPTS% > b_win32.asm cd ..\..\.. echo CAST5 cd crypto\cast\asm perl cast-586.pl win32n > c_win32.asm perl cast-586.pl win32n %ASMOPTS% > c_win32.asm cd ..\..\.. echo RC4 cd crypto\rc4\asm perl rc4-586.pl win32n > r4_win32.asm perl rc4-586.pl win32n %ASMOPTS% > r4_win32.asm cd ..\..\.. echo MD5 cd crypto\md5\asm perl md5-586.pl win32n > m5_win32.asm perl md5-586.pl win32n %ASMOPTS% > m5_win32.asm cd ..\..\.. echo SHA1 cd crypto\sha\asm perl sha1-586.pl win32n > s1_win32.asm perl sha1-586.pl win32n %ASMOPTS% > s1_win32.asm perl sha512-sse2.pl win32n %ASMOPTS% > sha512-sse2.asm cd ..\..\.. echo RIPEMD160 cd crypto\ripemd\asm perl rmd-586.pl win32n > rm_win32.asm perl rmd-586.pl win32n %ASMOPTS% > rm_win32.asm cd ..\..\.. echo RC5\32 cd crypto\rc5\asm perl rc5-586.pl win32n > r5_win32.asm perl rc5-586.pl win32n %ASMOPTS% > r5_win32.asm cd ..\..\.. echo CPU-ID cd crypto perl x86cpuid.pl win32n %ASMOPTS% > cpu_win32.asm cd .. echo on perl util\mkfiles.pl >MINFO Loading