mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-31 04:01:48 -04:00
crypto: ghash - Add PCLMULQDQ accelerated implementation
PCLMULQDQ is used to accelerate the most time-consuming part of GHASH, carry-less multiplication. More information about PCLMULQDQ can be found at: http://software.intel.com/en-us/articles/carry-less-multiplication-and-its-usage-for-computing-the-gcm-mode/ Because PCLMULQDQ changes XMM state, its usage must be enclosed with kernel_fpu_begin/end, which can be used only in process context, the acceleration is implemented as crypto_ahash. That is, request in soft IRQ context will be defered to the cryptd kernel thread. Signed-off-by: Huang Ying <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
This commit is contained in:
parent
4c6ab3ee4c
commit
0e1227d356
7 changed files with 510 additions and 0 deletions
|
|
@ -440,6 +440,14 @@ config CRYPTO_WP512
|
|||
See also:
|
||||
<http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html>
|
||||
|
||||
config CRYPTO_GHASH_CLMUL_NI_INTEL
|
||||
tristate "GHASH digest algorithm (CLMUL-NI accelerated)"
|
||||
select CRYPTO_SHASH
|
||||
select CRYPTO_CRYPTD
|
||||
help
|
||||
GHASH is message digest algorithm for GCM (Galois/Counter Mode).
|
||||
The implementation is accelerated by CLMUL-NI of Intel.
|
||||
|
||||
comment "Ciphers"
|
||||
|
||||
config CRYPTO_AES
|
||||
|
|
|
|||
Loading…
Reference in a new issue