Source
782
782
unsigned int keylen)
783
783
{
784
784
struct des_ctx *dctx = crypto_tfm_ctx(tfm);
785
785
u32 *flags = &tfm->crt_flags;
786
786
u32 tmp[DES_EXPKEY_WORDS];
787
787
int ret;
788
788
789
789
/* Expand to tmp */
790
790
ret = des_ekey(tmp, key);
791
791
792
-
if (unlikely(ret == 0) && (*flags & CRYPTO_TFM_REQ_WEAK_KEY)) {
792
+
if (unlikely(ret == 0) && (*flags & CRYPTO_TFM_REQ_FORBID_WEAK_KEYS)) {
793
793
*flags |= CRYPTO_TFM_RES_WEAK_KEY;
794
794
return -EINVAL;
795
795
}
796
796
797
797
/* Copy to output */
798
798
memcpy(dctx->expkey, tmp, sizeof(dctx->expkey));
799
799
800
800
return 0;
801
801
}
802
802
859
859
* property.
860
860
*
861
861
*/
862
862
int __des3_ede_setkey(u32 *expkey, u32 *flags, const u8 *key,
863
863
unsigned int keylen)
864
864
{
865
865
const u32 *K = (const u32 *)key;
866
866
867
867
if (unlikely(!((K[0] ^ K[2]) | (K[1] ^ K[3])) ||
868
868
!((K[2] ^ K[4]) | (K[3] ^ K[5]))) &&
869
-
(*flags & CRYPTO_TFM_REQ_WEAK_KEY)) {
869
+
(*flags & CRYPTO_TFM_REQ_FORBID_WEAK_KEYS)) {
870
870
*flags |= CRYPTO_TFM_RES_WEAK_KEY;
871
871
return -EINVAL;
872
872
}
873
873
874
874
des_ekey(expkey, key); expkey += DES_EXPKEY_WORDS; key += DES_KEY_SIZE;
875
875
dkey(expkey, key); expkey += DES_EXPKEY_WORDS; key += DES_KEY_SIZE;
876
876
des_ekey(expkey, key);
877
877
878
878
return 0;
879
879
}