7
votes

Le cryptage MD5 est-il symétrique ou asymétrique?

Pour mon application iPhone, Apple veut savoir si mon cryptage de mot de passe (MD5) est supérieur à 64 bits symétrique ou supérieur à 1024 bits symétrique. Je n'ai pas été en mesure de le trouver en ligne, alors je me demande si quelqu'un connaît la réponse. En outre, cela est-il considéré comme une technologie de cryptage appropriée pour les mots de passe ou devrais-je utiliser quelque chose de différent?

Merci pour une aide!


0 commentaires

8 Réponses :


9
votes

MD5 n'est pas vraiment symétrique ou de cryptage asymétrique car il n'est pas réversible de manière symétrique ou asymétrique. C'est un algorithme de digest (hachage sécurisé).


0 commentaires

4
votes

C'est pas cryptage du tout.


0 commentaires

34
votes

MD5 est une fonction de hachage, donc par définition, il n'est pas réversible. Ce n'est pas le cas pour le cryptage (symétrique ou asymétrique), qui doit être réversible pour être utile.

Pour être plus précis, les hachages sont des fonctions à sens unique, en ce sens qu'un nombre infini d'entrées peut correspondre à une seule sortie, il est donc impossible d'obtenir l'entrée exacte, avec certitude, qui a entraîné une sortie donnée. < / p>

Cependant, il peut être possible de trouver une entrée différente qui a atteint la même sortie. Ceci s'appelle une collision .

Généralement, les mots de passe hachage au lieu de stocker le texte brut (même crypté) sont une bonne idée. (Mieux encore mieux si l'utilisation d'un sel) Cependant, MD5 a connu des faiblesses connues (et de grandes collections de tables arc-en-ciel qui facilitent la recherche de collisions), ce serait donc une bonne idée de passer à quelque chose comme SHA-1 ou l'un des SHA-2 famille de hachages.

Cependant, pour répondre à votre question initiale, il n'est vraiment pas moyen de comparer MD5 ou tout hachage contre tout type de cryptage; Ils n'ont aucun équivalent parce que c'est comme comparer des pommes et des oranges.


3 commentaires

Salut Peter: Cela signifie-t-il que mon application ne "contient pas de cryptage"?


Strictement parler, non. Utilisation de MD5 ou de toute autre fonction de hachage de sorte que le mot de passe réel ne soit pas stocké est parfois appelé "cryptage à sens unique", bien que l'utilisation du cryptage à terme soit un aburé: (Lien Wikipedia obligatoire: en.wikipedia.org/wiki/one-way_encryption )


Je sais que c'est tard, mais juste pour ajouter sur ... Au lieu d'utiliser Sha-1 ou SHA-2, vous pouvez également essayer de saluer un hash ou même d'utiliser MD5 et SHA-1.



6
votes

Ce n'est pas un cryptage, c'est un digest. Si vous ne le seliez pas, ce n'est pas particulièrement en sécurité, mais ils vous demandent la mauvaise question.

Que faites-vous exactement avec MD5 et mots de passe? Il y a des façons standard de faire les choses ici, et il est toujours préférable d'en utiliser un, mais sans savoir ce que vous voulez faire, il est difficile de vous indiquer à une norme pertinente.


0 commentaires

1
votes

Je pense que MD5 est utilisé pour une meilleure sécurité .... Si nous parlons de tout cryptage ou algorithme de déchiffrement, ils sont juste pour convertir tout texte brut en texte ciphérique ... mais d'autre part, MD5 fournit un caractère unique à ce sujet. Texte simple qui serait envoyé par n'importe quelle source (Alice) ... afin que nous puissions dire que pour une meilleure sécurité ou pour la fourniture d'enveloppe sur le texte brut, MD5 doit être utilisé avant d'utiliser tout cryptage Algotim (symétrique ou asymétrique).


0 commentaires

1
votes

Comme les nombreux autres gars d'ici ont mentionné, MD5 n'est pas un algorithme symétrique ou asymétrique.

Au lieu de cela, il s'agit sous une branche différente de la cryptographie ensemble. C'est l'un des plus petits algorithmes de hachage disponibles dans le cadre .NET. À quelques-16 octets pour sa frappe, qui devrait être 128 bits. Quelque chose que vous apprenez votre pain et votre beurre avec.

Donc oui, il est supérieur à 64 bits qui ne représente que 8Bans de taille.

La taille maximale de la clé L'utilisation des ALGS de Symm commune est de 256 bits (Rijndael géré).

Si vous souhaitez rechercher des touches de frappe supérieures à cela, vous pouvez utiliser les algs de RC2 Symm 'ENC' qui prend en charge la taille des touches variables. Quelque chose que vous pouvez expérimenter?

Si vous voulez plus de 1024 bits, vous devez rechercher ASYMM 'ENC' ALGS comme la classe RSaCryptoServiceProvider qui prend en charge les tailles de clé allant jusqu'à 16k dans les bits, je pense?

Si vous souhaitez utiliser des mots de passe, vous devez utiliser des algs de hachage à clé, comme tout ce que quelque chose HMAC, ils doivent être des algorithmes de hachage à clé ou des mactriplexes. Ceux-ci utilisent tous des titres secrets pour chiffrer le hachage généré à partir des données que vous fournissez. Les touches sont créées en utilisant des mots de passe et des valeurs de sel via la classe RFC2898888888888888888888989898898989898981 <- N'oubliez pas que RC2, Rijndael, AES, DES et etc Tous peuvent être configurés pour utiliser des mots de passe pour obtenir des clés secrètes. Si vous pensez que la phrase d'ouverture de ce paragraphe est un peu trompeuse. J'ai donc ajouté cela juste pour être sûr de ce que ce cashing n'est pas ce dont vous avez besoin complètement.

* N'oubliez pas qu'il existe des hiérarchies d'héritage uniques dans l'espace de noms de cryptographie de .NET. Donc, MD5 est la classe abstraite de base Toutes les classes dérivées MD5 doivent être dérivées. .NET fournit une telle classe dérivée appelée classe MD5CryptoServiceProvider. Ce qui est essentiellement une classe d'enveloppe gérée qui fait appel à Windows API de crypto-bibliothèques non gérées. Le MD5 est connu dans les manuels officiels de la SEP sous le terme de parapluies comme algorithme de hachage non clé. *

Il y a beaucoup d'options à votre disposition.

:) profiter!


0 commentaires

3
votes

Apple pose la question de l'utilisation de MD5 pour les mots de passe de hachage pour voir si elle nécessite une autorisation d'exportation du ministère du Commerce / Bureau de l'industrie et de la sécurité.

La réponse à cet effet est que l'utilisation de MD5 pour la protection par mot de passe n'est pas contrôlée comme un cryptage solide (comme des algorithmes symétriques supérieurs à 64 bits) conformément à la note technique à 15 CFR Partie 774, Supplément 1, ECCN 5A002, paragraphe A.1, qui décrit l'utilisation de cryptage pour la protection par mot de passe. Cependant, il peut toujours être contrôlé sous ECCN 5A992.

http://www.bis.doc.gov/encryption/ccl5pt2.pdf < / a>

Les autres réponses ne sont pas utiles dans le contexte de la question de savoir pourquoi la question a été posée.

En outre, vous voudrez peut-être appeler le ministère du Commerce / Bureau de l'industrie et de la sécurité au 202-482-0707 et de poser des questions sur votre application spécifique.


0 commentaires

2
votes

Fonction de hachage La plupart du temps est un moyen de compresser vos données. Ce sont des fonctions de hasch unidirectionnelles, ce qui est difficile à inversé (ayant la fonction de hachage = Digest d'un message qu'il est difficile de trouver le message d'origine converti à la valeur de hachage spécifique). D'autre part, sont très faciles à mettre en œuvre car il n'ya aucun type de clé.

Ce n'est pas un algorithme symétrique ou asymétrique. Ces types d'algorithmes sont utilisés pour chiffrer et non les données de hachage. Le cryptage est utilisé pour des raisons de confidentialité afin de protéger les données des attaquants où ils essaient de lire quelqu'un.

Les algorithmes de cryptage ou de chiffrement ont besoin de clés pour accomplir leurs tâches contrairement aux hachages où ils n'ont besoin d'aucune clé. Les hachages ne sont pas utilisés pour des raisons de confidentialité, mais pour des raisons d'intégrité même si elles n'ont pas assez de force. MD5 est un type de fonction de hachage où existe beaucoup d'autres parce que MD5 n'est pas assez fort


0 commentaires