Это зависит от того, как вы шифруете свои данные. Вы делаете шифрование в коде и затем вставляете зашифрованные значения? Если это так, то вы можете искать значения, просто просматривая зашифрованное значение вместо открытого текста.
псевдокод:
string encryptedEmail = Encrypt("test@test.com", myEncryptionKey);
....
string sInsert = "INSERT INTO table (email) VALUES ('" + encryptedEmail + "')";
...
string sSelect = "SELECT * FROM table WHERE email = '" + encryptedEmail + "'";
Теперь вы только когда-либо передаете зашифрованную информацию по сети, ключ никогда никуда не отправляется.