Qu'est-ce que Hash et qu'est-ce qu'il faut? Hachage et hachage cryptovalut ce qui est hachage par seconde

Essayons de comprendre quelle est la complexité du réseau, qui est effrayée par tous les nouveaux mineurs et quel type de réseau d'eau est.

Maintenant, il y a tellement de discussions chats de cryptocurrence et de négociation. Toute question du nouveau venu "Ce que l'ASIC à acheter ou quelle ferme à assembler" est accompagnée d'une réponse ... "Oui, vous voyez comment la complexité du réseau augmente et ne pense même pas à cette question!"

Pour la simplicité, nous examinerons la complexité et le logement du réseau sur l'exemple d'une pièce de monnaie (analogue de l'éthésium, sur un algorithme similaire). Les chiffres sont moins nombreux et espérons que cela vous sera plus facile d'expliquer l'essence.

Le réseau de chaque cryptocurrence a un tel paramètre comme "temps de création de bloc". Dans le cas de la musique, il est 15 secondes. Toutes les 15 secondes, l'un des mineurs devrait trouver une solution pour créer un bloc.

Comment conserver ce paramètre en 15 secondes, quel que soit le nombre de mineurs connectés au réseau? Après tout, s'il y a beaucoup de mineurs, ils trouveront des blocs trop souvent (voici un exemple de bloc vide dans le réseau UBIQ http://www.ubiqu.cc/block/212214) et si les mineurs sont petits, puis Les blocs seront rarement et les transactions réseau vont aller très longtemps.

Pour trouver 1 pâté de maisons dans le réseau Musicoin Maintre ou la piscine (de nombreux mineurs ensemble) Obtenez 309 Musicoin \u003d 13 $ de pièces au cours d'aujourd'hui.

Battre en retraite. Dans le réseau, étherculer pour trouver un bloc est payé 5 ETH \u003d 1900 $, dans le réseau Etherium classique 5 etc \u003d 75 $. Mais malheureusement, la complexité et les réseaux de hashiret dans ces pièces sont souvent plus nombreux.

Si les mineurs produiront des blocs vides et recevront de l'argent pour cela - la pièce de monnaie sera amortie et si les blocs trouvent lentement - les transactions se lèvent ... à nouveau, la pièce sera amorti.

La complexité commence à travailler ici. Si sur vos doigts, il suffit de la complexité de la tâche que les prestataires doivent être résolus pour créer un bloc, et cela peut changer. La complexité dépend du Nocié du réseau (nombre de mineurs connectés au réseau de cette pièce). Si les mineurs ne suffisent pas - la complexité tombe si les mineurs sont beaucoup - la complexité commence à croître et un main-à-point concret Le bloc est plus difficile à trouver le bloc ...

Maintres de rémunération Les monnaies du réseau lui-même, mais tous les mineurs aiment les bonnes voitures, la nourriture et les chiffons. Par conséquent, il est important pour eux de savoir combien en dollars américains, car si le prix de la pièce a augmenté de la bourse, la valeur de la rémunération de la recherche du bloc est devenue davantage dans les notoires de dollars américains.

L'autre jour, 27 août (voir le graphique ci-dessus) Le prix des pièces de musicoin a augmenté parfois, les mineurs qui étaient engagés dans des pièces de monnaie, d'éthyurie, de monnaie, d'éthyurie, de ... Achnuli en anticipation plus profits et ont commuté leurs fermes sur la pièce de musicoïne . Dans le même temps, le réseau musicoïdal lui-même, bien sûr, a répondu avec une forte augmentation de la complexité.

La complexité est mesurée dans le hachage (généralement les Terrarahchs th), à utiliser pour l'exploitation minière, cette unité de travail terminé. La puissance du réseau (nombre de mineurs) est mesurée dans des haillons par seconde (Th / s). Le réseau lui-même ajuste la complexité de sorte que la complexité / la puissance du réseau \u003d temps jusqu'au bloc suivant (dans le cas de la musicoïde de 15 secondes).

27 août à la complexité des prix du décollage du réseau était la suivante: 7.5 e en moyenne et l'heschery du réseau: 500 gh / s (environ 16 000 cartes vidéo), puis après décollage, le prix du réseau a grandi à: 1.12 e / S (1120 gh / s) (environ 35 000 cartes vidéo) et la complexité en même temps a décollé à 16.728 e.

En conséquence, le profit de la ferme, qui a exploité la pièce avant le décollage des prix et le prix n'a pas changé après le décollage. La ferme a commencé à produire moins de pièces de monnaie, mais pour le prix plus important (la ferme n'a pas d'importance ni de réserve de fermes).

C'est un point clé que beaucoup de gens ne comprennent pas. Oui, vous pouvez extraire quelques dollars dans ces sauts, mais, en règle générale, tout est agité dans quelques heures et non fondamentalement quelle devise vous sera produite sur le même algorithme. L'échappement sera pareil. Bien sûr, si vous attendez une ou une autre monnaie, digez-la.

Il est nécessaire de faire une autre digression, il y a des gens qui suivent de près la complexité et le hashier ... Tous les réseaux sont un jour rond et des moments où Hesrayite tombera ou la complexité envoie, achetant le pouvoir sur Nicehash et les envoyer à un réseau de pièces reconnues. Et nous attrapons beaucoup de blocs.

En fait, la conclusion: Imaginons qu'il n'y a qu'une seule monnaie étieth. Hesreite Network Etherumer est en croissance constante, de plus en plus de nouveaux mineurs sont venus. Si le parcours d'étherum est en train de tomber et que le nombre de mineurs sera inchangé (ou augmentera encore pire), l'exploitation minière viendra au niveau de la sortie (combien est-ce que la propagation de $, autant payée pour l'électricité $). Dans cette situation, la ferme commencera à éteindre et à vendre, la complexité commencera à tomber et à revenir à la croissance.

Survit le plus fort et celui qui a de l'argent attendait parfois le majeur sur la prise.

Beaucoup de Miminat, ou Minnieli, ou vont démarrer le Maja, en sélectionnant l'équipement au maximum de certains gigaches. Quels sont ces hashies?

Comme vous le savez, la cryptocurrence (prendre Bitcoin) est minée à la suite de la résolution de problèmes mathématiques. Mais pourquoi Bitcoin est-il généré de cette façon? Pour ce faire, vous devez comprendre la valeur d'un tel processus en tant que hash cryptographique ou hachage. Donc, le hachage est une modification des données entrantes de différentes tailles dans les données initiales d'une taille clairement spécifiée, à l'aide d'un algorithme spécial (règles).

Trouvons-le pourquoi il est nécessaire. Supposons que nous possédons un réseau informatique ou une base de données fermée dans laquelle vous ne pouvez obtenir que l'utilisation de la connexion et du mot de passe. Les gens sont enregistrés avec des milliers d'entre nous, introduisant ces données. Maintenant, imaginez ce qui va arriver si quelqu'un possède l'accès à votre réseau informatique. Ils recevront des données personnelles de l'énorme nombre d'autres personnes. C'est pour cela que cela ne se produit pas, et un hachage cryptographique a été inventé.

C'est ainsi que cela fonctionne: le processus de hachage reçoit des données, telles qu'un mot de passe, et traite ces entrées via un algorithme spécial qui crée un grand nombre appelé "hachage". Hachage a deux propriétés distinctives clés.

  1. Premièrement, une et les mêmes données d'entrée correspondent toujours au même numéro. C'est-à-dire que si vous entrez le même mot de passe à chaque fois, le hachage générera le même numéro à la sortie, ce qui correspond à celui-ci.
  2. Deuxièmement, le hachage est un processus unidirectionnel. Il est presque impossible de prendre la signification du hachage et de l'aide d'un développement inverse pour divulguer ce qui était à l'entrée. Ainsi, il est impossible d'aller de l'inverse et d'entrer la valeur de hachage, c'est-à-dire le plus grand nombre, pour déterminer le mot de passe. C'est grâce à ces deux éléments de hachage et est utilisé comme méthode de traitement de données indépendant. Si le processus était réversible, il serait appelé de ne pas hacher, mais un ancien cryptage / décryptage au monde moderne est inefficace.

Maintenant, comment cela fonctionne pour un exemple encore plus simple. Vous vous inscrivez sur le site, entrez votre mot de passe. Le système le traite et génère un hachage qui correspond à votre mot de passe. Dans le même temps, le mot de passe lui-même n'est pas enregistré. Et maintenant, lorsque vous venez sur ce site et entrez ce mot de passe, le système générera un hachage, le comparera à une valeur stockée et approuvera l'accès avec une coïncidence. Et des pirates informatiques, piratage du système, ne recevront qu'un ensemble de brume, absolument inutile pour obtenir un mot de passe.


Il n'y a qu'un seul inconvénient dans ce système - si vous oubliez le mot de passe, il ne peut pas être restauré. Le système ne stocke pas vos mots de passe, il ne peut donc pas leur envoyer. Toutefois, dans des cas extrêmes, le mot de passe peut être réinitialisé, vous enverrez un mot de passe temporaire, passant à travers lequel vous pouvez définir la vôtre à nouveau. Cet inconvénient, à mon avis, n'est pas critique, en particulier dans le contexte de la sécurité de la hachage.

Et maintenant, retour au sujet de Bitcoin et au fait qu'il s'agit pour les tâches informatiques, la solution qui vous récompense avec des bitcoins chéris. Ainsi, plus tôt, nous avons dit qu'avec l'aide d'un hachage, vous ne pouvez pas déterminer votre mot de passe. Cependant, le moyen d'apprendre cette valeur est toujours là. C'est ce qu'on appelle "la méthode de puissance grossier" ou autrement dit - les combinaisons sont brutales jusqu'au moment de la suppression et la valeur ne coïncide pas avec le hachage.

Imaginez que le protocole Bitcoin a émis la tâche - pour deviner le numéro 5, et le nombre total de chiffres est un million. Vos chances de résoudre ce problème de 1 à un million. Si le réseau veut simplifier la tâche, il définit la gamme de chiffres, disons de 1 à 100, et vos chances sont déjà de 100 à un million. Si vous avez besoin de compliquer la tâche, développez la plage et vous devez maintenant deviner une figure non d'un million, mais d'une valeur de milliards. C'est dans ce domaine que la tâche mathématique est - il est nécessaire que le nombre qui correspond à un certain hachage.

Le hachage est mis à jour toutes les 10 minutes et le premier ordinateur, résolvant la tâche, reçoit une récompense. Mais aujourd'hui, la gamme de nombres à partir de laquelle la bonne chose à trouver est énorme. Tous les mineurs de Bitcoin-Minières du monde sont ensemble pour une minute environ 50 000 000 000 000 000 valeurs d'entrée par seconde pour tenter de récupérer la clé du hachage spécifié.

Le réseau Bitcoin suit régulièrement la vitesse de résolution du problème et si elle a été résolue beaucoup plus rapidement que 10 minutes, rendez-vous plus difficile. S'il n'est pas investi dans 10 minutes, le suivant sera plus facile. Dès que le premier ordinateur a décidé de la tâche, il montre sa solution à tous les participants qui vérifient cette décision et lors de la confirmation de la coïncidence de Heshem, il reçoit une récompense et le nouveau cycle commence ensuite.

Ce qui précède est le graphique de la croissance en difficulté, de sorte que le choix du matériel minier est mieux inséré avec une bonne alimentation et la vitesse des calculs.

Les algorithmes de hachage à cordes aident à résoudre beaucoup de tâches. Mais ils ont beaucoup d'inconvénient: le plus souvent, ils ne sont pas à 100%, car de nombreuses lignes dont les hachis coïncident. Une autre chose est que dans la plupart des tâches, vous ne pouvez pas faire attention à cela, car la probabilité de la coïncidence de hachage est toujours très petite.

Définition de hachage et son calcul

L'un des meilleurs moyens de déterminer la fonction Hash de la chaîne S est le suivant:

H (s) \u003d S + S * P + S * P ^ 2 + S * P ^ 3 + ... + S [N] * P ^ N

où p est un nombre.

Il est raisonnable de choisir pour p un nombre simple, à peu près égale au nombre de caractères de l'alphabet d'entrée. Par exemple, si les cordes sont supposées constituées uniquement de petites lettres latines, un bon choix sera P \u003d 31. Si les lettres peuvent être en capital, et que les petites, par exemple, peuvent P \u003d 53.

Dans toutes les pièces de code, p \u003d 31 sera utilisé dans cet article.

La valeur de Hasha est de préférence stockée dans le plus grand type numérique - INT64, il est long depuis longtemps. De toute évidence, avec une longueur de cordes d'environ 20 caractères, le débordement de la valeur se produira. Le point clé est que nous ne faisons pas attention à ces débordements, comme si vous prenez le hasch dans le module 2 ^ 64.

Un exemple de calcul de hachage, si seulement petites lettres latines sont autorisées:

Const int p \u003d 31; Longue longue hachage \u003d 0, p_pow \u003d 1; pour (taille_t i \u003d 0; i

Dans la plupart des tâches, il est logique de calculer d'abord tous les degrés P dans n'importe quel tableau.

Exemple de problème. Recherche de chaîne identique

Déjà maintenant, nous sommes en mesure de résoudre efficacement une telle tâche. Une liste des chaînes S, chaque longueur pas plus de m caractères. Supposons que vous souhaitiez trouver toutes les lignes répétitives et les diviser en groupes de sorte que dans chaque groupe, il n'y ait que les mêmes lignes.

Nous recevrions un algorithme avec la complexité de O (n m journalisation), tout en utilisant HASHI, nous obtenons O (N M + N LOGN).

Algorithme. Calculez le hachage de chaque ligne et triez les lignes le long de ce hachage.

Vecteur S (n); // ... lire des lignes ... // Nous considérons que tous les degrés p, permettent jusqu'à 10 000 - la longueur maximale des chaînes constante int p \u003d 31; Vecteur p_pow (10 000); p_pow \u003d 1; pour (taille_t i \u003d 1; i \u003e Hashes (n); pour (int i \u003d 0; i

Hesh Substring et son calcul rapide

Supposons que nous ayons donné une ligne S, et les indices de I et J sont donnés. Il est nécessaire de trouver un hachage de la sous-chaîne S.

Par définition, nous avons:

H \u003d S [I] + S * P + S * P ^ 2 + ... + S [J] * P ^ (J-I)

H * p [i] \u003d s [i] * p [i] + ... + s [j] * p [j], h * p [i] \u003d h - h

La propriété obtenue est très importante.

En effet, il s'avère que en ne sachant que hashi de tous les préfixes de la ligne S, nous pouvons pour O (1) obtenir un hachage de toute sous-chaîne.

Le seul problème survenant est de savoir ce que vous devez pouvoir diviser sur p [i]. En fait, ce n'est pas si facile. Puisque nous calculons le hachage dans le module 2 ^ 64, puis pour la division vers p [i], nous devons trouver un élément inverse dans le champ (par exemple, à l'aide d'un algorithme d'euclide étendu) et de multiplier cet élément inversé.

Cependant, il y a une manière plus simple. Dans la plupart des cas, au lieu de diviser Hashi à degrés P, il est possible, au contraire, en les multipliant à ces degrés.

Supposons que deux hachages soient donnés: un multiplié par p [i] et l'autre sur p [j]. Si je.< J, то умножим перый хэш на P, иначе же умножим второй хэш на P. Теперь мы привели хэши к одной степени, и можем их спокойно сравнивать.

Par exemple, un code qui calcule le hashi de tous les préfixes, puis pour O (1) compare deux sous-chaînes:

String s; int i1, i2, len; // Données d'entrée // Nous considérons que tous les degrés de p const int p \u003d 31; Vecteur I2 && H1 \u003d\u003d H2 * P_POW) COUT<< "equal"; else cout << "different";

Éclosion

Voici quelques applications typiques de hachage:

  • Détermination du nombre de sous-chaînes différentes pour O (n ^ 2 journal n) (voir ci-dessous)
  • Détermination du nombre de palindromes à l'intérieur de la chaîne

Détermination du nombre de sous-chaînes différentes

Laissez la chaîne S avoir une longueur n, composée uniquement de petites lettres latines. Il est nécessaire de trouver le nombre de sous-chaînes différentes dans cette rangée.

Pour résoudre la longueur de la longueur de la sous-chaîne: L \u003d 1 .. N.

Pour chaque L, nous construisons une matrice de la longueur de la sous-chaîne de hachage L, et nous donnerons au hasch dans un degré et trier ce tableau. Le nombre d'éléments différents dans ce réseau ajoutez à la réponse.

Ventes:

String s; // chaîne d'entrée INT N \u003d (int) S.Length (); // Nous considérons que tous les degrés de p const int p \u003d 31; Vecteur P_pow (S.Length ()); p_pow \u003d 1; pour (taille_t i \u003d 1; i H (S.Length ()); pour (taille_t i \u003d 0; i HS (N-L + 1); pour (int i \u003d 0; je

Qu'est-ce que Hash?La fonction de hachage s'appelle la transformation mathématique des informations dans une chaîne de longueur courte et certaine.

Pourquoi en avez-vous besoin?L'analyse utilisant les fonctions de hachage est souvent utilisée pour surveiller l'intégrité des fichiers de système d'exploitation importants, des programmes importants, des données importantes. Le contrôle peut être fait à la fois au besoin et régulièrement.

Comment c'est fait?Au début, déterminez l'intégrité de laquelle les fichiers doivent être surveillés. Pour chaque fichier, il est calculé pour calculer la valeur de son hachage sur un algorithme spécial tout en maintenant le résultat. Après l'heure requise, un calcul similaire est effectué et les résultats sont comparés. Si les valeurs diffèrent, cela signifie que les informations contenues dans le fichier ont été modifiées.

Quelles caractéristiques devraient avoir une fonction de hachage?

  • doit être capable d'effectuer des transformations de données de longueur arbitraire à fixe;
  • doit avoir un algorithme ouvert de sorte que son cryptoscope puisse être exploré;
  • doit être unilatéral, c'est-à-dire qu'il ne devrait y avoir aucune capacités mathématiques en déterminant les données source;
  • doit "résister" des conflits, c'est-à-dire qu'il ne faut pas donner les mêmes valeurs avec différentes données d'entrée;
  • ne doit pas nécessiter de grandes ressources informatiques;
  • avec le moindre changement dans les données d'entrée, le résultat doit changer de manière significative.

Quels sont les algorithmes de hachage populaires?Les fonctions de hachage suivantes sont actuellement utilisées:

  • CRC - Code excédentaire cyclique ou checksum. L'algorithme est très simple, présente un grand nombre de variations en fonction de la longueur de sortie nécessaire. Pas cryptographique!
  • MD 5 est un algorithme très populaire. Comme sa version précédente de MD 4 est une fonction cryptographique. Hesha taille 128 bits.
  • SHA -1 est également une conférence cryptographique très populaire. Hesha taille 160 bits.
  • GOST R 34.11-94 - Norme cryptographique russe pour calculer les fonctions de hachage. Hesha taille 256 bits.

Quand ces algorithmes peuvent-ils utiliser un administrateur système?Souvent, lorsque vous téléchargez tout contenu, tel que des programmes du fabricant, de la musique, des films ou d'autres informations, il existe une valeur de la somme de contrôle calculée par un algorithme spécifique. Pour des raisons de sécurité, après le téléchargement, il est nécessaire de procéder à un calcul indépendant de la fonction Hash et de comparer la valeur avec ce qui est indiqué sur le site Web ou dans l'application au fichier. L'avez-vous déjà fait?

Qu'est-ce qui est plus pratique pour compter le hash?Maintenant, il y a un grand nombre d'utilitaires similaires de paiement payé et libre à utiliser. J'ai personnellement aimé Hashtab. Premièrement, l'utilitaire lors de l'installation est intégré sous la forme d'une onglet aux propriétés des fichiers, deuxièmement, vous permet de choisir un grand nombre d'algorithmes de hachage, et troisième chose est libre pour une utilisation privée non commerciale.

Qu'est-ce que le russe?Comme mentionné ci-dessus en Russie, il existe une norme de hachage GOST R 34.11-94, qui est utilisée partout dans de nombreux fabricants d'outils de sécurité de l'information. L'un de ces fonds est le programme de fixation et de contrôle de l'état initial du package logiciel Fix. Ce programme est un moyen de contrôler l'efficacité de l'application de SZI.

Correction (version 2.0.1) pour Windows 9x / NT / 2000 / XP

  • Calculez les chèques des fichiers spécifiés par l'un des 5 algorithmes implémentés.
  • Fixation et contrôle ultérieur de l'état d'origine du logiciel.
  • Comparaison des versions du package logiciel.
  • Fixation et contrôle des catalogues.
  • Surveillance des modifications des fichiers spécifiés (répertoires).
  • Formation de rapports en TXT, HTML, SV Formats.
  • Le produit a un certificat de FSTEC sur le NDV 3 N ° 913 jusqu'au 1er juin 2013.

Et que diriez-vous des EDS?Le résultat du calcul de la fonction avec la clé secrète de l'utilisateur entre dans l'entrée de l'algorithme cryptographique, où la signature numérique électronique est calculée. Strictement parlant, la fonction de hachage ne fait pas partie de l'algorithme EDS, mais cela se fait souvent spécifiquement, afin d'exclure l'attaque à l'aide de la clé publique.

Actuellement, de nombreuses applications de commerce électronique vous permettent de stocker la clé secrète de l'utilisateur dans la zone de jeton fermée (Rutoken, eToken) sans la capacité technique de l'extraire de là. Le jeton lui-même a une zone de mémoire très limitée, mesurée en kilo-octets. Pour signer le document, il n'est pas possible de transférer le document sur le jeton lui-même, mais de transférer le hachage du document au jeton et à la sortie pour que l'EDS soit très simple.