As I understand scrypt
was designed to be computationally intensive, so that it takes a relatively long time to compute. For what geth
need this?
And why it does not use, for example, SHA-256
?
1 Answer
The whole point of using scrypt is to make it costly to mount a brute force attack.
For a normal user to open an encrypted wallet it doesn't make much difference between scrypt and sha2, both are below 1 second.
But it makes a huge differece if you want to crack an encrypted wallet. For example let's say for each attempt with an scrypt wallet it will take 100ms, and for sha2 it will take less than 1ms. That is two orders of magnitude easier.
Following the example, an attack needs 100 years to be successful with scrypt but the attack to sha2 will be successful in only 1 year.