5

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?

aboose
  • 3,135
  • 3
  • 15
  • 37

1 Answers1

4

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.

aguadoe
  • 241
  • 1
  • 7