![]() |
блочное кодирование
еще одна лаба+) des
всё работает но что делать, если (даже когда) размер файла не кратен 8 байтам то есть файл 36 байт к примеру ( в реальности понятно что это килобайты, но это так, типа я не совсем дурак) кодируем 4 восьмерки , остается 4 байта я пока сделал так: считаю сколько восьмерок (N), если размер файла не кратен, то остаток кодер заполняет некодированными последними исходного байтами файла (4 мя в данном случае) декодер соответственно имеет такую же информацию об остатке, и декодирует N раз, затем не декодирует, а просто переписывает концовку с преподавателем пока не встречался (в понедельник), мб у криптографов есть какойто особый способ шифровать эти хвосты? понимаю что это всё очень топорно, но повторюсь, шифрование для меня не профильный предмет |
Могу предложить 2 варианта решения:
1) Гаммирование (XOR) - проблема отпадает сама собой 2) дополнение: дописать в исходный файл 100...0 до целого числа блоков при шифровании, при расшифровании их же обрезать (м.б. появится один лишний блок 10...0) (в дополнении можно писать все что угодно [длину], главное правильно расшифровать) |
Часовой пояс GMT +4, время: 16:23. |