aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/aesni/aesni_ccm.c
Commit message (Collapse)AuthorAgeFilesLines
* Use standard unsigned integer typesAndreas Steffen2016-03-241-4/+4
|
* aesni: Avoid loading AES/GHASH round keys into local variablesMartin Willi2015-04-151-285/+211
| | | | | | | | | | 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: Partially use separate code paths for different key sizes in CCMMartin Willi2015-04-151-33/+438
| | | | Due to the serial nature of the CBC mac, this brings only a marginal speedup.
* aesni: Add a CCM AEAD reusing the key scheduleMartin Willi2015-04-151-0/+583