Question:
Puis-je récupérer le contenu du fichier à partir de sa somme de contrôle / hachage?
beppe9000
2016-01-25 09:26:34 UTC
view on stackexchange narkive permalink

Disons que j'ai un fichier vidéo divisé en plusieurs parties. Chaque pièce est de 2 mégaoctets. J'ai aussi une liste des * insérer le nom de hachage ici * pour chaque morceau et aussi pour le fichier complet.

Supposons maintenant que j'ai égaré / perdu / fubar l'un de ces morceaux.

Puis-je récupérer la pièce perdue de son hachage, en utilisant la force brute ou toute autre méthode dans une durée de vie humaine ?

A Une table de style arc-en-ciel serait irréalisable, je pense.

Question numérique bonus - combien cela coûterait-il à un réseau informatique distribué de taille moyenne basé principalement sur des PC grand public? (Exemple: CPU 4 GHz + GPU d'entrée de gamme + 8 Go de RAM)

ce serait le meilleur algorithme zip de tous les temps
Le néerlandais [Jan Sloot] (https://en.wikipedia.org/wiki/Jan_Sloot) a affirmé qu'il pouvait compresser un film complet jusqu'à 8 kilo-octets de données. Peut-être a-t-il utilisé ces sommes de contrôle Sha256. Malheureusement, il est mort avant de publier son travail.
[Une question très similaire] (http://stackoverflow.com/q/34757434/1468366) a été récemment posée sur Stack Overflow.
«x + y = 10». Puis-je récupérer les valeurs exactes de «x» et «y» à partir de 10?
@Jeff Il n'y a aucun moyen qui pourrait fonctionner. Même si vous ne preniez que le script, il y aurait plus de 8 Ko d'entropie.
Un hachage sécurisé n'est pas une somme de contrôle.
@Eumel, pas nécessairement. Sa question ne précise pas le COÛT de l'inversion, juste si c'était possible. Si une telle chose était possible mais extrêmement coûteuse, la réponse serait toujours Oui, mais ce ne serait pas nécessairement un schéma de compression pratique
@SplashHit il demande un temps humain sur son PC qui serait probablement entre quelques heures et quelques jours.
Le temps serait de l'ordre du temps nécessaire pour forcer brutalement un mot de passe de 10 millions de caractères. Avec la technologie actuelle qui dépasse les domaines du temps géologique, sans parler du temps humain.
@Ajedi32 si vous savez que le résultat doit ressembler à un film, alors peut-être. Par exemple, l'entropie doit être faible, il y a donc de bonnes chances que x et y se suivent de plus ou moins près, ou qu'un en-tête spécifique se trouve dans le fichier.
Pouvez-vous reproduire ma maison avec seulement la clé?
@nocomprende Je pourrais le réutiliser! :RÉ
Douze réponses:
pri
2016-01-25 14:39:46 UTC
view on stackexchange narkive permalink

Une réponse simple, NON.

C'est comme demander, si je sais, que x% 4 = 3 , est-il possible de trouver la valeur de x ? Non. Il y aurait sûrement des valeurs infinies de x satisfaisant cette équation, mais vous ne sauriez pas simplement laquelle est correcte.

De même, de nombreux clips vidéo (ou infinis) peut entraîner une valeur de hachage donnée (évidemment, des clips vidéo infinis doivent être mappés à un nombre spécifique de valeurs de hachage, de sorte que les collisions sont inévitables). Vous ne sauriez pas quel clip est correct.

Cela aussi, dans le temps humain? Non.

EDIT: Comme indiqué dans les commentaires, puisque le fichier est découpé en morceaux de 2 Mo, il n'y aura pas de possibilités infinies , mais ce serait assez volumineux ( 2 porté à une puissance de 16,7 millions, environ). Forcer brutalement un si grand nombre de possibilités, dans le temps humain, est encore presque impossible. Mais oui, ce n'est pas infini .

Bonne réponse. l'explique très simplement, très bien surtout pour les gens qui ne comprennent pas tout ce truc technique ...
Je m'en souviendrai également. Je dois souvent eli5 (expliquer comme si l'autre personne avait 5 ans) des trucs techniques. mon exemple préféré explique la suppression de fichiers OS avec des livres.
Je ne suis pas d'accord. * "Vous ne savez pas quel clip est correct" * Bien que ce soit vrai * en général *, nous avons ici des contraintes supplémentaires: 1. les données ont une taille de 2 Mo, 2. les données sont un fichier vidéo, 3. ce fichier vidéo fait partie d'une vidéo plus grande.
@el.pescado Pourtant, même dans ce cas, il y aurait des échantillons infinis qui donneraient le même hachage. De plus, op en a besoin dans le temps humain.
@PriyankGupta Eh bien, il n'y a qu'une infinité de morceaux de 2 Mo. Mais il y a certainement plus d'informations à attendre dans un bloc vidéo de 2 Mo que ce qui peut être exprimé en utilisant les 512 bits des deux hachages SHA256.
@HagenvonEitzen Je comprends. Bien que cela équivaudrait toujours à 16,7 millions de bits et que le forçage brutal ne se fasse pas en temps humain, je modifierai la réponse pour la rendre plus claire.
@PriyankGupta: Il n'y a pas des possibilités infinies mais beaucoup - environ 2 ^ (2 * 8 * 1024 ^ 2 - 256). (sans compter les contraintes 2 et 3 mentionnées) Quoi qu'il en soit, un si grand nombre est comme infini pour notre imagination :) En Python 3: `import decimal; '{: .2E}'. Format (decimal.Decimal (2 ** (2 * 8 * 1024 ** 2-256))) `:` 1.57E + 5050368` C'est comme deviner le bloc de 2 Mo plus court par le longueur du hachage (32 octets).
@pabouk Oui, j'ai édité la réponse. :)
J'étais sur le point de vous appeler parce que votre exemple d'algèbre * était * figure-outtable; «x = 12». ** MAIS ** alors j'ai réalisé que vous utilisiez l'opérateur modulo et non pas un diviseur donc j'ai + 1'ed :-)
vous bénéficiez également de la connaissance du format des données. Ainsi, toute combinaison de données qui ne correspond pas à votre format peut être exclue rapidement, ce qui réduit l'espace de recherche de très nombreux ordres de grandeur. Pourtant, mon instinct me dit que ce ne sera pas assez d'ordres de grandeur pour entrer dans un délai raisonnable.
Tout le monde semble avoir manqué la partie à propos de la somme de contrôle pour le fichier complet. Les chances d'une collision de hachage correspondant à * les deux * sommes de contrôle en combinaison avec le reste du fichier sont beaucoup plus minces.
Vous pouvez également corréler les images des blocs de 2 Mo avant et après. Il y a probablement assez de contraintes sur le problème à ce stade pour dire que vous pourriez le résoudre en un temps humain. La partie la plus difficile serait d'intégrer toutes les informations. Ce serait similaire à inverser un PRNG ou un ensemble d'entre eux. Plus la taille de fichier d'un cadre est grande, plus ce sera facile.
Steffen Ullrich
2016-01-25 11:43:38 UTC
view on stackexchange narkive permalink

Ce n'est pas possible quelle que soit la vitesse de votre ordinateur, simplement parce que vous ne pouvez pas recréer les informations correctes à partir de pratiquement rien.

Vous demandez en fait de restaurer 2 Mo à partir de 32 octets (taille de SHA -256) ou au plus 64 octets (SHA-256 pour le bloc et pour le fichier total). Ce serait un rapport de 1: 65536 ou 1: 32768. Étant donné que la vidéo est déjà fortement compressée, la chance est pratiquement nulle que vous puissiez restaurer les données d'origine à partir de ces quelques informations. Il se peut que vous puissiez créer un bloc de 2 Mo qui aboutit aux hachages SHA-256 spécifiques, mais il y a très peu de chances que ce soit ce bloc d'origine.

Si vous parvenez réellement à créer un morceau de 2 Mo qui aboutit à un hachage SHA-256 que vous ne saviez pas déjà être le résultat de ce morceau, je pense que la NSA voudra vous parler.
@Mehrdad: Ou les gens qui dirigent Powerball, d'ailleurs.
rdegges
2016-01-25 09:33:21 UTC
view on stackexchange narkive permalink

Vous n'avez pas pu reproduire le fichier dans un délai raisonnable. La raison en est que la seule façon d'inverser un hachage est via la force brute, et compte tenu de la taille du fichier d'origine, cela vous prendrait cette quantité exacte d'octets en force brute.

Disons vous avez un fichier vidéo d'une taille précise de 100 Mo.

  • 1 Mo = 1 000 000 octets
  • 100 Mo = 100 000 000 octets

Cela signifie vous auriez besoin de forcer brutalement ce fichier original et de vérifier qu'il est haché, vous devrez essayer n ^ r permutations. En supposant que le fichier vidéo n'utilise que 256 caractères par octet (ascii), nous examinerions:

256 100 000 000 ≈ 10 240 823 997 ≈ ∞

C'est essentiellement infini - il faudrait fondamentalement TOUJOURS pour calculer cela, quelles que soient les ressources du processeur.

MISE À JOUR : Il y a aussi, bien sûr, le problème avec collisions de hachage que j'ai laissées de côté ici - avec un hachage Sha256, vous allez probablement rencontrer une quantité infinie de collisions avec un fichier aussi volumineux que notre exemple. J'ai négligé de mentionner cela plus tôt par souci de simplicité.

Ce n'est même pas le vrai problème, ce n'est pas possible même avec une puissance et un temps CPU infinis. Le vrai problème est qu'avec un fichier beaucoup plus volumineux que la taille de hachage, vous allez simplement trouver des collisions de hachage pratiquement infinies. Vous êtes tout aussi susceptible de trouver un clip de 2 mégaoctets du film Inception que votre vidéo originale.
Cette réponse est complètement fausse. La vraie raison pour laquelle vous ne pouvez pas récupérer est qu'il existe un nombre éventuellement infini de fichiers qui produisent le même hachage. Comment sauriez-vous lequel est le bon. Une autre façon de voir les choses est la suivante. Si le hachage contenait toutes les informations, pourquoi ne pas stocker le hachage au lieu d'un fichier beaucoup plus volumineux?
@RoyT. - Un nombre infini de fichiers, mais pas un nombre infini de fichiers * de cette taille *.
Le résultat final doit également être analysé comme un fichier vidéo valide, les problèmes de collision ne sont donc pas un problème
@wireghoul: Voici une expérience de réflexion pour vous: prenez n'importe quel fichier vidéo valide de 2 Mo et modifiez légèrement les valeurs de pixels (c'est une compression avec perte donc elle est de toute façon imperceptible), jusqu'à ce que vous obteniez une collision de hachage. Cela se produira dans les 2 ^ 256 essais pour SHA-256 car vous manquez littéralement de bits de hachage pour être différent. Avec une puissance ou un temps processeur infini, vous pouvez générer pratiquement n'importe quel contenu vidéo correspondant à un hachage donné.
@wireghoul: C'est évidemment impossible dans la pratique avec les ressources informatiques actuelles, mais cela montre à quel point il est impossible de récupérer une vidéo en se basant uniquement sur le hachage. Maintenant, bien sûr, si le fichier d'origine avait été stocké quelque part dans un emplacement de recherche, le hachage est un moyen pratiquement parfait de le trouver et de l'identifier, car la probabilité d'une collision * aléatoire * est presque inexistante.
Et vous avez laissé entendre que l'ASCII est un système de codage binaire et qu'il est possible pour un octet (8 bits) de stocker un certain nombre de valeurs autres que 2 ^ 8 = 256. Ne pas être un killjoy, mais c'est faux à bien des niveaux !
@wizzwizz4 [Un octet n'est pas nécessairement 8 bits] (https://stackoverflow.com/questions/2098149/what-platforms-have-something-other-than-8-bit-char), bien que cela n'ait rien à voir avec ASCII.
@isanae Sur la plupart des systèmes de fichiers (lire: tous les plus modernes), et ** plus important encore dans SHA lui-même **, les octets ont une longueur de 8 bits.
@Matti uuuhh, ok, maintenant sauvegardez-le avec les mathématiques. Combien de collisions pouvez-vous avoir dans un fichier de 2 Mo et combien pouvez-vous en avoir dans un fichier vidéo de 2 Mo?
@wireghoul: De loin, la plupart des octets des fichiers vidéo peuvent être modifiés sans les rendre invalides, tant que vous ne modifiez pas trop les bits d'en-tête importants. La plupart des données des fichiers vidéo compressés ne sont que des valeurs de couleur compressées et vous n'obtiendrez que divers artefacts visuels, certains plus visibles que d'autres. Un fichier vidéo de 2 Mo a 2097152 octets pour jouer, et vous n'avez besoin que de 32 octets librement choisis pour obtenir une collision pour un hachage de 256 bits (32 octets).
@wiregroul: Small side-not: Dès le début, je suppose que les valeurs SHA-256 sont uniformément réparties ici - il est possible de ne pas obtenir de collision même si vous essayez 2 ^ 256 valeurs différentes car vous pourriez avoir des collisions * entre les hachages que vous a essayé*. Mais SHA-256 est censé être "bon", ce qui signifie que les valeurs de hachage doivent être distribuées plus ou moins uniformément. Si ce n'est pas le cas, essayer avec 33 ou 34 octets devrait faire l'affaire. Il reste encore beaucoup de choix.
Mark Buffalo
2016-01-25 20:59:51 UTC
view on stackexchange narkive permalink

Supposons que vous ayez un ordinateur qui a une puissance de traitement infinie et qui peut vérifier de manière fiable chaque message possible contre chaque hachage possible en peu de temps. Voici le problème auquel vous êtes maintenant confronté: collisions.

Qu'est-ce qu'une collision? De nombreux fichiers différents peuvent correspondre exactement à la même signature. De nombreux messages différents peuvent correspondre exactement à la même signature.

Le hachage est unidirectionnel . Vous convertissez une série de caractères en hachage. Lorsque vous validez votre hachage, vous vérifiez simplement si le message correspond à la valeur calculée du hachage. Le problème est que de nombreux messages différents peuvent correspondre à ce même hachage. Cela s'appelle collision.

Cependant, puisque vous avez également une puissance de calcul infinie, vous pouvez Enfin, reconstruisez le fichier par essais et erreurs supermassifs. Cependant, une fois que vous avez tous les exemples possibles pour cette valeur de hachage, comment allez-vous savoir laquelle est laquelle?


Vous me dites donc qu'il y a une chance?

So you're telling me there's a chance?

Avec la technologie d'aujourd'hui, et comme nous n'aurons jamais une puissance de calcul infinie, ce sera complètement impossible. Même en prenant la puissance de calcul combinée du monde entier et en la multipliant par un milliard, vous ne pouvez pas faire cela. Même si vous faisiez cela d'une manière ou d'une autre, comment pourriez-vous savoir quel message était correct?


Où mon idée s'appliquerait-elle?

  • Le hachage est aller simple . Avec la clé fournie, vous confirmez uniquement qu'elle correspond à votre hachage calculé.
  • Le chiffrement est bidirectionnel . Avec la clé fournie, vous récupérez les résultats.

Votre idée s'appliquerait au chiffrement et non au hachage. Avec le chiffrement, si vous avez la clé, vous pouvez obtenir le contenu déchiffré du fichier.

Max Murphy
2016-01-26 07:22:21 UTC
view on stackexchange narkive permalink

C'est difficile si le fichier sous-jacent a une entropie suffisamment élevée. Si vous savez quelque chose sur les données sous-jacentes, vous pourrez peut-être les récupérer. Par exemple, s'il y a un hacker n'importe où dans le voisinage, il ne faudra pas longtemps avant que quelqu'un vous dise ce que j'ai haché md5 pour obtenir:

  73868cb1848a216984dca1b6b0ee37bc  

Cependant, la vidéo généralement a beaucoup d'entropie, ce qui en fait une cause perdue ou du moins difficile. Il faudrait que la vidéo soit une caméra vidéo et il faudrait espérer que le morceau manquant montre une heure de noir comme une nuit noire. Mettons cela en perspective: la création d'un bitcoin est essentiellement une question d'inverser un hachage. Inverser un extrait vidéo très court équivaut probablement à gagner environ 20 bitcoins, peut-être plus. Donc, à votre place, je ferais les bitcoins, j'achèterais une nouvelle copie de la vidéo et j'empocherais la monnaie. Près de huit mille dollars de monnaie. Peut-être que j'achèterais des actions dans une société d'informatique quantique et faciliterais les futurs exploits; c'est amusant de faire "l'impossible".

Pour ceux qui disent, "les hachages sont plusieurs contre un, donc vous ne pouvez pas dire ce qui a été haché": C'est vrai, mais de toutes les nombreuses valeurs qui hachent à cela une valeur, certains seront plus plausibles que d'autres. Si vous inversez le hachage ci-dessus, vous n'aurez aucun doute que vous avez trouvé la bonne entrée. S'amuser! :-)

Enfin, quelqu'un qui considère la plausibilité des choses hachées = D
Bitcoin n'inverse ** qu'une fraction ** de (double) SHA256, pour une entrée que AIUI n'a besoin que de 2 tours de compression.Actuellement, l'extraction totale de bitcoins est d'un peu plus de 2 ^ 60 hachages / s, donc si le cas OP est SHA256 (il a maintenant été modifié) et que 32 Mo équivaut à environ 2 ^ 19 tours, la capacité du bitcoin pourrait trouver QUELQUE pré-image de type vidéo dans environ 2^ 214 secondes ou 300 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 ans - sauf que l'univers se terminera presque certainement avant la fin.Même alors, cela a une chance infiniment faible d'être la pré-image DÉSIRÉE.
SomeoneSomewhereSupportsMonica
2016-07-24 17:26:30 UTC
view on stackexchange narkive permalink

Il y a une possibilité pour cela: Google it - littéralement.

Si le fichier a déjà été téléchargé sur l'un des nombreux sites de partage de fichiers, ils en ont probablement publié un hachage, et il a peut-être été indexé.

Par exemple, google ' 60CCE9E9C6557335B4F7B18D02CFE2B438A8B3E2'.

Loren Pechtel
2016-01-26 10:02:16 UTC
view on stackexchange narkive permalink

Un commentaire mais c'est trop long:

Comme d'autres l'ont montré, ce n'est pas possible. Cependant, il existe un problème connexe qui est certainement raisonnable:

Ok, vous ne pouvez pas reconstruire cette vidéo de 200 Mo qui a été divisée en 100 fichiers de 2 Mo dont vous avez 99.

Cependant , vous pouvez créer un autre fichier qui sera un cheveu de plus de 2 Mo qui vous permettra de reconstruire tout un fichier manquant. Deux de ces fichiers vous permettront de reconstruire deux fichiers manquants et ainsi de suite. Bien que la taille du bloc ne puisse pas être fixée à une valeur supérieure à la taille du fichier (un fichier de réparation de 4 Mo ne corrige toujours qu'un seul fichier manquant), elle peut être définie plus bas, ce qui peut être utile si un dommage partiel est possible. (Le temps de calcul augmente, les fichiers deviennent légèrement plus volumineux mais vous avez plus de capacité à récupérer des dommages.)

Le programme standard pendant longtemps était: Quickpar mais il n'a pas 't été mis à jour depuis des lustres. L'alternative la plus moderne que je connais (mais que je n'ai pas encore beaucoup utilisée) est Multipar (Remarque: ce site est en japonais. Le programme est en bon anglais, cependant.)

Si je dois sauvegarder des données sur un DVD, je crée régulièrement des fichiers de réparation supplémentaires au cas où quelque chose se produirait - l'espace supplémentaire sur le DVD va de toute façon gaspiller, pourquoi ne pas y mettre une assurance? Multipar a même des modes spécifiquement pour cela (bien que je ne les ai pas encore essayés) où il générera des blocs pour remplir un disque DVD-R ou BD-R.

Didi
2016-01-26 23:45:23 UTC
view on stackexchange narkive permalink

Il faudra fondamentalement trop de temps pour obtenir un résultat satisfaisant, en abordant les deux: générer la partie vidéo manquante (selon des critères calculables) et en trier les meilleures (ce qui nécessite des humains intelligence ou IA extrêmement développée). Même si vous avez enfin une belle vidéo correspondant à tous les critères, vous ne saurez jamais si le film original avait le même contenu. Essayer de "reconstruire" quelque chose qui peut être le plus variable - mieux et plus vite: utilisez votre propre fantaisie.

Certainement des valeurs de hachage de 10 octets "croisées" ne peut pas représenter / contenir les informations de 10 Mo, donc je pense que votre essence est la suivante:

Même si vous avez beaucoup d'informations supplémentaires pour les corrections dans tout le fichier vidéo: format de données, cadres , le storyboard lui-même, les voix des acteurs, etc.: il y aura des milliers de vidéos plus ou moins différentes qui répondront à tous les critères connus. J'imagine même que une poignée d'images vidéo uniques ici et là pourrait faire n'importe quelle vidéo menant aux mêmes hachages.

Cette question est très similaire: est-il possible pour un (petit) virus de s'ajouter à un (gros) fichier tout en gardant la somme de contrôle du fichier de la même valeur en remplissant une (pas si grande) quantité d'octets variables? Je suppose que c'est possible, bien que difficile à calculer à temps aujourd'hui. D'un autre côté, nous savons que de nombreux codes possibles conduisent au même hachage, de sorte que le temps de calcul pourrait être surestimé. Peut-être que c'est possible en quelques secondes - seuls les pirates le sauront.

Modifier: Au cours de la nuit, j'ai eu l'inspiration pour une belle comparaison supplémentaire de votre "problème de partie vidéo perdue": pour de tels cas (récupération complète des données), il a déjà été inventé le technologie strong> RAID-5 (voir le Wiki ici: https://en.wikipedia.org/wiki/RAID). Un disque dur sur trois ou plus peut tomber en panne et toutes les données peuvent être reconstruites sans perte. Vous avez certainement beaucoup de surcharge de données (redondance pour la correction d'erreurs) stockée sur tous les disques pour pouvoir le faire.

Les hachages / sommes de contrôle sont bons pour la détection de petites (bits ou quelques octets) de falsification / les erreurs qui se sont produites quelque part dans un fichier. Les CRC avec correction d'erreurs sont plus avancés. Au moins, nous avons des systèmes de redondance comme RAID.

Alexey Vesnin
2016-02-08 09:02:29 UTC
view on stackexchange narkive permalink

La réponse est NON, et il semble que vous mélangez deux choses différentes:

  • Les sommes de contrôle et les Hashes sont vérificateurs d'intégrité à sens unique . Le but de leur utilisation à cet égard est de s'assurer que les données n'ont pas été corrompues et que rien d'autre
  • Les codes de récupération sont ceux que vous ' utilisez si vous avez besoin de récupérer vos données par le code fourni . L'exemple le plus brillant est un code Reed-Solomon pour la récupération de données sur CD-ROM. Le but de leur utilisation dans cette affaire est de vous aider à récupérer des données corrompues / perdues pour une raison quelconque

Elles semblent être similaires à première vue, mais ce sont des choses TRÈS différentes.

Cort Ammon
2016-01-27 03:41:30 UTC
view on stackexchange narkive permalink

C'est effectivement impossible, en raison de la théorie de l'information. Effectivement impossible, car dans "la mort thermique de l'univers" devient un facteur limitant légitime de votre recherche.

Il vous manque une tranche de 2 000 000 octets (2 Mo). Un hachage comme SHA-1 contient 20 octets d'informations. Selon la théorie de l'information, nous devrions nous attendre à ce qu'il y ait 1 999 980 octets encore inconnus. Cela signifie 2 ^ (8 * 1 999 980) fichiers possibles à explorer. C'est un nombre si grand que vous commencez à parler de la mort thermique de l'univers avant que chaque atome de l'univers agissant comme par magie comme un processeur 2Ghz, fonctionnant en tandem, puisse le trouver. Et cela n'inclut pas le défi de déterminer laquelle des solutions est la bonne. C'est juste le coût de production du bon.

Certains ont mentionné que vous aviez des informations supplémentaires. Par exemple, vous avez le SHA-1 du fichier entier. Malheureusement, ce n'est pas très utile. En supposant que vous ayez également ce hachage, vous avez maintenant 1 999 960 octets d'informations qui sont encore inconnues, et donc 2 ^ (8 * 199 960) tranches possibles à considérer. Nous sommes toujours dans la chaleur de la mort du royaume de l'univers. Nous pourrions ajouter des contraintes supplémentaires, telles que la continuité avec la vidéo existante, mais nous finirons par rencontrer des limites quant à ce que nous pourrions éventuellement savoir sur la tranche sans avoir suffisamment d'informations pour simplement la recréer directement à partir des informations que nous connaissons.

La meilleure chance que vous auriez est de réunir le monde entier pour résoudre votre problème et de vous alimenter chaque tranche de 2 Mo de données sur tout Internet. Il est fort probable que si vous «perdiez» les données, quelqu'un d'autre pourrait en avoir une copie. Il est beaucoup plus facile de parcourir les pétaoctets de données que l'humanité a rassemblés que de parcourir le nombre beaucoup plus grand de possibilités que 2 Mo de données arbitraires ont à offrir.

abhinav singh
2016-02-08 08:38:18 UTC
view on stackexchange narkive permalink

Les hachages sont conçus pour être à sens unique. Il est facile de voyager de gauche à droite, mais il est pratiquement impossible de voyager de droite à gauche quand on parle de hachage.

Alex Davies
2016-07-24 10:14:47 UTC
view on stackexchange narkive permalink

Préface: un hachage est normalement utilisé pour vérifier l'intégrité d'un fichier ou d'un ensemble de données.

À condition que le hachage de la somme de contrôle inclue les données et le nom, cela pourrait être un point de référence pour le conteneur, qui pourrait alors être implémenté dans la recherche par correspondance de modèle de somme de contrôle. À condition que vous connaissiez un sel (qui pourrait inclure la valeur de la date ou de l'heure par exemple).

Bien que pour provoquer une seule collision à une vitesse de 1MH / s, il pourrait encore prendre environ 3 ans pour éliminer toute possibilité absolue pour un résultat aussi peu que 15 numéros. Donc comprendre une autre référence, par exemple où ce fichier est sur le support de stockage aiderait à être plus spécifique. entrée de l'ID de secteur ou de fichier.

Mais il est crédible de noter que le transfert de données (en particulier sur les réseaux) a tendance à être généralement gênant, avec sa propre somme de contrôle pour référence.

Et au cas où quelqu'un voudrait argumenter, un sel est généralement gratuit et la cryptographie ne doit pas être mélangée avec la récupération, comme lorsque vous cryptez avec non seulement une norme de cryptographie pathétique et que vous oubliez la clé, vous ne pourrez généralement pas récupérer vos données.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...