Я пытаюсь детерминистически генерировать пару ключей RSA с помощью Java на Android. Мои требования таковы, что я не могу сохранить пару ключей, и она должна быть сгенерирована во время выполнения, чтобы быть эквивалентной предыдущим/будущим прогонам.Детерминированная генерация пар ключей шифрования 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 одинаковы от запуска до запуска и даже одинакового для всех устройств.
Что мне не хватает? Как я могу повторять эти ключи?
Thanks
Почему вы хотите это сделать? Разумеется, если вы не хотите хранить пару ключей RSA, то вы также не захотите хранить случайное семя, используемое для создания пары RSA? Странно, что этот код не делает то, что вы хотите, но для меня кажется, что вы можете это сделать, не подумав об этом через –