2009-08-29 4 views
3

Je veux utiliser PBKDF2 avec une fonction de hachage cryptographique pour générer des clés AES 128 bits. SHA1 est aussi 128 bits, donc j'ai pensé à utiliser ça avec PBKDF2, mais c'était cassé, donc j'ai choisi d'utiliser SHA256 à la place. Est-ce que c'est sûr, ou est-ce que la différence entre la taille de hachage et la taille de clé résultante provoquera une sorte de troncation silencieuse désastreuse qui rendra les clés AES faibles? Devrais-je simplement le générer à la place des clés de 256 bits pour AES?Est-il sûr d'utiliser PBKDF2 avec SHA256 pour générer des clés AES 128 bits?

+0

SHA1 est de 160 bits. –

+0

Vous "pensé à utiliser SHA1HMAC avec PBKDF2" ?? Je ne comprends pas ça. RFC2898 spécifie SHA1HMAC comme ** PRF ** par défaut pour PBKDF2. (Voir l'annexe A.2 de la RFC2898). – Cheeso

Répondre

3

Alors que SHA-1 est "cassé", la plupart des systèmes raisonnables utilisent seulement la version HMAC, qui est plus forte et probably still fine. Cela dit, les nouveaux protocoles comme TLS 1.2, utilisent at least SHA-256 pour leur fonction pseudo-aléatoire (PRF).

Vous devriez pouvoir tronquer le résultat à la taille dont vous avez besoin (comme le font la plupart des PRF). Une discussion préalable est disponible sur this question.

En termes de longueur de clé, voir keylength.com. Vous voulez vous assurer que vous êtes cohérent dans la façon dont vous utilisez chaque primitive.

+0

Merci pour la réponse. –

Questions connexes