Если вы не намеренно разделите блоки шифрования для каждого элемента, который хотите найти (что является вполне жизнеспособным вариантом), вам придется как минимум расшифровывать половину файла каждый раз (в среднем).
Вы можете либо зашифровать строку за строкой (как я уже сказал, это вполне возможно), зашифровать текст поиска, а затем просто найти строку, которая соответствует.
В противном случае вам придется расшифровать файл и выполнить поисквывод процесса дешифрования для строки поиска.Если вы можете искать выходные данные, пока шифрование еще продолжается, вы, вероятно, сможете остановить дешифрование на раннем этапе, когда найдете текст.
Мне нравится идея зашифрованной базы данных из SilverbackNet, и я согласен, что вы не должны проверятьтвой собственный.Вам также может потребоваться убедиться, что индекс также зашифрован, если база данных не позаботится об этих деталях (это должно быть)