4

The Ripple client has both a wallet name/passphrase and a secret key, and to the newbie it's not clear why there are two secrets. The client advises the user to write down the secret key and keep it safe so the funds can be recovered if the wallet is lost. If the funds can be recovered using just the secret key, then why does it have a wallet name/passphrase as well?

Is the wallet name/passphrase just for convenience (easy to remember)?

Why can't the wallet name/passphrase be changed?

Why not generate the secret key from the wallet name/passphrase so that the user has only one secret to keep safe?

4

Is the wallet name/passphrase just for convenience (easy to remember)?

Yes. Because anyone trying to steal your funds would first have to get hold of your wallet file before he could use the passphrase, it doesn't have to be quite as secure as the secret.

Why can't the wallet name/passphrase be changed?

Because then you'd have two passphrases you'd have to keep secure forever to protect your account. The decrypted wallet yields the secret and the secret owns the account. There's generally no way to be sure you've destroyed every copy of your wallet.

Why not generate the secret key from the wallet name/passphrase so that the user has only one secret to keep safe?

That would defeat the point of the passphrase because it would no longer be able to be any less secure than the secret. Anyone could try common name / passphrase combinations at a very high rate to see if any of them matched existing accounts.

  • If I know your wallet name/passphrase I can obtain your secret key by logging in to the Ripple client. Is it not? So it has to be as secure as the secret key. Or am I missing something? – Manish Apr 25 '13 at 21:31
  • 1
    @Manish: If you know my wallet name/passphrase yes. But if you had it on a list of a hundred billion possible name/passphrases, no. If you had the secret on a list of a hundred billion possible secrets, my account would be toast. – David Schwartz Apr 25 '13 at 21:38
  • So you're saying that it would be easier to brute-force the secret key if it were generated from the wallet name/passphrase? Because then you could do something like a dictionary attack? And that's why it's better to keep them separate? – Manish Apr 25 '13 at 22:05
  • 1
    Yes, that's it. You can't brute force the wallet unless you have the wallet. There's nothing to stop you from trying to brute force the secret -- so it must be very secure. 38 bits is probably just barely enough for the passphrase (assuming someone doesn't have a copy of your wallet). 70 bits is probably just barely enough for the secret. – David Schwartz Apr 25 '13 at 22:14
  • 1
    That's definitely possible. – David Schwartz Apr 25 '13 at 23:57
1

The wallet name/passphrase is the key to the wallet file. The wallet file contains the secret key. The secret key is the key to the funds.

If you lose the wallet file, you can still access your funds with the secret key.

If you lose the secret key, it's there in the wallet file.

If you lose both the wallet file and the secret key, then you've lost access to your funds.

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.