47

bitcoin challenger

Original Reddit Post https://www.reddit.com/r/Bitcoin/comments/9kq7it/introducing_the_310_btc_bitcoin_challenge/ Prize Wallets 310btc (unsolved) https://blockexplorer.com/address/39uAUwEFDi5bBbdBm5ViD8sxDBBrz7SUP4 0.31btc (unsolved) https://blockexplorer.com/address/3NPZiNWiD7cCfXZa1D8tnEZBPgQ884cVw7 0.2btc (solved) https://blockexplorer.com/address/1G7qsUy5x9bUd1pRfhVZ7cuB5cMUP4hsfR 0.1btc (solved) https://blockexplorer.com/address/1446C8HqMtvWtEgu1JnjwLcPESSruhzkmV 0.1btc Solution The grid at the bottom is hex characters 511 B20 332 328 410 530 22B 0FE 52E D0F 7A1 65B 52C 7E7 511 2F6 56F C4B Above that on the image is OCT 2 2018 in small print. Using 20181002 as a shift key, shift all the original hex values to new value as shown below. Original Hex 511 B20 332 328 410 530 shift 201 810 022 018 100 220 decrypted hex 310 310 310 310 310 310 Original Hex 22B 0FE 52E D0F 7A1 65B shift 181 002 201 810 022 018 decrypted text 1AA 0FC 32D 5FF 78F 643 Original Hex 52C 7E7 511 2F6 56F C4B shift 100 220 181 002 201 810 decrypted text 42C 5C7 490 2F4 36E 43B The first 310 repeating line is an indicator telling you you did it right so can be stripped, which leaves you with 12 sets of hex numbers, which when converted to decimal are all less than 2048. Hex 1AA 0FC 32D 5FF 78F 643 42C 5C7 490 2F4 36E 43B To Decimal 426 252 813 1535 1935 1603 1068 1479 1168 756 878 1083 Which you can map to bip39 seed words for the wallet using 1-2048 index https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt cry buyer grain save vault sign lyrics rhythm music fury horror mansion Alpha Channel Extraction for Salted String 1 Retrieve the alpha channel color code from the image via any chosen method (python, gimp, photoshop). Almost all pixels will have a value of 255 minus a few areas. A row of pixels on line 310 and 2800 pixels long has some modified values along with a square in the middle of the image. The square in the middle of the image is a QR and when scanned directs you to https://bitcoinchallenge.codes/register-310/ The remaining line at the top is a binary sequence. The first 2800 pixels will be either alpha value 253 or 254, pixels 2801+ are 255 and can be discarded. Convert 253=1 and 254=0 to get a binary string. 0101010100110010010001100111001101100100010001110101011001101011010110000011000100111001010100010011001101001001001011110010111101010110010000110100100000110000010101010011001101100011010101100111010001001001010101000101101000110011011000110110101101001001010011000100101001101110010101010110001101100100010100000101100000110011010001110111001100110101011100010110101001100100010001100011000101010101011010100101101000110011011011010100000101100110011101000100011101101001011101100111010001000110010110010100010000001010010011100011010101011010010000110101001101101011010000100111100101101110011011100101011001110001010000100110000101110111011011000011010001110000001110000111011101001011010011110011000001001111001110000111101001001001001101100100010000110000010000010011000100101011010101100100010101010110010000110101010101111001010001010111011001000101011001010100111001101111010101010110011001000111011000110101001100110000010001010110110000111001011001000011100100110011011101100111001101010000011110000110001001100111001101110000101001000100001101010110000101110110011101010110011001010001011100110101001101100011011001110111001101101011001100110101000101000101011101000111000100111001001011110100110100110100010001000110111100110011001100100100111101001011010001100110010101110001001100000011000000101111001100110100111001110010011110000101011101001111011100110100110101101101011010000011001101000001010110000110110101000100011110100111010101110101010110100011000001110001011011010101101001100001010010010011011101110010011001010011000100110110000010100100011001100011010110000100100101110010011011010101000001010000011010010101000101000100010011110100100001010010011000110011011101110111011101000011000001101110011001110011011001110001010011000110100101001110011110100011011101010110011100010100010101010011010100100101010001100100011110000101000001001111011000010110100001001011010001100101001001101011010101110101010000111000011100110101010000101011010101010111001000110010011110010010101100110010011010010101101000110010010011000100010101100001011110000100111000001010010011010011011101010101010110100111000101100011010100000111011101011001011001110110110100110110010001100110111101001011010011110101011001101010011011100111000101100100011001010110011100110011001100000101001000110010001101110110101001100011001101100100000101101111010001100101000001111001010100100101101000110010011001110011100000101011010001010100101001001101011100000011001101101110001011110111000001100110001110010011010001101111010100110100001101001100010001010101011101101011011000110011000001101111011100110000101001101010010010000011100101000100011100010110001001001101001101100100010001010101011100000111010001110101001100110100100001001010011000100100000101010110011101110101100001010001001111010011110100001010 and then convert this to ASCII to get the text below. U2FsdGVkX19Q3I//VCH0U3cVtITZ3ckILJnUcdPX3Gs5qjdF1UjZ3mAftGivtFYD N5ZCSkBynnVqBawl4p8wKO0O8zI6D0A1+VEVCUyEvEeNoUfGcS0El9d93vsPxbg7 D5avufQsScgsk3QEtq9/M4Do32OKFeq00/3NrxWOsMmh3AXmDzuuZ0qmZaI7re16 FcXIrmPPiQDOHRc7wt0ng6qLiNz7VqESRTdxPOahKFRkWT8sT+Ur2y+2iZ2LEaxN M7UZqcPwYgm6FoKOVjnqdeg30R27jc6AoFPyRZ2g8+EJMp3n/pf94oSCLEWkc0os jH9DqbM6DUptu3HJbAVwXQ== The start of this string is "U2FsdGVkX1" which converts to "Salted__" in b64 to ASCII which indicates openssl was used to make it. Red Channel Extraction for Salted String 2 Reviewing the grey bits channel of the image shows that not every pixel follows normal grayscale of R=G=B. In a few cases, specifically on line 310 where alpha was changed we can see R=GB is not valid and spans the full 2944 pixels of the image. This time you will extract the LSB (least significant bit) of the Red channel for row 310 via any prefered method. This will give you the binary string below. 1011010101000110101100011000010010000100111100110001101011001111101001111100110110000010111011111001100011110111110100001101010101101000011101011101010110001011100110101100110010011100011110010011000011101001110110101000110111011001000100000011011110101100000000100110000010000011110000010110100010101101110011001110111111011111111011001100010100000111000010100011101001110100110000100001101110010001011100011010101001100011100011000000111110110011101111001110000110001010001010110010101100010001010011000101000100011100010101000000111001011001101110010000101100010111101111001000110101000011111110100100100101010011001100000010010101011001010010101001000000000000011001101111000010011110111111011110010100111000000101001001001010011001111000100010100100100110100100100101101111101010110001000101100010011000111000110010101110001000110000110000111111000111001101000010010000111100111101110010001001001000101010000111110101000110100101001110110111011001111100001000011010111101110101101000000111000101001101111101000000001101011010011100101101011111000001111101011000111011000100110001111110010111000001011110010100100000111001101011011000101111110010000011111000001111001101111011101110100101101000100100101000101001001000101000010110010001100011111000110000111111101101001000110101001100100010001000110101010100011001101111000111010111111100010110001110110001010110010111101000000111111010001100100000100101010101000100001101100110000111000011001110101001011000010111110011100011000010010101011111010010010101011000010000010111101111001101111000101000100110100100001001000000100110110100001011001000111001111011100001011111100011011110110101010010001101110011000000101011110001110000000011110010001000011100000010101111010111100110000001001111111101100100100111000011010111010010010101001011110100100000111001011100101111000000110011001011100011001100111000111011011000000110000101011110011000111110011101101011101111001111001010010100001101011010111111010101101010101000110111001101100001101101010011001101100101101010010111001101101100111011101010011110100001111011000111110101101100101100100010101010101001011000111010011100101011111000100010100110100110001001001011001001101110011001000010110100101100001010100110010101100100011000111010011011100110101001100011001100110011111010110111001101110010001001010110011100110010011011111010010000101110011010111110000110101011011010010111001101100110001100011111010100101110101011010110110010100011111100110010010001110100001000111110011001110001101100101110010000101011001011110010110011101110101010100010010100100111001100111110010000100011001111010110010101101101111100011010111011100011101001110110110010110010011011101110101010100011111000101110001010110011001011011110110101100111011011111010101001100010001010011110101110110000101100001011110101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 You will already notice you are onto something as all the bits after the 2800th pixel are zeros which is when the alpha channel binary ends so you can remove those. XOR these 2800 bits with the 2800 bits from the alpha channel to get the binary below. 1110000001110100111101111111011111100000101101000100110010100100111111111111110010111011101111101010101110111110111111111111101000111110001101101001110110111011110011111111111111111111001011110100010010100000100011101101011111101010011100110101110011100101010011100010101011101101100101000000101111001001100111001011011111101100101010111011011000110010011110110101000000010000100001000010101011000100000110111111000001010000111000010100111011010101110010001010011011100011010111010101111101010111000101010001010100010110000110100011101100000011111110100101100001111100111111101111010000101101100101000001111100100010011100100100010000101110001001101010010001110000010111101000011111010101101100101101010101110111001011001110100011010000110101000110110100010110110100110110101011000001100100100001110111001110101000000111111011110001100001100111100110000010010100010110101001010011101000100100010000001111110010110010111001110110110100011000000111100000100101001011111110001110101000001111001010010101010011111011001001101010010111101100000100011011001100101011011101001101011001100111100111000110011101101011011001000011100000011100010101000100111110110110111101001010010000111100101010011100100011010000011100011101011001101110101010100010101111011100001101110100111100101110100000111101101110001011110101111011010101011011111110100101100010010011010011111110001010100011011101101010100000001111101101100100000011000010111000100010011001100100011011011100001110110100110010010010011001000000110110110011000111001011001101100101110110011110111100011110100100000000010000100011110000110000101110111010100010101110100000001111111001001011110000010110011110000111100001111001101001000011011110000101010101011111000011000001001110010101011000111110101110100010000010001101001001110001001000011101101000110100101100001111111011100101100010101111111101001001111001110100000000010000100100010101001001011011010100000000111010111010011010101100010001101111101111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 Again you will notice that after pixel 1960ish all the values become the same again indicating something is going on. Flip the bits (swap 1 and 0) to make the trailing string all zeros and convert the string to hex (you can also remove extra trailing zeros). You will notice it starts with “1F 8B 08” which is the header for a gzip file. 1f8b08081f4bb35b0003444154410005c1c96244300000d0bb5f7128158ca31ab1d5126bf4366348135449cd84afef7bd53be40faf1eb12a37591ca2a0a8eaeae9e5c4fc05a783010bd26be0dd8dbbd1d95b8fa1782a4d2a88d3172f2b92e92c953e6de2315f810e79867dae95ac5dbbf034d1892e7e1f6b40715f0d6ab04d95a13ee4cd48b29986398949bc7e3abb0490b5bc356372f8e299155d423c8b0d17c2474284aa405a76cb01d5c8957f049bf3d1dd99b923c4b36d9bf24ce34c9a2610e16ffbdc3cf4457517f01b43e98787865bc87aaa0f3ec6a9c145df72d8ede25cb4f011a7500b618bfef6eada4aff145953b904010000 Convert this string to b64 and then decompress the file however you want. (online works too http://www.txtwizard.net/compression) b64 H4sICB9Ls1sAA0RBVEEABcHJYkQwAADQu19xKBWMoxqx1RJr9DZjSBNUSc2Er+971TvkD68esSo3WRyioKjq6unlxPwFp4MBC9Jr4N2Nu9HZW4+heCpNKojTFy8rkukslT5t4jFfgQ55hn2ulaxdu/A00Ykufh9rQHFfDWqwTZWhPuTNSLKZhjmJSbx+OrsEkLW8NWNy+OKZFV1CPIsNF8JHQoSqQFp2ywHVyJV/BJvz0d2ZuSPEs22b8kzjTJomEOFv+9w89EV1F/AbQ+mHh4ZbyHqqDz7GqcFF33LY7eJctPARp1ALYYv+9uraSv8UWVO5BAEAAA== Decompressed gzip U2FsdGVkX1+WPMJQISUVUvGRg7p4zCX4jIODIGb6b6cAreXFxv0WOxgCeSw9K+im THiWMkRq45FsPXHs3TjYqcJz7QzQ8HeM340EwWQWXAi0fVy+r6NPmiJRgMgMqLCu 4Q9o/WkNyHxvPScNgG9jf8gskggx10FiTcoyF1KE+nxjmRkEuj7uQQsPrrlRP3sj ll4KXhAzrGQZi5E4sajQOBGQfaJjei5fHXXO6sxeYsFcuxzo3JdMOF3JFYQtuUDY The start of this string is "U2FsdGVkX1" which converts to "Salted__" in b64 to ASCII which indicates openssl was used to make it. Mirror Mapping Mirroring the 6 curves about the vertical axis x=1412 connects them all to 10 characters. Original Image The original image found to have generated this image is located below. It has been converted to grayscale and had the following photoshop filters applied. Stained Glass, Texture and Graphic Pen. https://www.goodfreephotos.com/albums/other-landscapes/light-shining-through-the-trees-in-the-forest.jpg