Introducing RippleWarpWallet, a deterministic Ripple wallet generator using Scrypt -- Create a secure Ripple wallet without needing to store a secret key.
What is RippleWarpWallet
You can find it here: https://termhn.github.io/ripplewarpwallet
RippleWarpWallet is a fork of the original WarpWallet used for making Ripple wallets instead of bitcoin ones. It is a deterministic ripple address generator. You never have to save or store your secret key anywhere. Just pick a really good passphrase - I recommend using Diceware, an online implementation of which you can find here - and never use it for anything else.
This is not an original idea. bitaddress.org's brainwallet is the original inspiration, and the original WarpWallet of course inspired this Ripple version. The source code is hosted on github.
WarpWallet adds two improvements over the traditional brainwallet:
(1) WarpWallet uses scrypt to make address generation both memory and time-intensive. And
(2) you can "salt" your passphrase with your email address. Though salting is optional, we recommend it. Any attacker of WarpWallet addresses would have to target you individually, rather than netting you in a wider, generic attack. And your email is trivial to remember, so why not?
If you're a programmer and want to implement WarpWallet yourself, here is the algorithm used. Ripple-specific functions are part of the ripple-keypairs npm package...
s1 = scrypt(key=(passphrase||0x1), salt=(salt||0x1), N=218, r=8, p=1, dkLen=32)
s2 = pbkdf2(key=(passphrase||0x2), salt=(salt||0x2), c=216, dkLen=32, prf=HMAC_SHA256)
secret = generateSeed(s1 ⊕ s2)
keypair = deriveKeypair(secret)
address = deriveAddress(keypair.publicKey)
Hi! I am a robot. I just upvoted you! Readers might be interested in similar content by the same author:
https://steemit.com/ripple/@grayolson/i-made-a-version-of-warpwallet-for-ripple-xrp
Congratulations @grayolson! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Do not miss the last post from @steemitboard:
Vote for @Steemitboard as a witness to get one more award and increased upvotes!