Для RSA нужно 2 простых числа - P и Q. Из них математическими операциями получается N (для шифрования) и D (для расшифровки). Сомнительно мне получение из произвольно строки корректного N/D, учитывая их длины.
Предлагаю вариант: юзер вводит пароль, он используется для AES, который расшифровывает ключ из ключевой пары. Этот асимметричный ключ используется для операций с базами. Аналогично для второго пароля (и второй половины, соответственно).