algorithme - La classe RijndaelManaged en C # est-elle équivalente au cryptage AES?
Je pose cette question afin de confirmer que la RijndaelManaged classe en C# est équivalent à un cryptage AES. De ce que j'ai lu, RijndaelManaged était l'algorithme de choix pour mettre en œuvre AES encyrption. Quelqu'un peut-il confirmer cela svp?
Est RijndaelManaged algorithme sûr pour être utilisé pour un projet web? Merci 🙂
source d'informationauteur Matthew
Vous devez vous connecter pour publier un commentaire.
L'algorithme AES a été sélectionné lors d'un concours organisé par le NIST, entre 1997 et 2000. Le gagnant a été un algorithme appelé Rijndael.
NIST précisé que l'algorithme AES était d'avoir un bloc de 128 bits taille. Comme Rijndael prend en charge les tailles de bloc de 128, 160, 192, 224, et 256 bits, la finale AES spécification diffère de l'originale de Rijndael spécification à cet égard. En d'autres termes, "AES" et "Rijndael" sont le même algorithme, à l'exception de "AES" est limité à une taille de bloc de 128 bits.
Taille de bloc n'a rien à voir avec la taille de la clé. L'algorithme en question prend en charge 128, 192 et 256 bits pour les clés. Plus les clés ne sont pas nécessairement "plus fort", parce que AES a certains théorique faiblesses. De toute façon, des clés de 128 bits sont beaucoup assez longtemps pour l'avenir prévisible.
Comme EkoostikMartin dit, AES est incassable à ce jour. Mais la cryptographie est dur, et même les professionnels ne peuvent pas réussir à chaque fois. À l'aide de matières primitives cryptographiques sans savoir exactement ce que vous faites sera probablement résultat en quelque chose de mauvais. Pour le dire autrement, l'algorithme de chiffrement est très rarement le maillon faible de la "chaîne de sécurité".
Si vous souhaitez utiliser AES, il suffit d'utiliser la
AesManaged
classe - http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged%28v=vs.100%29.aspxLa
RijndaelManaged
classe que vous l'avez mentionné ne cadrent pas exactement avec les AES spécifications, principalement parce qu'il donne des options autant que les tailles de bloc.AesManaged
utilise le bloc de 128 bits taille spécifiée.Autant "sûre" pour un projet web, de sa très forte à la méthode de chiffrement (il n'a jamais été rompu pour autant que je sache), mais comme pour tout, il doit être utilisé correctement.
Il y a quelques différences, notamment la possibilité de changer la taille de bloc ainsi que la taille de la clé. (AES utilise une fixe taille de bloc de 128 autant que je sache)
Si vous êtes à l'aide de la BFC de Rijndael la taille du bloc de régler la taille de la rétroaction, ce qui signifie que vous ne pouvez pas garantir une taille de bloc de 128.
Afin de s'assurer de l'équivalence, vous devrez utiliser une taille de bloc de 128, et d'éviter de la BFC ou de s'assurer que le retour de la taille est également 128.
Une autre chose à noter: si vous utilisez un statique IV avec la BFC alors votre cipher être déterministe. Éviter ce que le préfixe IV peut être facilement identifié et utilisé pour déchiffrer vos données.
(désolé pour élever un vieux thread, mais cette information n'était pas ici)