Мне кажется, что требование иметь конфиденциальные данные в базе данных - это доверие администратора базы данных.
Даже если вы могли бы зашифровать данные таким образом, каким dba не может их увидеть, он может прослушать соединение, по которому вы передаете ключ (или данные!), Или настроить триггеры для захвата данных перед шифрованием в В случае, если схема позволит это.
Короче говоря, получение надежного администратора базы данных - это более простое и лучшее решение.