мuмonpoxoдuл писал(а) 10.12.2020, 23:33:Все, у нас есть зашифрованное сообщение и алгоритм его расшифровки.
Не алгоритм а метод в данном случае. Ну в общем понятно, детский сад.
Если делать программу шифрования то шифровать она будет всё, не только текст но и графику, видео, любые файлы.
Суть в чем. Допустим один байт это два шестнадцатеричных символа или 8 бит. Мы можем манипулировать этим как угодно.
Простой пример, один байт к примеру (на языке школьников шифруем букву "F") в шестнадцатеричном представлении
записан как 0x46 два шестнадцатеричных символа. Мы делаем простой "свап", "переворачиваем байт" и он записывается как 0x64 и на выходе (на языке школьников получим букву "d") информация при таком переворачивании не теряется,
побайтово можно перевернуть весь файл а потом вернуть обратно для расшифровки, все значения будут восстановлены.
Но дело в том что методов манипуляции с одним байтом может быть тысячи, я могу не только переворачивать шестнадцатеричные символы но и смещать, так же в байте могу манипулировать битами, причем сдвиг бит может быть
логическим, арифметическим, циклическим...
Это всего лишь один байт! Я могу зашифровать его тысячами разных методов и вернуть его первоначальное значение если знаю каким именно методом он зашифрован.
Но не бывает файлов из одного байта, по тому можно совмещать соседние байты, использовать любые байты из файла по тому или иному алгоритму, и это в арифметической прогрессии увеличивает кол-во вариантов методов шифрования.
Не говоря про то что алгоритмов заимствования + смещения, соседних байт из файла или отдельных элементов байта можно выдумать бесконечное множество.