Я думаю, у вас есть основное противоречие.Если вы шифруете несколько значений и каким-то образом поддерживаете порядок сортировки между ними, то кто-то, зная, что «abc» шифрует до 567, а «abe» шифрует до 569, будет знать, что 568 => «abd».(Не то чтобы ваш алгоритм шифрования был бы таким наивным, но вы серьезно ослабляете все, что вам удастся придумать.)
Шифрование в число не составляет труда, если вы позволите числу быть длиннее, чем ваш открытый текст,(В конце концов, сами символы являются просто числами с особым значением.) Простой подход состоит в том, чтобы просто декодировать шифротекст в восьмеричное, но другие методы приведут к несколько более компактным представлениям десятичных цифр.