Commit c608171d authored by Andy Polyakov's avatar Andy Polyakov
Browse files

Add RC4-MD5 and AESNI-SHA1 "stitched" implementations.

parent c2d4c286
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -271,6 +271,11 @@
  
 Changes between 1.0.0e and 1.0.1  [xx XXX xxxx]

  *) Add RC4-MD5 and AESNI-SHA1 "stiched" implementations.

     This work was sponsored by Intel.
     [Andy Polyakov]

  *) Redirect HMAC and CMAC operations to FIPS module in FIPS mode. If an
     ENGINE is used then we cannot handle that in the FIPS module so we
     keep original code iff non-FIPS operations are allowed.
+1 −1
Original line number Diff line number Diff line
@@ -127,7 +127,7 @@ my $x86_asm="x86cpuid.o:bn-586.o co-586.o x86-mont.o x86-gf2m.o:des-586.o crypt5

my $x86_elf_asm="$x86_asm:elf";

my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o::aes-x86_64.o aesni-x86_64.o::md5-x86_64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o::rc4-x86_64.o:::wp-x86_64.o:cmll-x86_64.o cmll_misc.o:ghash-x86_64.o";
my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o::aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o::md5-x86_64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o::rc4-x86_64.o rc4-md5-x86_64.o:::wp-x86_64.o:cmll-x86_64.o cmll_misc.o:ghash-x86_64.o";
my $ia64_asm="ia64cpuid.o:bn-ia64.o ia64-mont.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o::rc4-ia64.o rc4_skey.o:::::ghash-ia64.o:void";
my $sparcv9_asm="sparcv9cap.o sparccpuid.o:bn-sparcv9.o sparcv9-mont.o sparcv9a-mont.o:des_enc-sparc.o fcrypt_b.o:aes_core.o aes_cbc.o aes-sparcv9.o:::sha1-sparcv9.o sha256-sparcv9.o sha512-sparcv9.o:::::::ghash-sparcv9.o:void";
my $sparcv8_asm=":sparcv8.o:des_enc-sparc.o fcrypt_b.o::::::::::::void";
+22 −22
Original line number Diff line number Diff line
@@ -299,12 +299,12 @@ $bn_ops = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL
$cpuid_obj    = x86_64cpuid.o
$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
$des_obj      = 
$aes_obj      = aes-x86_64.o aesni-x86_64.o
$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
$bf_obj       = 
$md5_obj      = md5-x86_64.o
$sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
$cast_obj     = 
$rc4_obj      = rc4-x86_64.o
$rc4_obj      = rc4-x86_64.o rc4-md5-x86_64.o
$rmd160_obj   = 
$rc5_obj      = 
$wp_obj       = wp-x86_64.o
@@ -779,12 +779,12 @@ $bn_ops = SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN
$cpuid_obj    = x86_64cpuid.o
$bn_obj       = bn_asm.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
$des_obj      = 
$aes_obj      = aes-x86_64.o aesni-x86_64.o
$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
$bf_obj       = 
$md5_obj      = md5-x86_64.o
$sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
$cast_obj     = 
$rc4_obj      = rc4-x86_64.o
$rc4_obj      = rc4-x86_64.o rc4-md5-x86_64.o
$rmd160_obj   = 
$rc5_obj      = 
$wp_obj       = wp-x86_64.o
@@ -1387,12 +1387,12 @@ $bn_ops = SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL
$cpuid_obj    = x86_64cpuid.o
$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
$des_obj      = 
$aes_obj      = aes-x86_64.o aesni-x86_64.o
$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
$bf_obj       = 
$md5_obj      = md5-x86_64.o
$sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
$cast_obj     = 
$rc4_obj      = rc4-x86_64.o
$rc4_obj      = rc4-x86_64.o rc4-md5-x86_64.o
$rmd160_obj   = 
$rc5_obj      = 
$wp_obj       = wp-x86_64.o
@@ -1547,12 +1547,12 @@ $bn_ops = SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN
$cpuid_obj    = x86_64cpuid.o
$bn_obj       = bn_asm.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
$des_obj      = 
$aes_obj      = aes-x86_64.o aesni-x86_64.o
$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
$bf_obj       = 
$md5_obj      = md5-x86_64.o
$sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
$cast_obj     = 
$rc4_obj      = rc4-x86_64.o
$rc4_obj      = rc4-x86_64.o rc4-md5-x86_64.o
$rmd160_obj   = 
$rc5_obj      = 
$wp_obj       = wp-x86_64.o
@@ -2315,12 +2315,12 @@ $bn_ops = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL
$cpuid_obj    = x86_64cpuid.o
$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
$des_obj      = 
$aes_obj      = aes-x86_64.o aesni-x86_64.o
$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
$bf_obj       = 
$md5_obj      = md5-x86_64.o
$sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
$cast_obj     = 
$rc4_obj      = rc4-x86_64.o
$rc4_obj      = rc4-x86_64.o rc4-md5-x86_64.o
$rmd160_obj   = 
$rc5_obj      = 
$wp_obj       = wp-x86_64.o
@@ -2507,12 +2507,12 @@ $bn_ops = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL
$cpuid_obj    = x86_64cpuid.o
$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
$des_obj      = 
$aes_obj      = aes-x86_64.o aesni-x86_64.o
$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
$bf_obj       = 
$md5_obj      = md5-x86_64.o
$sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
$cast_obj     = 
$rc4_obj      = rc4-x86_64.o
$rc4_obj      = rc4-x86_64.o rc4-md5-x86_64.o
$rmd160_obj   = 
$rc5_obj      = 
$wp_obj       = wp-x86_64.o
@@ -2571,12 +2571,12 @@ $bn_ops = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL
$cpuid_obj    = x86_64cpuid.o
$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
$des_obj      = 
$aes_obj      = aes-x86_64.o aesni-x86_64.o
$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
$bf_obj       = 
$md5_obj      = md5-x86_64.o
$sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
$cast_obj     = 
$rc4_obj      = rc4-x86_64.o
$rc4_obj      = rc4-x86_64.o rc4-md5-x86_64.o
$rmd160_obj   = 
$rc5_obj      = 
$wp_obj       = wp-x86_64.o
@@ -4075,12 +4075,12 @@ $bn_ops = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL
$cpuid_obj    = x86_64cpuid.o
$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
$des_obj      = 
$aes_obj      = aes-x86_64.o aesni-x86_64.o
$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
$bf_obj       = 
$md5_obj      = md5-x86_64.o
$sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
$cast_obj     = 
$rc4_obj      = rc4-x86_64.o
$rc4_obj      = rc4-x86_64.o rc4-md5-x86_64.o
$rmd160_obj   = 
$rc5_obj      = 
$wp_obj       = wp-x86_64.o
@@ -4235,12 +4235,12 @@ $bn_ops = SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN
$cpuid_obj    = x86_64cpuid.o
$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
$des_obj      = 
$aes_obj      = aes-x86_64.o aesni-x86_64.o
$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
$bf_obj       = 
$md5_obj      = md5-x86_64.o
$sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
$cast_obj     = 
$rc4_obj      = rc4-x86_64.o
$rc4_obj      = rc4-x86_64.o rc4-md5-x86_64.o
$rmd160_obj   = 
$rc5_obj      = 
$wp_obj       = wp-x86_64.o
@@ -5195,12 +5195,12 @@ $bn_ops = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL
$cpuid_obj    = x86_64cpuid.o
$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
$des_obj      = 
$aes_obj      = aes-x86_64.o aesni-x86_64.o
$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
$bf_obj       = 
$md5_obj      = md5-x86_64.o
$sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
$cast_obj     = 
$rc4_obj      = rc4-x86_64.o
$rc4_obj      = rc4-x86_64.o rc4-md5-x86_64.o
$rmd160_obj   = 
$rc5_obj      = 
$wp_obj       = wp-x86_64.o
@@ -5227,12 +5227,12 @@ $bn_ops = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL
$cpuid_obj    = x86_64cpuid.o
$bn_obj       = x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o modexp512-x86_64.o
$des_obj      = 
$aes_obj      = aes-x86_64.o aesni-x86_64.o
$aes_obj      = aes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o
$bf_obj       = 
$md5_obj      = md5-x86_64.o
$sha1_obj     = sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
$cast_obj     = 
$rc4_obj      = rc4-x86_64.o
$rc4_obj      = rc4-x86_64.o rc4-md5-x86_64.o
$rmd160_obj   = 
$rc5_obj      = 
$wp_obj       = wp-x86_64.o
+2 −0
Original line number Diff line number Diff line
@@ -57,6 +57,8 @@ aes-x86_64.s: asm/aes-x86_64.pl
	$(PERL) asm/aes-x86_64.pl $(PERLASM_SCHEME) > $@
aesni-x86_64.s: asm/aesni-x86_64.pl
	$(PERL) asm/aesni-x86_64.pl $(PERLASM_SCHEME) > $@
aesni-sha1-x86_64.s:	asm/aesni-sha1-x86_64.pl
	$(PERL) asm/aesni-sha1-x86_64.pl $(PERLASM_SCHEME) > $@

aes-sparcv9.s: asm/aes-sparcv9.pl
	$(PERL) asm/aes-sparcv9.pl $(CFLAGS) > $@
+1249 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading