Способы заставить XOR работать:
Используйте несколько ключей, каждая длина которых равна простому числу, но никогда не бывает одинаковой длины для ключей.
Используйте исходное имя файла в качестве другого ключа, но не забудьте создать механизм для получения имени файла. Затем создайте новое имя файла с расширением, которое позволит вам знать, что это зашифрованный файл.
Причина использования нескольких ключей длины простого числа состоит в том, что они приводят к тому, что результирующий ключ XOR будет иметь длину ключа A TIMES Key B до его повторения.
Сожмите все повторяющиеся шаблоны из файла до его шифрования.
Сгенерируйте случайное число и XOR это число при каждом смещении X (Помните, что это число также должно быть восстановлено. Вы можете использовать СЛУЧАЙНОЕ СЕМЯ длины файла.
После всего этого, если вы используете 5 клавиш длиной 31 и больше, вы получите длину ключа примерно сто мегабайт!
Для ключей, имя файла равно одному (включая полный путь), STR (Размер файла) + STR (Filedate) + STR (Дата) + STR (Время), Случайный ключ генерации, Ваше полное имя, Закрытый ключ, созданный один раз .
База данных для хранения ключей, используемых для каждого зашифрованного файла, но хранит файл DAT на карте памяти USB, а НЕ на компьютере.
Это должно предотвратить повторение шаблона для файлов, таких как «Изображения» и «Музыка», но фильмы, длина которых составляет четыре гигабайта или более, могут быть уязвимы, поэтому может потребоваться шестой ключ.
У меня лично файл данных зашифрован на карте памяти (файл DAT для использования с Microsoft Access). Я использовал метод 3-Key для его шифрования, потому что он никогда не будет таким большим, будучи каталогом файлов со связанными ключами.
Причина, по которой несколько ключей вместо генерации одного очень большого ключа случайным образом заключаются в том, что простые числа быстро увеличиваются, и у меня есть некоторый контроль над созданием ключа, и вы ЗНАЕТЕ, что действительно нет такой вещи, как действительно случайное число , Если бы я создал одно большое случайное число, кто-то другой может сгенерировать это же число.
Способ использования ключей: зашифруйте файл одним ключом, затем следующим, затем следующим, пока все ключи не будут использованы. Каждый ключ используется снова и снова, пока весь файл не будет зашифрован этим ключом.
Поскольку ключи имеют разную длину, перекрытие повтора различно для каждого ключа и поэтому создает производный ключ длиной Ключ один раз Ключ два. Эта логика повторяется для остальных клавиш. Причина простых чисел состоит в том, что повторение будет происходить при делении длины ключа, поэтому вы хотите, чтобы деление было равно 1 или длине ключа, hense, prime.
Да, конечно, это больше, чем просто XOR в файле, но концепция та же.
Lance