I am using MySQL db and PHP and much of the db data are already encrypted with user-supplied passwords and the excellent encryption class by ircmaxwell found here It's working perfectly.
$e = $crypt->base64_encode(encrypt($string, $password));
$e2 = $crypt2->decrypt(base64_decode($string), $password);
But is there any way to automatically encrypt and decrypt data directly by the server without even MY being able to know the password somehow? I'm just brainstorming, but maybe "whole table encryption" as a function in MySQL?!!! Or some PHP feature that obfusticates in a refusticationable way? :-) A built-in encrypt/decrypt within PHP, perhaps? So that ONLY the computer will be able to encrypt/decrypt the data...I couldn't access it even if I'm fully in control of the database and the php code? Even if someone had a gun to my head or put bamboo under my fingernails or other such ghastly things?
I want to have a reasonably secure plausible deniability in saying, "I actually couldn't know what's in there even if I wanted to." For certain columns that are NOT able to be encrypted with a user-supplied password. Seems I'm stuck either creating a plain string or else encrypting that string with, ahem, yet another string.
It seems like I can't be the only one trying to achieve this but I've searched and searched and can't find a similar application being discussed...let alone solved. All the pages seem to assume that one knows the passphrase already or else is trying to crack it from the encrypted data. A Catch-22. Or maybe a Schroedinger's Cat?
Any help will be greatly appreciated. Thank you!