143 votes

Comparaison des cryptages DES, Triple DES, AES, blowfish pour les données.

Quelqu'un a-t-il des arguments pour et contre pour comparer ces algorithmes de cryptage ?

2 votes

Cette question serait mieux adaptée à : sécurité.stackexchange.com

8 votes

Peut-être que tu voulais dire crypto.stackexchange.com ? :)

253voto

Thomas Pornin Points 36984

Utilisez AES.

Plus en détail :

  • DES est l'ancienne "norme de chiffrement des données" des années 70. La taille de sa clé est trop courte pour assurer une bonne sécurité (56 bits effectifs), ce qui peut être forcé brutalement, comme cela a été démontré. il y a plus de dix ans ). En outre, le DES utilise des blocs de 64 bits, ce qui pose quelques problèmes potentiels lors du chiffrement de plusieurs gigaoctets de données avec la même clé (un gigaoctet n'est pas si grand de nos jours).
  • 3DES est une astuce pour réutiliser les implémentations DES, en mettant en cascade trois instances de DES (avec des clés distinctes). 3DES est considéré comme sûr jusqu'à au moins " 2 112 "(ce qui est beaucoup, et assez loin dans le domaine du "non cassable avec la technologie d'aujourd'hui"). Mais il est lent, surtout en logiciel (DES a été conçu pour une implémentation matérielle efficace, mais il est nul en logiciel ; et 3DES est trois fois plus nul).
  • Blowfish est un chiffrement par blocs proposé par Bruce Schneier, et déployé dans certains logiciels. Blowfish peut utiliser des clés énormes et est considéré comme sûr, sauf en ce qui concerne sa taille de bloc, qui est de 64 bits, tout comme DES et 3DES. Blowfish est efficace en logiciel, du moins sur certaines plateformes logicielles (il utilise des tables de consultation dépendant de la clé, donc les performances dépendent de la façon dont la plateforme gère la mémoire et les caches).
  • AES est le successeur de DES comme algorithme de chiffrement symétrique standard pour les organisations fédérales américaines (et comme standard pour à peu près tout le monde, aussi). AES accepte des clés de 128, 192 ou 256 bits (128 bits est déjà très incassable), utilise des blocs de 128 bits (donc pas de problème à ce niveau), et est efficace tant au niveau logiciel que matériel. Il a été sélectionné à l'issue d'une compétition ouverte à laquelle ont participé des centaines de cryptographes pendant plusieurs années. Fondamentalement, vous ne pouvez pas avoir mieux que cela.

Donc, en cas de doute, utilisez AES.

Notez qu'un chiffreur de blocs est une boîte qui chiffre des "blocs" (des morceaux de données de 128 bits avec AES). Lors du chiffrement d'un "message" qui peut être plus long que 128 bits, le message doit être divisé en blocs, et la manière dont vous effectuez cette division est appelée le "code de sécurité". mode de fonctionnement ou "chaînage". Le mode naïf (fractionnement simple) est appelé ECB et présente des problèmes. Il n'est pas facile d'utiliser correctement un chiffrement par blocs, et c'est plus important que de choisir entre, par exemple, AES ou 3DES.

5 votes

Étant un peu fou, je recommande presque toujours l'AES256.

3 votes

Putain de merde, la NSA pouvait craquer DES en 1976 mais a continué à encourager son utilisation jusqu'en 2002 ! Traitez-moi de paranoïaque, mais j'ai peur de la pression exercée sur l'AES.

26voto

SLaks Points 391154

Tous ces systèmes, à l'exception de AES et Blowfish, présentent des vulnérabilités connues et ne devraient pas être utilisés.
Cependant, Blowfish a été remplacé par Twofish .

11voto

rohannes Points 281

Les méthodes de cryptage décrites sont des ciphers à blocs à clé symétrique.

La norme de cryptage des données (DES) est le prédécesseur de cette norme, qui crypte les données en blocs de 64 bits à l'aide d'une clé de 56 bits. Chaque bloc est crypté de manière isolée, ce qui constitue une faille de sécurité.

Le Triple DES étend la longueur de clé du DES en appliquant trois opérations DES sur chaque bloc : un chiffrement avec la clé 0, un déchiffrement avec la clé 1 et un chiffrement avec la clé 2. Ces clés peuvent être liées.

Les DES et 3DES sont généralement rencontrés lors de l'interfaçage avec des produits et services commerciaux existants.

AES est considéré comme le successeur et la norme moderne. http://en.wikipedia.org/wiki/Advanced_Encryption_Standard

Je crois que l'utilisation de Blowfish est déconseillée.

Il est fortement recommandé de ne pas essayer d'implémenter votre propre cryptographie et d'utiliser plutôt une implémentation de haut niveau telle que GPG pour les données au repos ou SSL/TLS pour les données en transit. Voici une excellente vidéo sur les vulnérabilités du cryptage qui donne à réfléchir. http://rdist.Root.org/2009/08/06/google-tech-talk-on-common-crypto-flaws/

2 votes

Pourquoi l'utilisation de blowfish est-elle déconseillée ? N'est-ce pas le plus sûr ?

5 votes

@yogsma : Blowfish a une taille de bloc de seulement 64 bits (car il était destiné à remplacer DES dans les protocoles), et devient donc problématique après quelques Go de données cryptées avec la même clé.

0 votes

@rohannes, pourquoi BlowFish est déconseillé, j'ai lu quelque part qu'en termes de performance BlowFish est meilleur que AES, regardez cet article sur brighthub.com.

9voto

BHEEMA RAM Points 59

AES est un algorithme cryptographique symétrique, tandis que RSA est un algorithme cryptographique asymétrique (ou à clé publique). Le chiffrement et le déchiffrement s'effectuent à l'aide d'une seule clé dans AES, tandis que vous utilisez des clés distinctes (clés publiques et privées) dans RSA. La force d'une clé AES de 128 bits est à peu près équivalente à celle d'une clé RSA de 2600 bits.

7 votes

Pouvez-vous fournir les calculs qui sous-tendent cette réponse, ou une source ? Je serais intéressé de savoir comment vous êtes arrivé à la conclusion que l'AES 128 bits est à peu près équivalent au RSA 2600 bits (je réalise que c'est une vieille réponse).

3 votes

@RussellUhl - Je suis d'accord pour dire que l'histoire de ces chiffres est une question intéressante, même après deux années supplémentaires de silence :) Ces chiffres semblent pouvoir être dérivés de ce document PDF : eprint.iacr.org/2013/635.pdf intitulé Universal security - from bits and mips to pools, lakes – and beyond .

4voto

QMaster Points 384

Bien que TripleDESCryptoServiceProvider soit une méthode sûre et efficace, elle est trop lente. Si vous voulez vous référer à MSDN, vous obtiendrez que vous conseiller d'utiliser AES plutôt que TripleDES. Veuillez consulter le lien ci-dessous : http://msdn.microsoft.com/en-us/library/system.security.cryptography.tripledescryptoserviceprovider.aspx vous verrez cette attention dans la section des remarques :

Note Un nouvel algorithme de chiffrement symétrique, Advanced Encryption Standard (AES), est disponible. Standard (AES), est disponible. Pensez à utiliser la classe AesCryptoServiceProvider au lieu de la classe classe TripleDESCryptoServiceProvider. Utilisez TripleDESCryptoServiceProvider uniquement pour des raisons de compatibilité avec les anciens systèmes de gestion de la sécurité. applications et données existantes.

Bonne chance

3 votes

C'est amusant étant donné que Microsoft utilise toujours activement TripleDES dans certains de ses produits pour le cryptage ( fr.wikipedia.org/wiki/Triple_DES#Usage )

0 votes

@Tom vous avez raison mais n'oubliez pas que beaucoup de logiciels utilisent des technologies anciennes et qu'il faut du temps pour s'adapter aux nouvelles méthodes. Surtout pour les grandes entreprises comme Microsoft, bien que je sois d'accord avec vous sur la nécessité d'être mis à jour et c'est mauvais quand notre entreprise suggère certaines choses et fait d'autres choses.

1 votes

Microsoft est réputé pour sa rétrocompatibilité. Son utilisation de TripleDES relève directement de la catégorie "uniquement pour la compatibilité avec les applications et les données existantes".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X