Recherche de collisions dans SHA-256 sur la plate-forme Node.js à l'aide de Bitcoin Hasher

Avant de commencer la lecture, je tiens à vous avertir que toutes les définitions décrites ci-dessous et les recherches que j'ai effectuées sont à titre informatif uniquement et sont incomplètes ou inexactes.





Lors de la rédaction de cet article, de nombreux aspects importants ont été omis ou non complétés en raison de l'ampleur des sujets traités. Sur la base des informations que j'ai fournies, une liste de documents sera fournie qui peut être consultée pour une plongée plus approfondie dans des sciences telles que la protection des données et la cryptographie.





Pour comprendre le fonctionnement de l'application Bitcoin Hasher, le contenu de l'article a été divisé en petites sections :





  1. Un peu de théorie





  2. Un peu sur SHA-2





  3. Un peu sur la Blockchain





  4. Hacheur de Bitcoin





  5. Matériaux utiles





1. Un peu de théorie

, INPUT ( ) OUTPUT ( ). . (). , . , . :





, :









  1. hash-





  2. -









, . - . (x) "" (H) (y). (x) (H) (y) :





2. SHA-2

SHA-2 (Secure Hash Algorithm Version 2 - , 2).





, "", : SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/256 SHA-512/224 -, . , . , - . SHA-1 2002 . SHA-256, : Bitcoin Blockchain ( Blockchain ). .





, SHA-2:





SHA-224:       Hello World ! --> 2c8abaa6a94a76fe9c6005994567d67a1631bc90dfca267099dc750f
SHA-256:       Hello World ! --> 07f2bdef34ed16e3a1ba0dbb7e47b8fd981ce0ccb3e1bfe564d82c423cba7e47
SHA-384:       Hello World ! --> 67e60f9ce837caa3ca82550f0dfcbde1b8b8a7c1605fa8d115bcc2314204fd95f5f607306622c38c0205de7df6d426d8
SHA-512:       Hello World ! --> feab0028f1142d420a1425d1dd5b518225b4523aa1cff63385ece3411318819f5ec83042ccb79d81f20e4a243866886ca3ae3026153acff8e126c0e89631502e
SHA-512/256:   Hello World ! --> a70e1d1268e729e90db4c0834214f449c8e7b652777f40a8a0d26f2372e39ca7
SHA-512/224:   Hello World ! --> 7cc0d174b7ce522eff7d7ee59789e420d75d0244f006ef8ce0f4efb7
      
      



3. Blockchain

Blockchain SHA-256 , " " Bitcoin Hasher.





Blockchain - , , , .





, :





  1. (1991 ): Blockchain, . 1991 . Blockchain-.





  2. (1992 ): Blockchain , Blockchain.





  3. (2008 ): : "Bitcoin: a peer-to-peer electronic cash system". Blockchain Bitcoin.





  4. (2009 ): , , Blockchain Bitcoin.





, , , Blockchain , .





Blockchain , ( 685466, 2021-05-30 08:05):





{
      "hash": "00000000000000000009fde417c010d7ec9ffb25a268f4b0667681ed9b74cf65",       (   )
      "ver": 536870916,                                                                 ( )
      "prev_block": "00000000000000000007b7241ee4748769266870bdab4e5306379739db07c466"  (   ),
      "mrkl_root": "8d620000ab7ba942a165ed49be563a31c33269ce8f2d40b8317784475a543fe7"   (     ),
      "time": 1622351111                                                                (      ),
      "bits": 386752379                                                                 (- BTC),
      "nonce": 3069945434                                                               (       ),
      "n_tx": 996                                                                       (     ),
      "size": 1602081,                                                                  (  )
      "block_index": 685466                                                             (  ),
      "height": 685466                                                                  (  ),
      "tx": [
         "--Array of Transactions--"                                                    (   )
      ]
   }
      
      



, Blockchain, API.





Blockchain , . , , .





4. Bitcoin Hasher

Bitcoin Hasher SHA-256.





" " . Blockchain, SHA-256.





:





  1. JavaScript XHR- Blockchain API : https://blockchain.info/rawblock/ ( input ).





  2. Blockchain , Bitcoin Hasher , .





  3. "tx" "" Node.js .





  4. "prev_block" ( ) JavaScript XHR- : https://blockchain.info/rawblock/ ( ). .





  5. - INPUT-OUTPUT db_blocks/block-NUMBER_BLOCK.txt





  6. INPUT , OUTPUT .





Matériels utiles pour se familiariser avec l'application :





Dépôt de hachage Bitcoin





Un exemple de formation de "double cryptage", pour un bloc d'une hauteur de 665862 dans la Blockchain





Flux de travail Bitcoin Hasher :





5. Matériel utile

  1. Alferov A.P., Zubov A.Yu., Kuzmin A.S., Cheremushkin A.V. Principes fondamentaux de la cryptographie. M. : Hélios ARV, 2001.479 p.





  2. Applications décentralisées. La technologie Blockchain en action. S. Ravala





  3. Cryptographie pratique. Nils Ferguson et Bruce Schneier








All Articles