aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/aesni/aesni_xcbc.c
Commit message (Collapse)AuthorAgeFilesLines
* Use standard unsigned integer typesAndreas Steffen2016-03-241-1/+1
|
* aesni: Avoid loading AES/GHASH round keys into local variablesMartin Willi2015-04-151-46/+35
| | | | | | | | | | The performance impact is not measurable, as the compiler loads these variables in xmm registers in unrolled loops anyway. However, we avoid loading these sensitive keys onto the stack. This happens for larger key schedules, where the register count is insufficient. If that key material is not on the stack, we can avoid to wipe it explicitly after crypto operations.
* aesni: Align all class instances to 16 byte boundariesMartin Willi2015-04-151-2/+2
| | | | | | While the required members are aligned in the struct as required, on 32-bit platforms the allocator aligns the structures itself to 8 bytes only. This results in non-aligned struct members, and invalid memory accesses.
* aesni: Implement XCBC mode to provide a signer/prfMartin Willi2015-04-151-0/+378
Compared to the xcbc plugin using AESNI-CBC as backend, this improves performance of AES-XCBC by ~45%.