We are working on an application in Android using Java. In our project, we used to generate EC key pairs (of size 384 bits) using SpongyCastle - an old Android version of Bouncy Castle.
The problem we face is users losing their phones or private keys. Since we are not the only ones facing this problem, I took to the Internet for some reading.
It turns out that (please correct me if I'm wrong) a lot of crypto currencies apparently use seed phrases/mnemonics (as described in BIP39) to generate a seed from which they in turn generate extended keys (as described in BIP32). The algorithms used will always generate the same extended keys for the same seed (which is, I'd guess, why they're called deterministic).
I managed to find some microlibraries by Nova Crypto. I am now able to generate seed phrases, seeds, and extended keys.
My question is threefold:
Nova Crypto seems to be a guy like you and me. Since you should never write your own crypto, I probably should not use them.Are there peer-reviewed, secure libraries for the BIP-standards?
If I can use the libraries, how can I derive EC 384 bit key pairs from my extended keys? Is there a way to do this, or is the concept entirely different?
Are seed phrases secure (enough)? Are the keys generated out of these seeds as secure as the keys I generated using SpongyCastle?