Можно ли произвести полиноминального кодирования файла кодами Рида Соломона и при этом размер первоначального файла не изменялся?
если файл дальше не сжимается архиватором, то очевидно что нельзя. Довесок должен или лежать рядом в виде отдельного файла, или быть прилеплен в конец. Если имеется ввиду помещение кодов куда то вместо нулей в экзешник зная формат РЕ для защиты его от хака то впринципе наверно можно, хотя я таких протекторов не знаю, тк не хацкер а просто алгоритмист.
Если имеется ввиду возможно ли просто отделить файлы от кодов, чтобы они лежали рядом, а исходные файлы не изменялись, то тогда можно, эт называется систематическим кодированием
А бляшь, не сразу понял о каком извращении ты спрашиваешь. Ты хочешь с помощью кодов РС зашифровать файл, хотя и без пароля. Тогда можно . Рассчитываешь 100% кодов ридасоломона, это будет закодированный вариант файла размером с исходный. Разумеется, его можно обратно раскодировать, тк избыток был 100%
Можно ли произвести полиноминальное кодирование файла кодами Рида Соломона так, чтобы при этом размер получившегося закодированного файла оставался таким же как размер первоначального файла?
Нормальный код Рида-Соломона избыточен - закодированная информация всегда занимает больше места чем исходная. Сколько не смотрел вики, так и смог понять можно сделать неизбыточное кодирование. Вроде оно вырождается просто в умножение на полином ?
Можно, используя 0% избыточности для несистематических кодов РидаСоломона или 100% избыточности для систематических кодов РидаСоломона. При этом исправление ошибок будет невозможно, если останется только закодированный файл.
Если хочешь закодировать файл кодами РидаСоломона чтобы его размер не изменился, тогда умножь его на полином a*x^0, то бишь на константу отличную от нуля. То есть тупо каждый байт файла умножь на секретный байт mod(2^8)
Конечно сможешь восстановить! Ты не сможешь только исправлять в нем ошибки, так как изначально коды РидаСоломона задуманы именно для исправления ошибок. Но они могут находить и нетрадиционное применение вроде блочного шифрования как в твоем случае или для инкрементального дельта кодирования.
Пардон, а раскодировать как? Не просто константа, а имеющая обратный элемент. 1 - тривиальна, а остальные нечетные нормально.
valterg ну возьми поле галуа для остатков по модулю неприводимого двоичного многочлена, там для любого байта есть мультипликативный обратный
nazym Мне кажется, ты слишком буквально поняла это условие - неизменности длины файла. Имеется ввиду, чтобы размер не удваивался или сильно не менялся. Если файл помножить на полином небольшой степени, скажем пятой, то размер файла вырастит на 5 символов или блоков. Ну и что? Зато получишь блочное шифрование со сцеплением блоков, так сказать.
Возникла идея, те последние пять блоков которые будут торчать спереди можно запомнить вместе с паролем и схлопнуть их с первыми блоками, тогда после умножения на полином размер файла не изменится.
nazym Тут вареза запрещены. А воопще, не нравятся мне люди которые хотят только брать и ничего не давать взамен.