openssl/crypto
Andy Polyakov c1b2569d23 modes/gcm128.c: coalesce calls to GHASH.
On contemporary platforms assembly GHASH processes multiple blocks
faster than one by one. For TLS payloads shorter than 16 bytes, e.g.
alerts, it's possible to reduce hashing operation to single call.
And for block lengths not divisible by 16 - fold two final calls to
one. Improvement is most noticeable with "reptoline", because call to
assembly GHASH is indirect.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6312)
2018-06-03 21:13:28 +02:00
..
aes Update copyright year 2018-05-29 13:16:04 +01:00
aria Fix potential null problem. 2017-09-01 09:30:18 +10:00
asn1 Limit scope of CN name constraints 2018-05-23 11:12:13 -04:00
async Update copyright year 2018-05-01 13:34:30 +01:00
bf Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
bio Update copyright year 2018-05-29 13:16:04 +01:00
blake2 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
bn bn/bn_exp.c: mitigation of the One-and-Done side-channel attack. 2018-05-30 23:01:56 +02:00
buffer Update copyright year 2018-04-03 13:57:12 +01:00
camellia Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
cast Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
chacha chacha/asm/chacha-ppc.pl: optimize AltiVec/VMX code path. 2018-05-30 22:52:51 +02:00
cmac Update copyright year 2018-04-17 15:18:40 +02:00
cms Update copyright year 2018-05-29 13:16:04 +01:00
comp Fix last(?) batch of malloc-NULL places 2018-04-26 14:02:24 -04:00
conf Update copyright year 2018-05-29 13:16:04 +01:00
ct Update copyright year 2018-05-29 13:16:04 +01:00
des Update copyright year 2018-04-03 13:57:12 +01:00
dh Update copyright year 2018-05-29 13:16:04 +01:00
dsa Update copyright year 2018-05-29 13:16:04 +01:00
dso openssl#5668: corrections after compiling with -qinfo=all:als. 2018-04-14 13:28:31 +02:00
ec Remove some logically dead code 2018-05-31 10:38:51 +01:00
engine ENGINE_pkey_asn1_find_str(): don't assume an engine implements ASN1 method 2018-05-31 12:03:20 +02:00
err Add APIs for custom X509_LOOKUP_METHOD creation 2018-05-30 15:45:48 +02:00
evp evp/e_aes.c: replace calls to one-liners with references in GCM. 2018-06-03 21:12:52 +02:00
hmac Update copyright year 2018-04-17 15:18:40 +02:00
idea Remove parentheses of return. 2017-10-18 16:05:06 +01:00
include/internal Limit scope of CN name constraints 2018-05-23 11:12:13 -04:00
kdf Update copyright year 2018-04-17 15:18:40 +02:00
lhash Update copyright year 2018-05-01 13:34:30 +01:00
md2 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
md4 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
md5 Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
mdc2 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
modes modes/gcm128.c: coalesce calls to GHASH. 2018-06-03 21:13:28 +02:00
objects Add missing error code when alloc-return-null 2018-04-26 12:27:46 -04:00
ocsp Update copyright year 2018-02-13 13:59:25 +00:00
pem Update copyright year 2018-05-29 13:16:04 +01:00
perlasm perlasm/ppc-xlate.pl: add new instructions and clean up. 2018-05-30 22:51:58 +02:00
pkcs7 Update copyright year 2018-03-20 13:08:46 +00:00
pkcs12 Update copyright year 2018-05-01 13:34:30 +01:00
poly1305 Update copyright year 2018-05-29 13:16:04 +01:00
rand Fix checking the return value of getentropy() 2018-06-03 12:14:32 +02:00
rc2 Remove email addresses from source code. 2017-10-13 10:06:59 -04:00
rc4 Update copyright year 2018-03-20 13:08:46 +00:00
rc5 Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
ripemd Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
rsa Update copyright year 2018-05-29 13:16:04 +01:00
seed Use _WIN32 over WIN32 for preprocessor conditional 2017-02-16 08:59:47 -05:00
sha Update copyright year 2018-05-29 13:16:04 +01:00
siphash Update copyright year 2018-04-17 15:18:40 +02:00
sm2 [SM2_sign] fix double free and return value 2018-04-25 10:24:43 +01:00
sm3 SM3: restructure to EVP internal and update doc to right location 2017-11-06 07:21:15 +08:00
sm4 SM4: Add SM4 block cipher to EVP 2017-10-31 15:19:14 +10:00
srp Fix a memory leak in an error path 2018-04-17 17:26:16 +01:00
stack Fix last(?) batch of malloc-NULL places 2018-04-26 14:02:24 -04:00
store Update copyright year 2018-05-29 13:16:04 +01:00
ts Use void in all function definitions that do not take any arguments 2018-05-11 14:37:48 +02:00
txt_db Update copyright year 2018-04-03 13:57:12 +01:00
ui Update copyright year 2018-05-29 13:16:04 +01:00
whrlpool Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
x509 Add APIs for custom X509_LOOKUP_METHOD creation 2018-05-30 15:45:48 +02:00
x509v3 Update copyright year 2018-05-29 13:16:04 +01:00
alphacpuid.pl Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00
arm64cpuid.pl Update copyright year 2018-02-13 13:59:25 +00:00
arm_arch.h Fix building linux-armv4 with --strict-warnings 2018-04-20 15:49:33 +02:00
armcap.c crypto/armcap.c: mask SHA512 hardware detection on iOS. 2018-03-06 23:18:24 +01:00
armv4cpuid.pl Update copyright year 2018-05-01 13:34:30 +01:00
build.info Remove import/use of File::Spec::Function 2018-04-01 22:41:04 +02:00
c64xpluscpuid.pl Many spelling fixes/typo's corrected. 2017-11-11 19:03:10 -05:00
cpt_err.c Fix last(?) batch of malloc-NULL places 2018-04-26 14:02:24 -04:00
cryptlib.c Enabled OneCore Conf for Console Apps (removed nonUniversal API) 2018-04-03 18:39:22 +02:00
ctype.c Check for EOF in ASCII conversions. 2017-08-25 06:42:17 +10:00
cversion.c Fix SOURCE_DATE_EPOCH bug; use UTC 2017-11-27 14:34:14 -05:00
dllmain.c Remove parentheses of return. 2017-10-18 16:05:06 +01:00
ebcdic.c Remove email addresses from source code. 2017-10-13 10:06:59 -04:00
ex_data.c Ensure the thread keys are always allocated in the same order 2018-04-20 15:45:06 +02:00
ia64cpuid.S Fix typo in files in crypto folder 2017-08-05 20:42:06 +02:00
init.c Fix memleaks in async api 2018-04-26 18:39:51 +02:00
LPdir_nyi.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_unix.c Adjust LPdir_unix.c on VMS for OpenSSL expectations 2018-03-12 23:01:02 +01:00
LPdir_vms.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_win.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_win32.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
LPdir_wince.c Fix typo (note by oneton@users.github) 2017-06-20 08:15:00 -04:00
mem.c Avoid unconditional store in CRYPTO_malloc. 2018-03-06 13:21:49 -05:00
mem_clr.c Fix some style issues... 2016-08-02 09:59:23 +02:00
mem_dbg.c Update copyright year 2018-02-13 13:59:25 +00:00
mem_sec.c Use void in all function definitions that do not take any arguments 2018-05-11 14:37:48 +02:00
mips_arch.h Remove trailing whitespace from some files. 2016-10-10 23:36:21 +01:00
o_dir.c Move e_os.h to be the very first include. 2017-08-30 07:20:44 +10:00
o_fips.c Clean up references to FIPS 2017-02-28 15:26:25 +01:00
o_fopen.c Set error code on alloc failures 2018-04-03 11:31:16 -04:00
o_init.c Use "" not <> on e_os.h include 2017-08-22 11:07:56 -04:00
o_str.c Revert "GH614: Use memcpy()/strdup() when possible" 2017-09-14 10:26:54 +10:00
o_time.c Update copyright year 2018-04-03 13:57:12 +01:00
pariscid.pl Update copyright year 2018-04-03 13:57:12 +01:00
ppc_arch.h GH919: Fix wrappers for two headers 2016-05-24 11:04:38 -04:00
ppccap.c Update copyright year 2018-05-29 13:16:04 +01:00
ppccpuid.pl Add assembly CRYPTO_memcmp. 2016-05-19 22:33:00 +02:00
s390x_arch.h s390x assembly pack: add KMF code path for aes-cfb/cfb8 2018-03-28 23:31:01 +02:00
s390xcap.c s390x assembly pack: extend s390x capability vector. 2017-10-30 14:31:32 +01:00
s390xcpuid.pl s390x assembly pack: add KMF code path for aes-cfb/cfb8 2018-03-28 23:31:01 +02:00
sparc_arch.h Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
sparccpuid.S Clean up references to FIPS 2017-02-28 15:26:25 +01:00
sparcv9cap.c Create a prototype for OPENSSL_rdtsc 2017-11-25 14:30:11 +01:00
threads_none.c Update copyright year 2018-04-17 15:18:40 +02:00
threads_pthread.c Update copyright year 2018-04-17 15:18:40 +02:00
threads_win.c Save and restore the Windows error around TlsGetValue. 2018-05-23 17:34:54 -04:00
uid.c Cleaning UEFI Build with additional OPENSSL_SYS_UEFI flags 2017-03-29 07:35:59 +02:00
vms_rms.h Copyright consolidation 09/10 2016-05-17 14:53:16 -04:00
x86_64cpuid.pl Fix issues in ia32 RDRAND asm leading to reduced entropy 2018-03-08 10:27:49 -05:00
x86cpuid.pl Fix issues in ia32 RDRAND asm leading to reduced entropy 2018-03-08 10:27:49 -05:00