Each time we use an address, 50% of your private key is revealed at random.

When 50% of the private key is revealed, a computer would have to do 2^256 computations to crack it, similar to the SHA-256 standard, which is considered cryptographically secure.

Mathematically, what % of my private key is revealed on average after the first key re-use, and in terms of exponents similar to 2^256, what level of computational security do I have now, on average?

1 Answer 1


Disclaimer: I'm still learning Iota specifications, so take this answer with a grain of salt

We assume that you re-use your key for a transaction that is new and different from the previous (aka hash(tx1) != hash(tx2))

Best case scenario : only one new bit is revealed, leaving 49.8% of your private key to guess, reducing the computations needed to 2^255.
(note: the very best case would reveal 0 new bit, but that would mean a collision in the transaction hash, which would be disastrous)

Worst case scenario : all the remaining bits are revealed, leaving 0% of your private key to guess, thus completely exposing your private key. This has a 1/2^512 chance of happening.

Average case: assuming on average half of the bits from the hash will match bits from the private key that were used before, that means only 25% of the key will be left to guess. Since 512 * 0.25 = 128 bits will need to be discovered for the private key to be cracked, requiring at most 2^128 computations.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.