web-dev-qa-db-fra.com

Quelle est la différence entre SHA et le cryptage AES?

Quelle est la différence entre SHA et le cryptage AES?

74
Pete

SHA n'est pas un cryptage, c'est une fonction de hachage à sens unique. AES (Advanced_Encryption_Standard) est une norme de chiffrement symétrique.

référence AES

99
skaffman

SHA est une famille d '"algorithmes de hachage sécurisés" qui ont été développés par la National Security Agency. Il existe actuellement une concurrence entre des dizaines d'options pour savoir qui deviendra SHA- , le nouvel algorithme de hachage pour 2012+.

Vous utilisez les fonctions SHA) pour prendre un document volumineux et calculer un "résumé" (également appelé "hash") de l'entrée. Il est important de réaliser qu'il s'agit d'un processus à sens unique. ne prenez pas un résumé et récupérez le document original.

AES , Advanced Encryption Standard est un algorithme de bloc symétrique. Cela signifie qu'il faut 16 blocs d'octets et les chiffre. Il est "symétrique" car la clé permet à la fois le cryptage et le décryptage.

UPDATE: Keccak a été nommé gagnant du SHA-3 le 2 octobre 2012.

77
Jeff Moser

SHA et AES ont des objectifs différents. SHA est utilisé pour générer un hachage de données et AES est utilisé pour chiffrer des données.

Voici un exemple de cas où un hachage SHA vous est utile. Supposons que vous vouliez télécharger une image DVD ISO de la distribution Linux. Il s’agit d’un fichier volumineux et parfois, les choses tournent mal. Pour vérifier que ce que vous avez téléchargé est correct, vous devez vous rendre sur une source fiable (telle que le point de téléchargement de la distro officielle) et ils ont généralement le hash SHA pour l’image ISO disponible). Vous pouvez maintenant générer le hash comparable SHA (en utilisant n’importe quel outil ouvert)) pour vos données téléchargées. Vous pouvez maintenant comparer les deux hashs pour vous assurer qu’ils correspondent - ce qui validerait que l’image Ceci est particulièrement important si vous obtenez l'image ISO d'une source non fiable (telle qu'un torrent) ou si vous rencontrez des problèmes pour utiliser l'ISO et que vous souhaitez vérifier si l'image est corrompue.

Comme vous pouvez le constater dans ce cas, le SHA a été utilisé pour valider des données non corrompues. Vous avez tous les droits de voir les données dans l’ISO.

AES, quant à lui, sert à chiffrer des données ou à empêcher les personnes de les consulter en sachant un secret.

AES utilise une clé partagée, ce qui signifie que la même clé (ou une clé associée) est utilisée pour chiffrer les données de même que pour déchiffrer les données. Par exemple, si je chiffrais un courrier électronique à l'aide d'AES et que je vous l'envoyais, vous et moi aurions besoin de connaître la clé partagée utilisée pour chiffrer et déchiffrer le courrier électronique. Cela diffère des algorithmes utilisant une clé publique telle que PGP ou SSL.

Si vous souhaitez les regrouper, vous pouvez chiffrer un message à l'aide d'AES, puis envoyer un hachage SHA1 du message non chiffré de sorte que, une fois le message déchiffré, ils puissent valider les données. Ceci est un exemple quelque peu artificiel.

Si vous voulez en savoir plus sur ces termes de recherche Wikipedia (au-delà de AES et SHA), vous souhaitez essayer:

Algorithme à clé symétrique (pour AES) Fonction de hachage cryptographique (pour SHA) Cryptographie à clé publique (pour PGP et SSL)

57
Robert Horvick

SHA signifie algorithme de hachage sécurisé tandis qu'AES signifie Advanced Encryption Standard. So SHA est une suite d’algorithmes de hachage. AES, en revanche, est un chiffrement utilisé pour chiffrer. SHA algorithmes (SHA-1, SHA- 256 etc ...) prendra une entrée et produira un condensé (hachage), il est généralement utilisé dans un processus de signature numérique (produit un hachage de quelques octets et signe avec une clé privée).

6
François P.

SHA est une fonction de hachage et AES est une norme de chiffrement. Avec une entrée, vous pouvez utiliser SHA pour produire une sortie qu'il est très improbable de produire à partir d'une autre entrée. De plus, certaines informations sont perdues lors de l'application de la fonction, même si vous saviez comment produire une entrée produisant la même sortie, cette entrée ne serait probablement pas la même que celle utilisée en premier lieu, mais AES est conçue pour protéger contre la divulgation à des tiers les données échangées entre deux parties partageant la même clé de cryptage. Cela signifie qu'une fois que vous connaissez la clé de chiffrement et la sortie (et le IV ...), vous pouvez facilement revenir à l'entrée d'origine. Veuillez noter que SHA ne requiert rien d'autre qu'une entrée à appliquer, alors qu’AES nécessite au moins 3 considérations: ce que vous chiffrez/déchiffrez, une clé de chiffrement et le vecteur d’initialisation (IV).

6
em70

SHA ne nécessite rien d’autre qu’une entrée à appliquer, alors qu’AES requiert au moins 3 éléments: ce que vous chiffrez/déchiffrez, une clé de chiffrement et le vecteur d’initialisation.

3
chen