AndroidでJavaを使用して確定的にRSA鍵ペアを生成しようとしています。私の要件は、私がキーペアを格納することができないようなものであり、それは実行時に、以前/将来の実行と同等に生成されなければならない。RSA暗号鍵ペアの確定的な生成
私は、乱数ジェネレータを決定論的にシードして、そのジェネレータをキーを作成するために渡しました。私のコードは
SecureRandom random=SecureRandom.getInstance("SHA1PRNG");
random.setSeed(1234); //something device specific will be used to set this
KeyPairGenerator keyGen=KeyPairGenerator.getInstance("RSA");
keyGen.initialize(1024, random);
KeyPair pair=keyGen.generateKeyPair();
PublicKey pub=pair.getPublic();
PrivateKey priv=pair.getPrivate();
です。実行されるキーは実行時と異なります。ただし、SecureRandomの数値は実行ごとに同じで、デバイス間でも同じです。
私には何が欠けていますか?どのようにこれらのキーを繰り返し生成できますか?
ありがとうございました
なぜこれをやりたいですか? RSA鍵ペアを格納したくない場合は、RSAペアを生成するために使用されたランダムシードも格納したくないでしょうか?このコードがあなたが望むようなことをしていないのは奇妙ですが、私にはそれを考えずにこれをやっているようです。 –