Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7ee27f5a authored by Lionel Debieve's avatar Lionel Debieve Committed by Herbert Xu
Browse files

crypto: stm32/cryp - add weak key check for DES



Add weak key test for des functions calling the generic
des_ekey.

Signed-off-by: default avatarLionel Debieve <lionel.debieve@st.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 6bbc3936
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ config CRYPTO_DEV_STM32_CRYP
	depends on ARCH_STM32
	select CRYPTO_HASH
	select CRYPTO_ENGINE
	select CRYPTO_DES
	help
          This enables support for the CRYP (AES/DES/TDES) hw accelerator which
	  can be found on STMicroelectronics STM32 SOC.
+11 −2
Original line number Diff line number Diff line
@@ -753,9 +753,18 @@ static int stm32_cryp_aes_setkey(struct crypto_ablkcipher *tfm, const u8 *key,
static int stm32_cryp_des_setkey(struct crypto_ablkcipher *tfm, const u8 *key,
				 unsigned int keylen)
{
	u32 tmp[DES_EXPKEY_WORDS];

	if (keylen != DES_KEY_SIZE)
		return -EINVAL;
	else

	if ((crypto_ablkcipher_get_flags(tfm) &
	     CRYPTO_TFM_REQ_FORBID_WEAK_KEYS) &&
	    unlikely(!des_ekey(tmp, key))) {
		crypto_ablkcipher_set_flags(tfm, CRYPTO_TFM_RES_WEAK_KEY);
		return -EINVAL;
	}

	return stm32_cryp_setkey(tfm, key, keylen);
}