## NULLCOIN (Crypto, 300pt)
> Mine the middle>> [nullcoin.pdf](nullcoin.pdf)
In this challenge we have a partial transaction block that we have to complete so we get a specific SHA256 hash.
```transaction_id:9receiver_name:Jailerreceiver_key:?sender_name:Nullcon9sender_key:?transaction_amount:100time_stamp:1536483609 transaction_signature:02487a9974eff50f5153c7511bc6331059e0e8f41926e0fe56680723125a675dnonce:?```
We can get `receiver_key` and `sender_key` using the provided [bitcoin address generator](https://keybase.io/warp), using the name as the passphrase. 
![](Jailer_key.jpg)
After doing the same for the `Nullcon9`, we confirm we get the same hash that is mentioned in the PDF, for the block without the nonce.
![](SHA256.jpg)
Now we only have to brute-force the nonce to get the target hash.
```pythonimport hashlib
block = """transaction_id:9receiver_name:Jailerreceiver_key:1HGJuDsHPEXU9cFDPxyDn3Tn6US7Q3QyWTsender_name:Nullcon9sender_key:17cM7VAJWKvtN7WebxoKmvtdbHM2iv9rSDtransaction_amount:100time_stamp:1536483609transaction_signature:02487a9974eff50f5153c7511bc6331059e0e8f41926e0fe56680723125a675dnonce:"""
i = 0sig = None
while sig != "9999990b707d6d10d3121eadc054a21d1e9855f679fe1b096c05beb0273c591d":    i = i + 1    sig = hashlib.sha256(block + str(i)).hexdigest()
print "[+] Flag found: hackim18{{'{}'}}".format(i)
```
```bash$ python brute-nonce.py[+] Flag found: hackim18{'21860565'}```