29 lines
2.3 KiB
Markdown
29 lines
2.3 KiB
Markdown
|
## Implement Gandalf's blockchain
|
||
|
|
||
|
You need to reveal Gandalf's 8 words and create a chain of blocks with them: https://gandalf.lakera.ai/
|
||
|
|
||
|
Task is the create a local blockchain (no consensus/networking needed here):
|
||
|
- Beat Gandalf AI game, find all the 8 words. Put them in order. Each one of them will be the data in your block.
|
||
|
- Use | as delimiter between the words and the hash. Between the word and the hash, there is a - sign.
|
||
|
- How this looks like: GENESIS|WORD1-HASH|WORD2-HASH|WORD3-HASH
|
||
|
- Use SHA512 for the hashing algo. Start with the word and the delimiter and the first word: "GENESIS|WORD1-"
|
||
|
- Make sure to calculate the dash sign into the next hash. It is part of the block data. You only add the hash from the previous block, not all data!
|
||
|
- Everything is UPPERCASE.
|
||
|
|
||
|
If you are doing it correctly, you will have the following block hashes, starting from 0, Genesis:
|
||
|
0. 8288b35979d4e5dd5eee89a711ea5f41b04a17e7473a874c2b551844b57c0c24545cdbe7abf8e68dcd8da18a04ca8a1cc5798065ddb4fb32443136a589b3439d
|
||
|
1. 3ee14c107bd6b3e050fac7b0a2ff42a474b10c789830d03f22cdf242a773905a88ac98ebcafdd2e8c0134c3fe285bb58f52f68a1d873290cf2430bb0b22429a7
|
||
|
2. 058e7624f1d69625f1ecc4cdf41921fc7ffd31a38de10c9dab543986d68f47363974d2ea25832e6eacc5425afd685c11852fdd66793e7547dc9773cffb0431e8
|
||
|
3. 2990022ea32e47959b83bb7faf36e430c046533da075ca6aabad7269891195480d86d9b76ac29b22268ef1ef419c147291b8ac9fea0f1b737dfce360be384764
|
||
|
4. ff0dd5196c836fb663b87aa0e8b647e0862646673f8b6eca3a38866e02290e02d95c94df83cd4be1ac3900f9e69d00c1d9ab5a30a5e4f6102a97d25eeab8ecf1
|
||
|
5. 921be30124a505711224fb6de0955bd7e4c3b518aa4d5f65b6242c73fc1d4d978a8251c7d83f775aa14c00d01a5225085291c5df373a3bc18945b854d12e868f
|
||
|
6. This is secret! You need to insert the correct word plus the hash in order to count the final hash for the 7th block, which will be the flag.
|
||
|
|
||
|
Now that you solved Gandalf's game and wrote a local blockchain (without networking) it is time for the flag. Create the hash of block number 7 with the following data and hash it: "ICANHAZCHAIN-{PREVIOUS BLOCK}". The hash of this final block will be your flag.
|
||
|
|
||
|
The flag is the 7th block's sha512sum inserted into the PC{...} format. Pro tip: if you have issues with hash results, check with hexdump.
|
||
|
|
||
|
_Keccak256: 0xdbd5381511b2b9b20ee59bcefcb7f76650030d20e99886fa03b3c3f5cef47d37_
|
||
|
|
||
|
_Challenge author: six_
|