Хитрость заключается в индексации зашифрованных значений, но это ограничивает то, что вы можете искать. Вы можете немного улучшить ситуацию, предварительно нормализовав данные, например, принудительно вводя их в нижний регистр перед шифрованием, чтобы сделать совпадения более вероятными.
Однако это все академическое c, потому что вместо того, чтобы заново изобретать (потенциально сложный и трудный, как это может быть) колесо, лучший способ сделать это - использовать библиотеку, которая делает это за вас, и вам нужна библиотека CipherSweet от Scott Arciszewski.