web-dev-qa-db-fra.com

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

Est-ce que quelqu'un a le pour et le contre pour comparer ces algorithmes de chiffrement?

136
yogsma

Utilisez AES.

En plus de détails:

  • DES est l'ancien "standard de cryptage des données" des années soixante-dix. Sa taille de clé est trop courte pour une sécurité adéquate (56 bits effectifs; ceci peut être forcé brutalement, comme cela a été démontré il y a plus de dix ans ). De plus, DES utilise des blocs de 64 bits, ce qui pose certains problèmes lors du cryptage de plusieurs gigaoctets de données avec la même clé (un gigaoctet n’est pas aussi gros de nos jours).
  • 3DES est une astuce pour réutiliser les implémentations DES, en cascadant trois instances de DES (avec des clés distinctes). 3DES est considéré comme sécurisé jusqu'à au moins "2112 "La sécurité (ce qui est assez, et assez loin dans le domaine de" impossible à casser avec la technologie actuelle "). Mais elle est lente, en particulier dans le logiciel (le DES a été conçu pour une implémentation matérielle efficace, mais cela prend des logiciels; et 3DES suce trois fois plus).
  • Blowfish est un chiffrement par bloc proposé par Bruce Schneier et déployé dans certains logiciels. Blowfish peut utiliser d’énormes clés et est considéré comme sécurisé, sauf en ce qui concerne sa taille de bloc, qui est de 64 bits, tout comme DES et 3DES. Blowfish est un logiciel efficace, du moins sur certaines plates-formes logicielles (il utilise des tables de recherche dépendantes des clés, de sorte que les performances dépendent de la façon dont la plate-forme gère la mémoire et les caches).
  • AES est le successeur de DES en tant qu'algorithme de chiffrement symétrique standard pour les organisations fédérales américaines (et en tant que norme pour à peu près tout le monde également). AES accepte les clés de 128, 192 ou 256 bits (128 bits est déjà très indestructible), utilise des blocs de 128 bits (donc aucun problème ici) et est efficace tant sur le plan logiciel que matériel. Il a été sélectionné par le biais d'un concours ouvert impliquant des centaines de cryptographes pendant plusieurs années. En gros, vous ne pouvez pas avoir mieux que ça.

Donc, en cas de doute, utilisez AES.

Notez qu'un bloc de chiffrement est une boîte qui chiffre des "blocs" (blocs de données de 128 bits avec AES). Lors du cryptage d'un "message" pouvant comporter plus de 128 bits, le message doit être divisé en blocs, et la manière dont vous le divisez est appelée mode de fonctionnement ou "chaînage". Le mode naïf (simple scission) s’appelle ECB et pose des problèmes. Utiliser correctement un chiffrement par bloc n’est pas facile, et il est plus important que de choisir entre, par exemple, AES ou 3DES.

240
Thomas Pornin

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

23
SLaks

Les méthodes de chiffrement décrites sont des chiffrements symétriques par blocs de clés.

Le prédécesseur, Data Encryption Standard (DES), chiffrait 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 vulnérabilité de sécurité.

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

Les DES et 3DES sont généralement rencontrés lors de l'interface avec des produits et services commerciaux traditionnels.

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

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

Il est fortement recommandé de ne pas essayer d'implémenter votre propre cryptographie, mais d'utiliser 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 qui donne à réfléchir sur les vulnérabilités de chiffrement http://rdist.root.org/2009/08/06/google-tech-talk-on-common-crypto-flaws/

11
rohannes

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 se font avec une clé unique dans AES, tandis que vous utilisez des clés séparées (clés publique et privée) dans RSA. La force d'une clé AES 128 bits est à peu près équivalente à une clé RSA 2600 bits.

8
BHEEMA RAM

Bien que TripleDESCryptoServiceProvider soit une méthode sûre et efficace, elle est toutefois trop lente. Si vous souhaitez vous référer à MSDN, vous obtiendrez l'avis de celui-ci d'utiliser AES plutôt que TripleDES. Veuillez vérifier le lien ci-dessous: http://msdn.Microsoft.com/en-us/library/system.security.cryptography.tripledescryptoserviceprovider.aspx Vous verrez cette attention dans la section remarque:

Remarque Un nouvel algorithme de chiffrement symétrique, Advanced Encryption Standard (AES), est disponible. Pensez à utiliser le Classe AesCryptoServiceProvider au lieu du Classe TripleDESCryptoServiceProvider. Utilisation TripleDESCryptoServiceProvider uniquement pour la compatibilité avec l'ancien système. applications et données.

Bonne chance

4
QMaster

 enter image description here

DES est l'ancien "standard de cryptage des données" des années soixante-dix. 

1
Keshav Gera
                DES                               AES
Developed       1977                              2000
Key Length      56 bits                           128, 192, or 256 bits
Cipher Type     Symmetric                         Symmetric
Block Size      64 bits                           128 bits
Security        inadequate                        secure
Performance     Fast                              Slow
0
ikarayel

AES est l'algorithme standard actuellement utilisé (d'où le nom Advanced Encryption Standard ).

Les autres ne le sont pas.

0
Ian Boyd