diff options
author | miod <> | 2014-07-09 09:10:07 +0000 |
---|---|---|
committer | miod <> | 2014-07-09 09:10:07 +0000 |
commit | 962b62471b32ccf7900a7f2658ec172fc691e25a (patch) | |
tree | 93160e1da443377034efa6bdda3406010ef1779a | |
parent | 93c72cf9da4c9d69f62ff20c6d3581aae665cb45 (diff) | |
download | openbsd-962b62471b32ccf7900a7f2658ec172fc691e25a.tar.gz openbsd-962b62471b32ccf7900a7f2658ec172fc691e25a.tar.bz2 openbsd-962b62471b32ccf7900a7f2658ec172fc691e25a.zip |
Kill more FIPS tentacles by removing the private_AES_set_{enc,dec}rypt_key()
internal interfaces, and promoting them to being the public
AES_set_{enc,dec}rypt_key() interfaces. In non-FIPS mode, these public
interfaces were directly calling the private ones.
ok guenther@ jsing@
-rw-r--r-- | src/lib/libcrypto/aes/aes.h | 7 | ||||
-rw-r--r-- | src/lib/libcrypto/aes/aes_core.c | 17 | ||||
-rw-r--r-- | src/lib/libcrypto/aes/aes_misc.c | 18 | ||||
-rw-r--r-- | src/lib/libcrypto/aes/asm/aes-586.pl | 14 | ||||
-rw-r--r-- | src/lib/libcrypto/aes/asm/aes-armv4.pl | 16 | ||||
-rw-r--r-- | src/lib/libcrypto/aes/asm/aes-mips.pl | 20 | ||||
-rw-r--r-- | src/lib/libcrypto/aes/asm/aes-s390x.pl | 16 | ||||
-rwxr-xr-x | src/lib/libcrypto/aes/asm/aes-x86_64.pl | 36 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/aes/aes.h | 7 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/aes/aes_core.c | 17 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/aes/aes_misc.c | 18 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/aes/asm/aes-586.pl | 14 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/aes/asm/aes-armv4.pl | 16 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/aes/asm/aes-mips.pl | 20 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/aes/asm/aes-s390x.pl | 16 | ||||
-rwxr-xr-x | src/lib/libssl/src/crypto/aes/asm/aes-x86_64.pl | 36 |
16 files changed, 120 insertions, 168 deletions
diff --git a/src/lib/libcrypto/aes/aes.h b/src/lib/libcrypto/aes/aes.h index 10a87e7f0d..c904485d8f 100644 --- a/src/lib/libcrypto/aes/aes.h +++ b/src/lib/libcrypto/aes/aes.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: aes.h,v 1.13 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: aes.h,v 1.14 2014/07/09 09:10:07 miod Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -86,11 +86,6 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits, | |||
86 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits, | 86 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits, |
87 | AES_KEY *key); | 87 | AES_KEY *key); |
88 | 88 | ||
89 | int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, | ||
90 | AES_KEY *key); | ||
91 | int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, | ||
92 | AES_KEY *key); | ||
93 | |||
94 | void AES_encrypt(const unsigned char *in, unsigned char *out, | 89 | void AES_encrypt(const unsigned char *in, unsigned char *out, |
95 | const AES_KEY *key); | 90 | const AES_KEY *key); |
96 | void AES_decrypt(const unsigned char *in, unsigned char *out, | 91 | void AES_decrypt(const unsigned char *in, unsigned char *out, |
diff --git a/src/lib/libcrypto/aes/aes_core.c b/src/lib/libcrypto/aes/aes_core.c index 301a207ce8..ee21057392 100644 --- a/src/lib/libcrypto/aes/aes_core.c +++ b/src/lib/libcrypto/aes/aes_core.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: aes_core.c,v 1.10 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: aes_core.c,v 1.11 2014/07/09 09:10:07 miod Exp $ */ |
2 | /** | 2 | /** |
3 | * rijndael-alg-fst.c | 3 | * rijndael-alg-fst.c |
4 | * | 4 | * |
@@ -626,8 +626,7 @@ static const u32 rcon[] = { | |||
626 | * Expand the cipher key into the encryption key schedule. | 626 | * Expand the cipher key into the encryption key schedule. |
627 | */ | 627 | */ |
628 | int | 628 | int |
629 | private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, | 629 | AES_set_encrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key) |
630 | AES_KEY *key) | ||
631 | { | 630 | { |
632 | u32 *rk; | 631 | u32 *rk; |
633 | int i = 0; | 632 | int i = 0; |
@@ -728,15 +727,14 @@ private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, | |||
728 | * Expand the cipher key into the decryption key schedule. | 727 | * Expand the cipher key into the decryption key schedule. |
729 | */ | 728 | */ |
730 | int | 729 | int |
731 | private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, | 730 | AES_set_decrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key) |
732 | AES_KEY *key) | ||
733 | { | 731 | { |
734 | u32 *rk; | 732 | u32 *rk; |
735 | int i, j, status; | 733 | int i, j, status; |
736 | u32 temp; | 734 | u32 temp; |
737 | 735 | ||
738 | /* first, start with an encryption schedule */ | 736 | /* first, start with an encryption schedule */ |
739 | status = private_AES_set_encrypt_key(userKey, bits, key); | 737 | status = AES_set_encrypt_key(userKey, bits, key); |
740 | if (status < 0) | 738 | if (status < 0) |
741 | return status; | 739 | return status; |
742 | 740 | ||
@@ -1213,8 +1211,7 @@ static const u32 rcon[] = { | |||
1213 | * Expand the cipher key into the encryption key schedule. | 1211 | * Expand the cipher key into the encryption key schedule. |
1214 | */ | 1212 | */ |
1215 | int | 1213 | int |
1216 | private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, | 1214 | AES_set_encrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key) |
1217 | AES_KEY *key) | ||
1218 | { | 1215 | { |
1219 | u32 *rk; | 1216 | u32 *rk; |
1220 | int i = 0; | 1217 | int i = 0; |
@@ -1315,7 +1312,7 @@ private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, | |||
1315 | * Expand the cipher key into the decryption key schedule. | 1312 | * Expand the cipher key into the decryption key schedule. |
1316 | */ | 1313 | */ |
1317 | int | 1314 | int |
1318 | private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, | 1315 | AES_set_decrypt_key(const unsigned char *userKey, const int bits, |
1319 | AES_KEY *key) | 1316 | AES_KEY *key) |
1320 | { | 1317 | { |
1321 | u32 *rk; | 1318 | u32 *rk; |
@@ -1323,7 +1320,7 @@ private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, | |||
1323 | u32 temp; | 1320 | u32 temp; |
1324 | 1321 | ||
1325 | /* first, start with an encryption schedule */ | 1322 | /* first, start with an encryption schedule */ |
1326 | status = private_AES_set_encrypt_key(userKey, bits, key); | 1323 | status = AES_set_encrypt_key(userKey, bits, key); |
1327 | if (status < 0) | 1324 | if (status < 0) |
1328 | return status; | 1325 | return status; |
1329 | 1326 | ||
diff --git a/src/lib/libcrypto/aes/aes_misc.c b/src/lib/libcrypto/aes/aes_misc.c index 213e87537f..343fc33c70 100644 --- a/src/lib/libcrypto/aes/aes_misc.c +++ b/src/lib/libcrypto/aes/aes_misc.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: aes_misc.c,v 1.8 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: aes_misc.c,v 1.9 2014/07/09 09:10:07 miod Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -65,19 +65,3 @@ AES_options(void) | |||
65 | return "aes(partial)"; | 65 | return "aes(partial)"; |
66 | #endif | 66 | #endif |
67 | } | 67 | } |
68 | |||
69 | /* FIPS wrapper functions to block low level AES calls in FIPS mode */ | ||
70 | |||
71 | int | ||
72 | AES_set_encrypt_key(const unsigned char *userKey, const int bits, | ||
73 | AES_KEY *key) | ||
74 | { | ||
75 | return private_AES_set_encrypt_key(userKey, bits, key); | ||
76 | } | ||
77 | |||
78 | int | ||
79 | AES_set_decrypt_key(const unsigned char *userKey, const int bits, | ||
80 | AES_KEY *key) | ||
81 | { | ||
82 | return private_AES_set_decrypt_key(userKey, bits, key); | ||
83 | } | ||
diff --git a/src/lib/libcrypto/aes/asm/aes-586.pl b/src/lib/libcrypto/aes/asm/aes-586.pl index 687ed811be..aab40e6f1c 100644 --- a/src/lib/libcrypto/aes/asm/aes-586.pl +++ b/src/lib/libcrypto/aes/asm/aes-586.pl | |||
@@ -39,7 +39,7 @@ | |||
39 | # but exhibits up to 10% improvement on other cores. | 39 | # but exhibits up to 10% improvement on other cores. |
40 | # | 40 | # |
41 | # Second version is "monolithic" replacement for aes_core.c, which in | 41 | # Second version is "monolithic" replacement for aes_core.c, which in |
42 | # addition to AES_[de|en]crypt implements private_AES_set_[de|en]cryption_key. | 42 | # addition to AES_[de|en]crypt implements AES_set_[de|en]cryption_key. |
43 | # This made it possible to implement little-endian variant of the | 43 | # This made it possible to implement little-endian variant of the |
44 | # algorithm without modifying the base C code. Motivating factor for | 44 | # algorithm without modifying the base C code. Motivating factor for |
45 | # the undertaken effort was that it appeared that in tight IA-32 | 45 | # the undertaken effort was that it appeared that in tight IA-32 |
@@ -2854,12 +2854,12 @@ sub enckey() | |||
2854 | &set_label("exit"); | 2854 | &set_label("exit"); |
2855 | &function_end("_x86_AES_set_encrypt_key"); | 2855 | &function_end("_x86_AES_set_encrypt_key"); |
2856 | 2856 | ||
2857 | # int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, | 2857 | # int AES_set_encrypt_key(const unsigned char *userKey, const int bits, |
2858 | # AES_KEY *key) | 2858 | # AES_KEY *key) |
2859 | &function_begin_B("private_AES_set_encrypt_key"); | 2859 | &function_begin_B("AES_set_encrypt_key"); |
2860 | &call ("_x86_AES_set_encrypt_key"); | 2860 | &call ("_x86_AES_set_encrypt_key"); |
2861 | &ret (); | 2861 | &ret (); |
2862 | &function_end_B("private_AES_set_encrypt_key"); | 2862 | &function_end_B("AES_set_encrypt_key"); |
2863 | 2863 | ||
2864 | sub deckey() | 2864 | sub deckey() |
2865 | { my ($i,$key,$tp1,$tp2,$tp4,$tp8) = @_; | 2865 | { my ($i,$key,$tp1,$tp2,$tp4,$tp8) = @_; |
@@ -2916,9 +2916,9 @@ sub deckey() | |||
2916 | &mov (&DWP(4*$i,$key),$tp1); | 2916 | &mov (&DWP(4*$i,$key),$tp1); |
2917 | } | 2917 | } |
2918 | 2918 | ||
2919 | # int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, | 2919 | # int AES_set_decrypt_key(const unsigned char *userKey, const int bits, |
2920 | # AES_KEY *key) | 2920 | # AES_KEY *key) |
2921 | &function_begin_B("private_AES_set_decrypt_key"); | 2921 | &function_begin_B("AES_set_decrypt_key"); |
2922 | &call ("_x86_AES_set_encrypt_key"); | 2922 | &call ("_x86_AES_set_encrypt_key"); |
2923 | &cmp ("eax",0); | 2923 | &cmp ("eax",0); |
2924 | &je (&label("proceed")); | 2924 | &je (&label("proceed")); |
@@ -2974,7 +2974,7 @@ sub deckey() | |||
2974 | &jb (&label("permute")); | 2974 | &jb (&label("permute")); |
2975 | 2975 | ||
2976 | &xor ("eax","eax"); # return success | 2976 | &xor ("eax","eax"); # return success |
2977 | &function_end("private_AES_set_decrypt_key"); | 2977 | &function_end("AES_set_decrypt_key"); |
2978 | &asciz("AES for x86, CRYPTOGAMS by <appro\@openssl.org>"); | 2978 | &asciz("AES for x86, CRYPTOGAMS by <appro\@openssl.org>"); |
2979 | 2979 | ||
2980 | &asm_finish(); | 2980 | &asm_finish(); |
diff --git a/src/lib/libcrypto/aes/asm/aes-armv4.pl b/src/lib/libcrypto/aes/asm/aes-armv4.pl index 86b86c4a0f..717cc1ed7f 100644 --- a/src/lib/libcrypto/aes/asm/aes-armv4.pl +++ b/src/lib/libcrypto/aes/asm/aes-armv4.pl | |||
@@ -404,10 +404,10 @@ _armv4_AES_encrypt: | |||
404 | ldr pc,[sp],#4 @ pop and return | 404 | ldr pc,[sp],#4 @ pop and return |
405 | .size _armv4_AES_encrypt,.-_armv4_AES_encrypt | 405 | .size _armv4_AES_encrypt,.-_armv4_AES_encrypt |
406 | 406 | ||
407 | .global private_AES_set_encrypt_key | 407 | .global AES_set_encrypt_key |
408 | .type private_AES_set_encrypt_key,%function | 408 | .type AES_set_encrypt_key,%function |
409 | .align 5 | 409 | .align 5 |
410 | private_AES_set_encrypt_key: | 410 | AES_set_encrypt_key: |
411 | _armv4_AES_set_encrypt_key: | 411 | _armv4_AES_set_encrypt_key: |
412 | sub r3,pc,#8 @ AES_set_encrypt_key | 412 | sub r3,pc,#8 @ AES_set_encrypt_key |
413 | teq r0,#0 | 413 | teq r0,#0 |
@@ -679,12 +679,12 @@ _armv4_AES_set_encrypt_key: | |||
679 | .Labrt: tst lr,#1 | 679 | .Labrt: tst lr,#1 |
680 | moveq pc,lr @ be binary compatible with V4, yet | 680 | moveq pc,lr @ be binary compatible with V4, yet |
681 | bx lr @ interoperable with Thumb ISA:-) | 681 | bx lr @ interoperable with Thumb ISA:-) |
682 | .size private_AES_set_encrypt_key,.-private_AES_set_encrypt_key | 682 | .size AES_set_encrypt_key,.-AES_set_encrypt_key |
683 | 683 | ||
684 | .global private_AES_set_decrypt_key | 684 | .global AES_set_decrypt_key |
685 | .type private_AES_set_decrypt_key,%function | 685 | .type AES_set_decrypt_key,%function |
686 | .align 5 | 686 | .align 5 |
687 | private_AES_set_decrypt_key: | 687 | AES_set_decrypt_key: |
688 | str lr,[sp,#-4]! @ push lr | 688 | str lr,[sp,#-4]! @ push lr |
689 | bl _armv4_AES_set_encrypt_key | 689 | bl _armv4_AES_set_encrypt_key |
690 | teq r0,#0 | 690 | teq r0,#0 |
@@ -773,7 +773,7 @@ $code.=<<___; | |||
773 | moveq pc,lr @ be binary compatible with V4, yet | 773 | moveq pc,lr @ be binary compatible with V4, yet |
774 | bx lr @ interoperable with Thumb ISA:-) | 774 | bx lr @ interoperable with Thumb ISA:-) |
775 | #endif | 775 | #endif |
776 | .size private_AES_set_decrypt_key,.-private_AES_set_decrypt_key | 776 | .size AES_set_decrypt_key,.-AES_set_decrypt_key |
777 | 777 | ||
778 | .type AES_Td,%object | 778 | .type AES_Td,%object |
779 | .align 5 | 779 | .align 5 |
diff --git a/src/lib/libcrypto/aes/asm/aes-mips.pl b/src/lib/libcrypto/aes/asm/aes-mips.pl index e52395421b..2ce6deffc8 100644 --- a/src/lib/libcrypto/aes/asm/aes-mips.pl +++ b/src/lib/libcrypto/aes/asm/aes-mips.pl | |||
@@ -1036,9 +1036,9 @@ _mips_AES_set_encrypt_key: | |||
1036 | nop | 1036 | nop |
1037 | .end _mips_AES_set_encrypt_key | 1037 | .end _mips_AES_set_encrypt_key |
1038 | 1038 | ||
1039 | .globl private_AES_set_encrypt_key | 1039 | .globl AES_set_encrypt_key |
1040 | .ent private_AES_set_encrypt_key | 1040 | .ent AES_set_encrypt_key |
1041 | private_AES_set_encrypt_key: | 1041 | AES_set_encrypt_key: |
1042 | .frame $sp,$FRAMESIZE,$ra | 1042 | .frame $sp,$FRAMESIZE,$ra |
1043 | .mask $SAVED_REGS_MASK,-$SZREG | 1043 | .mask $SAVED_REGS_MASK,-$SZREG |
1044 | .set noreorder | 1044 | .set noreorder |
@@ -1060,7 +1060,7 @@ $code.=<<___ if ($flavour =~ /nubi/i); # optimize non-nubi prologue | |||
1060 | ___ | 1060 | ___ |
1061 | $code.=<<___ if ($flavour !~ /o32/i); # non-o32 PIC-ification | 1061 | $code.=<<___ if ($flavour !~ /o32/i); # non-o32 PIC-ification |
1062 | .cplocal $Tbl | 1062 | .cplocal $Tbl |
1063 | .cpsetup $pf,$zero,private_AES_set_encrypt_key | 1063 | .cpsetup $pf,$zero,AES_set_encrypt_key |
1064 | ___ | 1064 | ___ |
1065 | $code.=<<___; | 1065 | $code.=<<___; |
1066 | .set reorder | 1066 | .set reorder |
@@ -1083,7 +1083,7 @@ ___ | |||
1083 | $code.=<<___; | 1083 | $code.=<<___; |
1084 | jr $ra | 1084 | jr $ra |
1085 | $PTR_ADD $sp,$FRAMESIZE | 1085 | $PTR_ADD $sp,$FRAMESIZE |
1086 | .end private_AES_set_encrypt_key | 1086 | .end AES_set_encrypt_key |
1087 | ___ | 1087 | ___ |
1088 | 1088 | ||
1089 | my ($head,$tail)=($inp,$bits); | 1089 | my ($head,$tail)=($inp,$bits); |
@@ -1091,9 +1091,9 @@ my ($tp1,$tp2,$tp4,$tp8,$tp9,$tpb,$tpd,$tpe)=($a4,$a5,$a6,$a7,$s0,$s1,$s2,$s3); | |||
1091 | my ($m,$x80808080,$x7f7f7f7f,$x1b1b1b1b)=($at,$t0,$t1,$t2); | 1091 | my ($m,$x80808080,$x7f7f7f7f,$x1b1b1b1b)=($at,$t0,$t1,$t2); |
1092 | $code.=<<___; | 1092 | $code.=<<___; |
1093 | .align 5 | 1093 | .align 5 |
1094 | .globl private_AES_set_decrypt_key | 1094 | .globl AES_set_decrypt_key |
1095 | .ent private_AES_set_decrypt_key | 1095 | .ent AES_set_decrypt_key |
1096 | private_AES_set_decrypt_key: | 1096 | AES_set_decrypt_key: |
1097 | .frame $sp,$FRAMESIZE,$ra | 1097 | .frame $sp,$FRAMESIZE,$ra |
1098 | .mask $SAVED_REGS_MASK,-$SZREG | 1098 | .mask $SAVED_REGS_MASK,-$SZREG |
1099 | .set noreorder | 1099 | .set noreorder |
@@ -1115,7 +1115,7 @@ $code.=<<___ if ($flavour =~ /nubi/i); # optimize non-nubi prologue | |||
1115 | ___ | 1115 | ___ |
1116 | $code.=<<___ if ($flavour !~ /o32/i); # non-o32 PIC-ification | 1116 | $code.=<<___ if ($flavour !~ /o32/i); # non-o32 PIC-ification |
1117 | .cplocal $Tbl | 1117 | .cplocal $Tbl |
1118 | .cpsetup $pf,$zero,private_AES_set_decrypt_key | 1118 | .cpsetup $pf,$zero,AES_set_decrypt_key |
1119 | ___ | 1119 | ___ |
1120 | $code.=<<___; | 1120 | $code.=<<___; |
1121 | .set reorder | 1121 | .set reorder |
@@ -1226,7 +1226,7 @@ ___ | |||
1226 | $code.=<<___; | 1226 | $code.=<<___; |
1227 | jr $ra | 1227 | jr $ra |
1228 | $PTR_ADD $sp,$FRAMESIZE | 1228 | $PTR_ADD $sp,$FRAMESIZE |
1229 | .end private_AES_set_decrypt_key | 1229 | .end AES_set_decrypt_key |
1230 | ___ | 1230 | ___ |
1231 | }}} | 1231 | }}} |
1232 | 1232 | ||
diff --git a/src/lib/libcrypto/aes/asm/aes-s390x.pl b/src/lib/libcrypto/aes/asm/aes-s390x.pl index e75dcd0315..71d5b55077 100644 --- a/src/lib/libcrypto/aes/asm/aes-s390x.pl +++ b/src/lib/libcrypto/aes/asm/aes-s390x.pl | |||
@@ -779,10 +779,10 @@ ___ | |||
779 | $code.=<<___; | 779 | $code.=<<___; |
780 | # void AES_set_encrypt_key(const unsigned char *in, int bits, | 780 | # void AES_set_encrypt_key(const unsigned char *in, int bits, |
781 | # AES_KEY *key) { | 781 | # AES_KEY *key) { |
782 | .globl private_AES_set_encrypt_key | 782 | .globl AES_set_encrypt_key |
783 | .type private_AES_set_encrypt_key,\@function | 783 | .type AES_set_encrypt_key,\@function |
784 | .align 16 | 784 | .align 16 |
785 | private_AES_set_encrypt_key: | 785 | AES_set_encrypt_key: |
786 | _s390x_AES_set_encrypt_key: | 786 | _s390x_AES_set_encrypt_key: |
787 | lghi $t0,0 | 787 | lghi $t0,0 |
788 | cl${g}r $inp,$t0 | 788 | cl${g}r $inp,$t0 |
@@ -1063,14 +1063,14 @@ $code.=<<___; | |||
1063 | .Lminus1: | 1063 | .Lminus1: |
1064 | lghi %r2,-1 | 1064 | lghi %r2,-1 |
1065 | br $ra | 1065 | br $ra |
1066 | .size private_AES_set_encrypt_key,.-private_AES_set_encrypt_key | 1066 | .size AES_set_encrypt_key,.-AES_set_encrypt_key |
1067 | 1067 | ||
1068 | # void AES_set_decrypt_key(const unsigned char *in, int bits, | 1068 | # void AES_set_decrypt_key(const unsigned char *in, int bits, |
1069 | # AES_KEY *key) { | 1069 | # AES_KEY *key) { |
1070 | .globl private_AES_set_decrypt_key | 1070 | .globl AES_set_decrypt_key |
1071 | .type private_AES_set_decrypt_key,\@function | 1071 | .type AES_set_decrypt_key,\@function |
1072 | .align 16 | 1072 | .align 16 |
1073 | private_AES_set_decrypt_key: | 1073 | AES_set_decrypt_key: |
1074 | #st${g} $key,4*$SIZE_T($sp) # I rely on AES_set_encrypt_key to | 1074 | #st${g} $key,4*$SIZE_T($sp) # I rely on AES_set_encrypt_key to |
1075 | st${g} $ra,14*$SIZE_T($sp) # save non-volatile registers and $key! | 1075 | st${g} $ra,14*$SIZE_T($sp) # save non-volatile registers and $key! |
1076 | bras $ra,_s390x_AES_set_encrypt_key | 1076 | bras $ra,_s390x_AES_set_encrypt_key |
@@ -1170,7 +1170,7 @@ $code.=<<___; | |||
1170 | lm${g} %r6,%r13,6*$SIZE_T($sp)# as was saved by AES_set_encrypt_key! | 1170 | lm${g} %r6,%r13,6*$SIZE_T($sp)# as was saved by AES_set_encrypt_key! |
1171 | lghi %r2,0 | 1171 | lghi %r2,0 |
1172 | br $ra | 1172 | br $ra |
1173 | .size private_AES_set_decrypt_key,.-private_AES_set_decrypt_key | 1173 | .size AES_set_decrypt_key,.-AES_set_decrypt_key |
1174 | ___ | 1174 | ___ |
1175 | 1175 | ||
1176 | ######################################################################## | 1176 | ######################################################################## |
diff --git a/src/lib/libcrypto/aes/asm/aes-x86_64.pl b/src/lib/libcrypto/aes/asm/aes-x86_64.pl index 34cbb5d844..f75e90ba87 100755 --- a/src/lib/libcrypto/aes/asm/aes-x86_64.pl +++ b/src/lib/libcrypto/aes/asm/aes-x86_64.pl | |||
@@ -1284,13 +1284,13 @@ $code.=<<___; | |||
1284 | ___ | 1284 | ___ |
1285 | } | 1285 | } |
1286 | 1286 | ||
1287 | # int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, | 1287 | # int AES_set_encrypt_key(const unsigned char *userKey, const int bits, |
1288 | # AES_KEY *key) | 1288 | # AES_KEY *key) |
1289 | $code.=<<___; | 1289 | $code.=<<___; |
1290 | .globl private_AES_set_encrypt_key | 1290 | .globl AES_set_encrypt_key |
1291 | .type private_AES_set_encrypt_key,\@function,3 | 1291 | .type AES_set_encrypt_key,\@function,3 |
1292 | .align 16 | 1292 | .align 16 |
1293 | private_AES_set_encrypt_key: | 1293 | AES_set_encrypt_key: |
1294 | push %rbx | 1294 | push %rbx |
1295 | push %rbp | 1295 | push %rbp |
1296 | push %r12 # redundant, but allows to share | 1296 | push %r12 # redundant, but allows to share |
@@ -1311,7 +1311,7 @@ private_AES_set_encrypt_key: | |||
1311 | add \$56,%rsp | 1311 | add \$56,%rsp |
1312 | .Lenc_key_epilogue: | 1312 | .Lenc_key_epilogue: |
1313 | ret | 1313 | ret |
1314 | .size private_AES_set_encrypt_key,.-private_AES_set_encrypt_key | 1314 | .size AES_set_encrypt_key,.-AES_set_encrypt_key |
1315 | 1315 | ||
1316 | .type _x86_64_AES_set_encrypt_key,\@abi-omnipotent | 1316 | .type _x86_64_AES_set_encrypt_key,\@abi-omnipotent |
1317 | .align 16 | 1317 | .align 16 |
@@ -1554,13 +1554,13 @@ $code.=<<___; | |||
1554 | ___ | 1554 | ___ |
1555 | } | 1555 | } |
1556 | 1556 | ||
1557 | # int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, | 1557 | # int AES_set_decrypt_key(const unsigned char *userKey, const int bits, |
1558 | # AES_KEY *key) | 1558 | # AES_KEY *key) |
1559 | $code.=<<___; | 1559 | $code.=<<___; |
1560 | .globl private_AES_set_decrypt_key | 1560 | .globl AES_set_decrypt_key |
1561 | .type private_AES_set_decrypt_key,\@function,3 | 1561 | .type AES_set_decrypt_key,\@function,3 |
1562 | .align 16 | 1562 | .align 16 |
1563 | private_AES_set_decrypt_key: | 1563 | AES_set_decrypt_key: |
1564 | push %rbx | 1564 | push %rbx |
1565 | push %rbp | 1565 | push %rbp |
1566 | push %r12 | 1566 | push %r12 |
@@ -1629,7 +1629,7 @@ $code.=<<___; | |||
1629 | add \$56,%rsp | 1629 | add \$56,%rsp |
1630 | .Ldec_key_epilogue: | 1630 | .Ldec_key_epilogue: |
1631 | ret | 1631 | ret |
1632 | .size private_AES_set_decrypt_key,.-private_AES_set_decrypt_key | 1632 | .size AES_set_decrypt_key,.-AES_set_decrypt_key |
1633 | ___ | 1633 | ___ |
1634 | 1634 | ||
1635 | # void AES_cbc_encrypt (const void char *inp, unsigned char *out, | 1635 | # void AES_cbc_encrypt (const void char *inp, unsigned char *out, |
@@ -2776,13 +2776,13 @@ cbc_se_handler: | |||
2776 | .rva .LSEH_end_AES_decrypt | 2776 | .rva .LSEH_end_AES_decrypt |
2777 | .rva .LSEH_info_AES_decrypt | 2777 | .rva .LSEH_info_AES_decrypt |
2778 | 2778 | ||
2779 | .rva .LSEH_begin_private_AES_set_encrypt_key | 2779 | .rva .LSEH_begin_AES_set_encrypt_key |
2780 | .rva .LSEH_end_private_AES_set_encrypt_key | 2780 | .rva .LSEH_end_AES_set_encrypt_key |
2781 | .rva .LSEH_info_private_AES_set_encrypt_key | 2781 | .rva .LSEH_info_AES_set_encrypt_key |
2782 | 2782 | ||
2783 | .rva .LSEH_begin_private_AES_set_decrypt_key | 2783 | .rva .LSEH_begin_AES_set_decrypt_key |
2784 | .rva .LSEH_end_private_AES_set_decrypt_key | 2784 | .rva .LSEH_end_AES_set_decrypt_key |
2785 | .rva .LSEH_info_private_AES_set_decrypt_key | 2785 | .rva .LSEH_info_AES_set_decrypt_key |
2786 | 2786 | ||
2787 | .rva .LSEH_begin_AES_cbc_encrypt | 2787 | .rva .LSEH_begin_AES_cbc_encrypt |
2788 | .rva .LSEH_end_AES_cbc_encrypt | 2788 | .rva .LSEH_end_AES_cbc_encrypt |
@@ -2798,11 +2798,11 @@ cbc_se_handler: | |||
2798 | .byte 9,0,0,0 | 2798 | .byte 9,0,0,0 |
2799 | .rva block_se_handler | 2799 | .rva block_se_handler |
2800 | .rva .Ldec_prologue,.Ldec_epilogue # HandlerData[] | 2800 | .rva .Ldec_prologue,.Ldec_epilogue # HandlerData[] |
2801 | .LSEH_info_private_AES_set_encrypt_key: | 2801 | .LSEH_info_AES_set_encrypt_key: |
2802 | .byte 9,0,0,0 | 2802 | .byte 9,0,0,0 |
2803 | .rva key_se_handler | 2803 | .rva key_se_handler |
2804 | .rva .Lenc_key_prologue,.Lenc_key_epilogue # HandlerData[] | 2804 | .rva .Lenc_key_prologue,.Lenc_key_epilogue # HandlerData[] |
2805 | .LSEH_info_private_AES_set_decrypt_key: | 2805 | .LSEH_info_AES_set_decrypt_key: |
2806 | .byte 9,0,0,0 | 2806 | .byte 9,0,0,0 |
2807 | .rva key_se_handler | 2807 | .rva key_se_handler |
2808 | .rva .Ldec_key_prologue,.Ldec_key_epilogue # HandlerData[] | 2808 | .rva .Ldec_key_prologue,.Ldec_key_epilogue # HandlerData[] |
diff --git a/src/lib/libssl/src/crypto/aes/aes.h b/src/lib/libssl/src/crypto/aes/aes.h index 10a87e7f0d..c904485d8f 100644 --- a/src/lib/libssl/src/crypto/aes/aes.h +++ b/src/lib/libssl/src/crypto/aes/aes.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: aes.h,v 1.13 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: aes.h,v 1.14 2014/07/09 09:10:07 miod Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -86,11 +86,6 @@ int AES_set_encrypt_key(const unsigned char *userKey, const int bits, | |||
86 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits, | 86 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits, |
87 | AES_KEY *key); | 87 | AES_KEY *key); |
88 | 88 | ||
89 | int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, | ||
90 | AES_KEY *key); | ||
91 | int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, | ||
92 | AES_KEY *key); | ||
93 | |||
94 | void AES_encrypt(const unsigned char *in, unsigned char *out, | 89 | void AES_encrypt(const unsigned char *in, unsigned char *out, |
95 | const AES_KEY *key); | 90 | const AES_KEY *key); |
96 | void AES_decrypt(const unsigned char *in, unsigned char *out, | 91 | void AES_decrypt(const unsigned char *in, unsigned char *out, |
diff --git a/src/lib/libssl/src/crypto/aes/aes_core.c b/src/lib/libssl/src/crypto/aes/aes_core.c index 301a207ce8..ee21057392 100644 --- a/src/lib/libssl/src/crypto/aes/aes_core.c +++ b/src/lib/libssl/src/crypto/aes/aes_core.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: aes_core.c,v 1.10 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: aes_core.c,v 1.11 2014/07/09 09:10:07 miod Exp $ */ |
2 | /** | 2 | /** |
3 | * rijndael-alg-fst.c | 3 | * rijndael-alg-fst.c |
4 | * | 4 | * |
@@ -626,8 +626,7 @@ static const u32 rcon[] = { | |||
626 | * Expand the cipher key into the encryption key schedule. | 626 | * Expand the cipher key into the encryption key schedule. |
627 | */ | 627 | */ |
628 | int | 628 | int |
629 | private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, | 629 | AES_set_encrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key) |
630 | AES_KEY *key) | ||
631 | { | 630 | { |
632 | u32 *rk; | 631 | u32 *rk; |
633 | int i = 0; | 632 | int i = 0; |
@@ -728,15 +727,14 @@ private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, | |||
728 | * Expand the cipher key into the decryption key schedule. | 727 | * Expand the cipher key into the decryption key schedule. |
729 | */ | 728 | */ |
730 | int | 729 | int |
731 | private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, | 730 | AES_set_decrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key) |
732 | AES_KEY *key) | ||
733 | { | 731 | { |
734 | u32 *rk; | 732 | u32 *rk; |
735 | int i, j, status; | 733 | int i, j, status; |
736 | u32 temp; | 734 | u32 temp; |
737 | 735 | ||
738 | /* first, start with an encryption schedule */ | 736 | /* first, start with an encryption schedule */ |
739 | status = private_AES_set_encrypt_key(userKey, bits, key); | 737 | status = AES_set_encrypt_key(userKey, bits, key); |
740 | if (status < 0) | 738 | if (status < 0) |
741 | return status; | 739 | return status; |
742 | 740 | ||
@@ -1213,8 +1211,7 @@ static const u32 rcon[] = { | |||
1213 | * Expand the cipher key into the encryption key schedule. | 1211 | * Expand the cipher key into the encryption key schedule. |
1214 | */ | 1212 | */ |
1215 | int | 1213 | int |
1216 | private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, | 1214 | AES_set_encrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key) |
1217 | AES_KEY *key) | ||
1218 | { | 1215 | { |
1219 | u32 *rk; | 1216 | u32 *rk; |
1220 | int i = 0; | 1217 | int i = 0; |
@@ -1315,7 +1312,7 @@ private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, | |||
1315 | * Expand the cipher key into the decryption key schedule. | 1312 | * Expand the cipher key into the decryption key schedule. |
1316 | */ | 1313 | */ |
1317 | int | 1314 | int |
1318 | private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, | 1315 | AES_set_decrypt_key(const unsigned char *userKey, const int bits, |
1319 | AES_KEY *key) | 1316 | AES_KEY *key) |
1320 | { | 1317 | { |
1321 | u32 *rk; | 1318 | u32 *rk; |
@@ -1323,7 +1320,7 @@ private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, | |||
1323 | u32 temp; | 1320 | u32 temp; |
1324 | 1321 | ||
1325 | /* first, start with an encryption schedule */ | 1322 | /* first, start with an encryption schedule */ |
1326 | status = private_AES_set_encrypt_key(userKey, bits, key); | 1323 | status = AES_set_encrypt_key(userKey, bits, key); |
1327 | if (status < 0) | 1324 | if (status < 0) |
1328 | return status; | 1325 | return status; |
1329 | 1326 | ||
diff --git a/src/lib/libssl/src/crypto/aes/aes_misc.c b/src/lib/libssl/src/crypto/aes/aes_misc.c index 213e87537f..343fc33c70 100644 --- a/src/lib/libssl/src/crypto/aes/aes_misc.c +++ b/src/lib/libssl/src/crypto/aes/aes_misc.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: aes_misc.c,v 1.8 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: aes_misc.c,v 1.9 2014/07/09 09:10:07 miod Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -65,19 +65,3 @@ AES_options(void) | |||
65 | return "aes(partial)"; | 65 | return "aes(partial)"; |
66 | #endif | 66 | #endif |
67 | } | 67 | } |
68 | |||
69 | /* FIPS wrapper functions to block low level AES calls in FIPS mode */ | ||
70 | |||
71 | int | ||
72 | AES_set_encrypt_key(const unsigned char *userKey, const int bits, | ||
73 | AES_KEY *key) | ||
74 | { | ||
75 | return private_AES_set_encrypt_key(userKey, bits, key); | ||
76 | } | ||
77 | |||
78 | int | ||
79 | AES_set_decrypt_key(const unsigned char *userKey, const int bits, | ||
80 | AES_KEY *key) | ||
81 | { | ||
82 | return private_AES_set_decrypt_key(userKey, bits, key); | ||
83 | } | ||
diff --git a/src/lib/libssl/src/crypto/aes/asm/aes-586.pl b/src/lib/libssl/src/crypto/aes/asm/aes-586.pl index 687ed811be..aab40e6f1c 100644 --- a/src/lib/libssl/src/crypto/aes/asm/aes-586.pl +++ b/src/lib/libssl/src/crypto/aes/asm/aes-586.pl | |||
@@ -39,7 +39,7 @@ | |||
39 | # but exhibits up to 10% improvement on other cores. | 39 | # but exhibits up to 10% improvement on other cores. |
40 | # | 40 | # |
41 | # Second version is "monolithic" replacement for aes_core.c, which in | 41 | # Second version is "monolithic" replacement for aes_core.c, which in |
42 | # addition to AES_[de|en]crypt implements private_AES_set_[de|en]cryption_key. | 42 | # addition to AES_[de|en]crypt implements AES_set_[de|en]cryption_key. |
43 | # This made it possible to implement little-endian variant of the | 43 | # This made it possible to implement little-endian variant of the |
44 | # algorithm without modifying the base C code. Motivating factor for | 44 | # algorithm without modifying the base C code. Motivating factor for |
45 | # the undertaken effort was that it appeared that in tight IA-32 | 45 | # the undertaken effort was that it appeared that in tight IA-32 |
@@ -2854,12 +2854,12 @@ sub enckey() | |||
2854 | &set_label("exit"); | 2854 | &set_label("exit"); |
2855 | &function_end("_x86_AES_set_encrypt_key"); | 2855 | &function_end("_x86_AES_set_encrypt_key"); |
2856 | 2856 | ||
2857 | # int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, | 2857 | # int AES_set_encrypt_key(const unsigned char *userKey, const int bits, |
2858 | # AES_KEY *key) | 2858 | # AES_KEY *key) |
2859 | &function_begin_B("private_AES_set_encrypt_key"); | 2859 | &function_begin_B("AES_set_encrypt_key"); |
2860 | &call ("_x86_AES_set_encrypt_key"); | 2860 | &call ("_x86_AES_set_encrypt_key"); |
2861 | &ret (); | 2861 | &ret (); |
2862 | &function_end_B("private_AES_set_encrypt_key"); | 2862 | &function_end_B("AES_set_encrypt_key"); |
2863 | 2863 | ||
2864 | sub deckey() | 2864 | sub deckey() |
2865 | { my ($i,$key,$tp1,$tp2,$tp4,$tp8) = @_; | 2865 | { my ($i,$key,$tp1,$tp2,$tp4,$tp8) = @_; |
@@ -2916,9 +2916,9 @@ sub deckey() | |||
2916 | &mov (&DWP(4*$i,$key),$tp1); | 2916 | &mov (&DWP(4*$i,$key),$tp1); |
2917 | } | 2917 | } |
2918 | 2918 | ||
2919 | # int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, | 2919 | # int AES_set_decrypt_key(const unsigned char *userKey, const int bits, |
2920 | # AES_KEY *key) | 2920 | # AES_KEY *key) |
2921 | &function_begin_B("private_AES_set_decrypt_key"); | 2921 | &function_begin_B("AES_set_decrypt_key"); |
2922 | &call ("_x86_AES_set_encrypt_key"); | 2922 | &call ("_x86_AES_set_encrypt_key"); |
2923 | &cmp ("eax",0); | 2923 | &cmp ("eax",0); |
2924 | &je (&label("proceed")); | 2924 | &je (&label("proceed")); |
@@ -2974,7 +2974,7 @@ sub deckey() | |||
2974 | &jb (&label("permute")); | 2974 | &jb (&label("permute")); |
2975 | 2975 | ||
2976 | &xor ("eax","eax"); # return success | 2976 | &xor ("eax","eax"); # return success |
2977 | &function_end("private_AES_set_decrypt_key"); | 2977 | &function_end("AES_set_decrypt_key"); |
2978 | &asciz("AES for x86, CRYPTOGAMS by <appro\@openssl.org>"); | 2978 | &asciz("AES for x86, CRYPTOGAMS by <appro\@openssl.org>"); |
2979 | 2979 | ||
2980 | &asm_finish(); | 2980 | &asm_finish(); |
diff --git a/src/lib/libssl/src/crypto/aes/asm/aes-armv4.pl b/src/lib/libssl/src/crypto/aes/asm/aes-armv4.pl index 86b86c4a0f..717cc1ed7f 100644 --- a/src/lib/libssl/src/crypto/aes/asm/aes-armv4.pl +++ b/src/lib/libssl/src/crypto/aes/asm/aes-armv4.pl | |||
@@ -404,10 +404,10 @@ _armv4_AES_encrypt: | |||
404 | ldr pc,[sp],#4 @ pop and return | 404 | ldr pc,[sp],#4 @ pop and return |
405 | .size _armv4_AES_encrypt,.-_armv4_AES_encrypt | 405 | .size _armv4_AES_encrypt,.-_armv4_AES_encrypt |
406 | 406 | ||
407 | .global private_AES_set_encrypt_key | 407 | .global AES_set_encrypt_key |
408 | .type private_AES_set_encrypt_key,%function | 408 | .type AES_set_encrypt_key,%function |
409 | .align 5 | 409 | .align 5 |
410 | private_AES_set_encrypt_key: | 410 | AES_set_encrypt_key: |
411 | _armv4_AES_set_encrypt_key: | 411 | _armv4_AES_set_encrypt_key: |
412 | sub r3,pc,#8 @ AES_set_encrypt_key | 412 | sub r3,pc,#8 @ AES_set_encrypt_key |
413 | teq r0,#0 | 413 | teq r0,#0 |
@@ -679,12 +679,12 @@ _armv4_AES_set_encrypt_key: | |||
679 | .Labrt: tst lr,#1 | 679 | .Labrt: tst lr,#1 |
680 | moveq pc,lr @ be binary compatible with V4, yet | 680 | moveq pc,lr @ be binary compatible with V4, yet |
681 | bx lr @ interoperable with Thumb ISA:-) | 681 | bx lr @ interoperable with Thumb ISA:-) |
682 | .size private_AES_set_encrypt_key,.-private_AES_set_encrypt_key | 682 | .size AES_set_encrypt_key,.-AES_set_encrypt_key |
683 | 683 | ||
684 | .global private_AES_set_decrypt_key | 684 | .global AES_set_decrypt_key |
685 | .type private_AES_set_decrypt_key,%function | 685 | .type AES_set_decrypt_key,%function |
686 | .align 5 | 686 | .align 5 |
687 | private_AES_set_decrypt_key: | 687 | AES_set_decrypt_key: |
688 | str lr,[sp,#-4]! @ push lr | 688 | str lr,[sp,#-4]! @ push lr |
689 | bl _armv4_AES_set_encrypt_key | 689 | bl _armv4_AES_set_encrypt_key |
690 | teq r0,#0 | 690 | teq r0,#0 |
@@ -773,7 +773,7 @@ $code.=<<___; | |||
773 | moveq pc,lr @ be binary compatible with V4, yet | 773 | moveq pc,lr @ be binary compatible with V4, yet |
774 | bx lr @ interoperable with Thumb ISA:-) | 774 | bx lr @ interoperable with Thumb ISA:-) |
775 | #endif | 775 | #endif |
776 | .size private_AES_set_decrypt_key,.-private_AES_set_decrypt_key | 776 | .size AES_set_decrypt_key,.-AES_set_decrypt_key |
777 | 777 | ||
778 | .type AES_Td,%object | 778 | .type AES_Td,%object |
779 | .align 5 | 779 | .align 5 |
diff --git a/src/lib/libssl/src/crypto/aes/asm/aes-mips.pl b/src/lib/libssl/src/crypto/aes/asm/aes-mips.pl index e52395421b..2ce6deffc8 100644 --- a/src/lib/libssl/src/crypto/aes/asm/aes-mips.pl +++ b/src/lib/libssl/src/crypto/aes/asm/aes-mips.pl | |||
@@ -1036,9 +1036,9 @@ _mips_AES_set_encrypt_key: | |||
1036 | nop | 1036 | nop |
1037 | .end _mips_AES_set_encrypt_key | 1037 | .end _mips_AES_set_encrypt_key |
1038 | 1038 | ||
1039 | .globl private_AES_set_encrypt_key | 1039 | .globl AES_set_encrypt_key |
1040 | .ent private_AES_set_encrypt_key | 1040 | .ent AES_set_encrypt_key |
1041 | private_AES_set_encrypt_key: | 1041 | AES_set_encrypt_key: |
1042 | .frame $sp,$FRAMESIZE,$ra | 1042 | .frame $sp,$FRAMESIZE,$ra |
1043 | .mask $SAVED_REGS_MASK,-$SZREG | 1043 | .mask $SAVED_REGS_MASK,-$SZREG |
1044 | .set noreorder | 1044 | .set noreorder |
@@ -1060,7 +1060,7 @@ $code.=<<___ if ($flavour =~ /nubi/i); # optimize non-nubi prologue | |||
1060 | ___ | 1060 | ___ |
1061 | $code.=<<___ if ($flavour !~ /o32/i); # non-o32 PIC-ification | 1061 | $code.=<<___ if ($flavour !~ /o32/i); # non-o32 PIC-ification |
1062 | .cplocal $Tbl | 1062 | .cplocal $Tbl |
1063 | .cpsetup $pf,$zero,private_AES_set_encrypt_key | 1063 | .cpsetup $pf,$zero,AES_set_encrypt_key |
1064 | ___ | 1064 | ___ |
1065 | $code.=<<___; | 1065 | $code.=<<___; |
1066 | .set reorder | 1066 | .set reorder |
@@ -1083,7 +1083,7 @@ ___ | |||
1083 | $code.=<<___; | 1083 | $code.=<<___; |
1084 | jr $ra | 1084 | jr $ra |
1085 | $PTR_ADD $sp,$FRAMESIZE | 1085 | $PTR_ADD $sp,$FRAMESIZE |
1086 | .end private_AES_set_encrypt_key | 1086 | .end AES_set_encrypt_key |
1087 | ___ | 1087 | ___ |
1088 | 1088 | ||
1089 | my ($head,$tail)=($inp,$bits); | 1089 | my ($head,$tail)=($inp,$bits); |
@@ -1091,9 +1091,9 @@ my ($tp1,$tp2,$tp4,$tp8,$tp9,$tpb,$tpd,$tpe)=($a4,$a5,$a6,$a7,$s0,$s1,$s2,$s3); | |||
1091 | my ($m,$x80808080,$x7f7f7f7f,$x1b1b1b1b)=($at,$t0,$t1,$t2); | 1091 | my ($m,$x80808080,$x7f7f7f7f,$x1b1b1b1b)=($at,$t0,$t1,$t2); |
1092 | $code.=<<___; | 1092 | $code.=<<___; |
1093 | .align 5 | 1093 | .align 5 |
1094 | .globl private_AES_set_decrypt_key | 1094 | .globl AES_set_decrypt_key |
1095 | .ent private_AES_set_decrypt_key | 1095 | .ent AES_set_decrypt_key |
1096 | private_AES_set_decrypt_key: | 1096 | AES_set_decrypt_key: |
1097 | .frame $sp,$FRAMESIZE,$ra | 1097 | .frame $sp,$FRAMESIZE,$ra |
1098 | .mask $SAVED_REGS_MASK,-$SZREG | 1098 | .mask $SAVED_REGS_MASK,-$SZREG |
1099 | .set noreorder | 1099 | .set noreorder |
@@ -1115,7 +1115,7 @@ $code.=<<___ if ($flavour =~ /nubi/i); # optimize non-nubi prologue | |||
1115 | ___ | 1115 | ___ |
1116 | $code.=<<___ if ($flavour !~ /o32/i); # non-o32 PIC-ification | 1116 | $code.=<<___ if ($flavour !~ /o32/i); # non-o32 PIC-ification |
1117 | .cplocal $Tbl | 1117 | .cplocal $Tbl |
1118 | .cpsetup $pf,$zero,private_AES_set_decrypt_key | 1118 | .cpsetup $pf,$zero,AES_set_decrypt_key |
1119 | ___ | 1119 | ___ |
1120 | $code.=<<___; | 1120 | $code.=<<___; |
1121 | .set reorder | 1121 | .set reorder |
@@ -1226,7 +1226,7 @@ ___ | |||
1226 | $code.=<<___; | 1226 | $code.=<<___; |
1227 | jr $ra | 1227 | jr $ra |
1228 | $PTR_ADD $sp,$FRAMESIZE | 1228 | $PTR_ADD $sp,$FRAMESIZE |
1229 | .end private_AES_set_decrypt_key | 1229 | .end AES_set_decrypt_key |
1230 | ___ | 1230 | ___ |
1231 | }}} | 1231 | }}} |
1232 | 1232 | ||
diff --git a/src/lib/libssl/src/crypto/aes/asm/aes-s390x.pl b/src/lib/libssl/src/crypto/aes/asm/aes-s390x.pl index e75dcd0315..71d5b55077 100644 --- a/src/lib/libssl/src/crypto/aes/asm/aes-s390x.pl +++ b/src/lib/libssl/src/crypto/aes/asm/aes-s390x.pl | |||
@@ -779,10 +779,10 @@ ___ | |||
779 | $code.=<<___; | 779 | $code.=<<___; |
780 | # void AES_set_encrypt_key(const unsigned char *in, int bits, | 780 | # void AES_set_encrypt_key(const unsigned char *in, int bits, |
781 | # AES_KEY *key) { | 781 | # AES_KEY *key) { |
782 | .globl private_AES_set_encrypt_key | 782 | .globl AES_set_encrypt_key |
783 | .type private_AES_set_encrypt_key,\@function | 783 | .type AES_set_encrypt_key,\@function |
784 | .align 16 | 784 | .align 16 |
785 | private_AES_set_encrypt_key: | 785 | AES_set_encrypt_key: |
786 | _s390x_AES_set_encrypt_key: | 786 | _s390x_AES_set_encrypt_key: |
787 | lghi $t0,0 | 787 | lghi $t0,0 |
788 | cl${g}r $inp,$t0 | 788 | cl${g}r $inp,$t0 |
@@ -1063,14 +1063,14 @@ $code.=<<___; | |||
1063 | .Lminus1: | 1063 | .Lminus1: |
1064 | lghi %r2,-1 | 1064 | lghi %r2,-1 |
1065 | br $ra | 1065 | br $ra |
1066 | .size private_AES_set_encrypt_key,.-private_AES_set_encrypt_key | 1066 | .size AES_set_encrypt_key,.-AES_set_encrypt_key |
1067 | 1067 | ||
1068 | # void AES_set_decrypt_key(const unsigned char *in, int bits, | 1068 | # void AES_set_decrypt_key(const unsigned char *in, int bits, |
1069 | # AES_KEY *key) { | 1069 | # AES_KEY *key) { |
1070 | .globl private_AES_set_decrypt_key | 1070 | .globl AES_set_decrypt_key |
1071 | .type private_AES_set_decrypt_key,\@function | 1071 | .type AES_set_decrypt_key,\@function |
1072 | .align 16 | 1072 | .align 16 |
1073 | private_AES_set_decrypt_key: | 1073 | AES_set_decrypt_key: |
1074 | #st${g} $key,4*$SIZE_T($sp) # I rely on AES_set_encrypt_key to | 1074 | #st${g} $key,4*$SIZE_T($sp) # I rely on AES_set_encrypt_key to |
1075 | st${g} $ra,14*$SIZE_T($sp) # save non-volatile registers and $key! | 1075 | st${g} $ra,14*$SIZE_T($sp) # save non-volatile registers and $key! |
1076 | bras $ra,_s390x_AES_set_encrypt_key | 1076 | bras $ra,_s390x_AES_set_encrypt_key |
@@ -1170,7 +1170,7 @@ $code.=<<___; | |||
1170 | lm${g} %r6,%r13,6*$SIZE_T($sp)# as was saved by AES_set_encrypt_key! | 1170 | lm${g} %r6,%r13,6*$SIZE_T($sp)# as was saved by AES_set_encrypt_key! |
1171 | lghi %r2,0 | 1171 | lghi %r2,0 |
1172 | br $ra | 1172 | br $ra |
1173 | .size private_AES_set_decrypt_key,.-private_AES_set_decrypt_key | 1173 | .size AES_set_decrypt_key,.-AES_set_decrypt_key |
1174 | ___ | 1174 | ___ |
1175 | 1175 | ||
1176 | ######################################################################## | 1176 | ######################################################################## |
diff --git a/src/lib/libssl/src/crypto/aes/asm/aes-x86_64.pl b/src/lib/libssl/src/crypto/aes/asm/aes-x86_64.pl index 34cbb5d844..f75e90ba87 100755 --- a/src/lib/libssl/src/crypto/aes/asm/aes-x86_64.pl +++ b/src/lib/libssl/src/crypto/aes/asm/aes-x86_64.pl | |||
@@ -1284,13 +1284,13 @@ $code.=<<___; | |||
1284 | ___ | 1284 | ___ |
1285 | } | 1285 | } |
1286 | 1286 | ||
1287 | # int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, | 1287 | # int AES_set_encrypt_key(const unsigned char *userKey, const int bits, |
1288 | # AES_KEY *key) | 1288 | # AES_KEY *key) |
1289 | $code.=<<___; | 1289 | $code.=<<___; |
1290 | .globl private_AES_set_encrypt_key | 1290 | .globl AES_set_encrypt_key |
1291 | .type private_AES_set_encrypt_key,\@function,3 | 1291 | .type AES_set_encrypt_key,\@function,3 |
1292 | .align 16 | 1292 | .align 16 |
1293 | private_AES_set_encrypt_key: | 1293 | AES_set_encrypt_key: |
1294 | push %rbx | 1294 | push %rbx |
1295 | push %rbp | 1295 | push %rbp |
1296 | push %r12 # redundant, but allows to share | 1296 | push %r12 # redundant, but allows to share |
@@ -1311,7 +1311,7 @@ private_AES_set_encrypt_key: | |||
1311 | add \$56,%rsp | 1311 | add \$56,%rsp |
1312 | .Lenc_key_epilogue: | 1312 | .Lenc_key_epilogue: |
1313 | ret | 1313 | ret |
1314 | .size private_AES_set_encrypt_key,.-private_AES_set_encrypt_key | 1314 | .size AES_set_encrypt_key,.-AES_set_encrypt_key |
1315 | 1315 | ||
1316 | .type _x86_64_AES_set_encrypt_key,\@abi-omnipotent | 1316 | .type _x86_64_AES_set_encrypt_key,\@abi-omnipotent |
1317 | .align 16 | 1317 | .align 16 |
@@ -1554,13 +1554,13 @@ $code.=<<___; | |||
1554 | ___ | 1554 | ___ |
1555 | } | 1555 | } |
1556 | 1556 | ||
1557 | # int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, | 1557 | # int AES_set_decrypt_key(const unsigned char *userKey, const int bits, |
1558 | # AES_KEY *key) | 1558 | # AES_KEY *key) |
1559 | $code.=<<___; | 1559 | $code.=<<___; |
1560 | .globl private_AES_set_decrypt_key | 1560 | .globl AES_set_decrypt_key |
1561 | .type private_AES_set_decrypt_key,\@function,3 | 1561 | .type AES_set_decrypt_key,\@function,3 |
1562 | .align 16 | 1562 | .align 16 |
1563 | private_AES_set_decrypt_key: | 1563 | AES_set_decrypt_key: |
1564 | push %rbx | 1564 | push %rbx |
1565 | push %rbp | 1565 | push %rbp |
1566 | push %r12 | 1566 | push %r12 |
@@ -1629,7 +1629,7 @@ $code.=<<___; | |||
1629 | add \$56,%rsp | 1629 | add \$56,%rsp |
1630 | .Ldec_key_epilogue: | 1630 | .Ldec_key_epilogue: |
1631 | ret | 1631 | ret |
1632 | .size private_AES_set_decrypt_key,.-private_AES_set_decrypt_key | 1632 | .size AES_set_decrypt_key,.-AES_set_decrypt_key |
1633 | ___ | 1633 | ___ |
1634 | 1634 | ||
1635 | # void AES_cbc_encrypt (const void char *inp, unsigned char *out, | 1635 | # void AES_cbc_encrypt (const void char *inp, unsigned char *out, |
@@ -2776,13 +2776,13 @@ cbc_se_handler: | |||
2776 | .rva .LSEH_end_AES_decrypt | 2776 | .rva .LSEH_end_AES_decrypt |
2777 | .rva .LSEH_info_AES_decrypt | 2777 | .rva .LSEH_info_AES_decrypt |
2778 | 2778 | ||
2779 | .rva .LSEH_begin_private_AES_set_encrypt_key | 2779 | .rva .LSEH_begin_AES_set_encrypt_key |
2780 | .rva .LSEH_end_private_AES_set_encrypt_key | 2780 | .rva .LSEH_end_AES_set_encrypt_key |
2781 | .rva .LSEH_info_private_AES_set_encrypt_key | 2781 | .rva .LSEH_info_AES_set_encrypt_key |
2782 | 2782 | ||
2783 | .rva .LSEH_begin_private_AES_set_decrypt_key | 2783 | .rva .LSEH_begin_AES_set_decrypt_key |
2784 | .rva .LSEH_end_private_AES_set_decrypt_key | 2784 | .rva .LSEH_end_AES_set_decrypt_key |
2785 | .rva .LSEH_info_private_AES_set_decrypt_key | 2785 | .rva .LSEH_info_AES_set_decrypt_key |
2786 | 2786 | ||
2787 | .rva .LSEH_begin_AES_cbc_encrypt | 2787 | .rva .LSEH_begin_AES_cbc_encrypt |
2788 | .rva .LSEH_end_AES_cbc_encrypt | 2788 | .rva .LSEH_end_AES_cbc_encrypt |
@@ -2798,11 +2798,11 @@ cbc_se_handler: | |||
2798 | .byte 9,0,0,0 | 2798 | .byte 9,0,0,0 |
2799 | .rva block_se_handler | 2799 | .rva block_se_handler |
2800 | .rva .Ldec_prologue,.Ldec_epilogue # HandlerData[] | 2800 | .rva .Ldec_prologue,.Ldec_epilogue # HandlerData[] |
2801 | .LSEH_info_private_AES_set_encrypt_key: | 2801 | .LSEH_info_AES_set_encrypt_key: |
2802 | .byte 9,0,0,0 | 2802 | .byte 9,0,0,0 |
2803 | .rva key_se_handler | 2803 | .rva key_se_handler |
2804 | .rva .Lenc_key_prologue,.Lenc_key_epilogue # HandlerData[] | 2804 | .rva .Lenc_key_prologue,.Lenc_key_epilogue # HandlerData[] |
2805 | .LSEH_info_private_AES_set_decrypt_key: | 2805 | .LSEH_info_AES_set_decrypt_key: |
2806 | .byte 9,0,0,0 | 2806 | .byte 9,0,0,0 |
2807 | .rva key_se_handler | 2807 | .rva key_se_handler |
2808 | .rva .Ldec_key_prologue,.Ldec_key_epilogue # HandlerData[] | 2808 | .rva .Ldec_key_prologue,.Ldec_key_epilogue # HandlerData[] |