> But what are the alternatives? Put an expensive processor and a decent > amount of memory in every hardware wallet to support scrypt? Use a > million iterations and just wait 10 minutes after entering you > passphrase? Or compute the secret key on your online computer instead? What the Digital Bitbox team does, is, PBKDF2 the user entered passphrase on the computer with >20'000 iterations, then PBKDF2 again onchip with the 2048 rounds. If somebody manages to steal your backup (in that case a file/SDCard or printed PDF), it would at least required > 22'048 iterations to derive the key from a passphrase which I consider "stronger" then just using 2048 iterations. > Also, how many iterations are secure? A million? Then just add two > random lower-case letters to the end of your passphrase and you have a > better protection with 2048 iterations. I guess you shouldn't delegate KDF security to the user. But sure, this could help as well. This is part of the UI. On the other hand, forcing the user to select a long/more-secure passphrase will very likely lead to many funds get lost behind encryption because of lost/forgotten passphrases. > If you want to be able to use > your passphrase with cheap hardware and be protected against a high-end > computer with multiple GPUs that is almost a mllion times faster, then > you have to choose a good passphrase. Or just make sure nobody steals > your seed; it is not a brainwallet that is only protected by the > passphrase after all. Agree. But IMO this fact should not be an excuse to reduce/use low iterations during KDF (especially SHA2 based KDFs).