6

Assuming you know the checksum of a seed. How much does the brute-force difficulty decrease? By 27^3, or more?

6

The checksum of an IOTA address or seed is formed by hashing that value and then using 9 trytes (or 3 in the case of the wallet seed) of the hashed value. Meanwhile, generating an address from a seed requires several hundreds of hashes.

Insofar as you are trying to discover a particular seed via brute force, knowing the checksum will allow you to discard candidate seeds more quickly because you won't need to generate addresses from them if the checksum doesn't match. In general, this will indeed occur 27^3 or about 20,000 times for each valid checksum. Taking a single hashing as an elemental operation, the computational speedup from this will be approximately the number of hashes required to generate an address divided by the number of hashes required to generate a checksum.

However, in practice, so long as preimage resistance of the hash function holds, knowing a checksum will not really help you at all. There are still 27^81/27^3 = 27^78 seeds with the same checksum as yours.

  • 1
    Validating whether a seed matches a certain address requires to do a few hundred hashes (due to Winternitz scheme). Validating whether a seed matches a checksum requires to do a single hash. Therefore, if you know the checksum, the number of hashes decreases somewhat, but slightly less than the three trytes that are hashed. Unless I am misunderstanding his question too. :D – mihi Dec 4 '17 at 23:10
  • @mihi Thanks, that helped me understand the question a bit better, I have edited my answer accordingly. – Laurence Dec 5 '17 at 0:33
  • Yeah the edit you made addressed my question. Thanks! – Muppet Dec 5 '17 at 0:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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