Questo non è sicuro. Se si archivia la chiave, si abilita chiunque abbia accesso al database alla possibilità di decrittografare i dati dell'utente.
Non dovresti memorizzare la chiave privata. Invece generalo su richiesta usando la password + sale quando necessario. Se si immette la password ogni volta che è richiesta la crittografia / decrittografia non è fattibile per il proprio caso d'uso, quindi memorizzarlo nella cache e cancellarlo quando l'utente si disconnette.
RSA è lento e asimmetrico. Inoltre, come sottolineato da A. Hersean, non funziona bene con gli algoritmi di derivazione chiave. Ti suggerirei di utilizzare probabilmente un algoritmo simmetrico come AES per crittografare i dati utente.