Цитата(ViKo @ Mar 16 2015, 12:08)

То есть, каждое исходное слово заменяется CRC, вычисленной с его участием, следующее слово заменяется следующей CRC.
Вопрос, как закодировать, чтобы после декодирования получить исходный код? Каким полиномом? Думаю, перекрутить 32 в 1, и т. п.
Пока читаю пару статей о CRC, может, кто-то уже знает точный ответ?
Давайте для начала чётко опишем задачу, а то опять получится спор ни о чём

. Пусть есть функция, вычисляющая следующую CRC32 от 32-битных данных: uint32_t next_crc(uint32_t crc, uint32_t data); Алгоритм следующий:
Код
crc = secret;
for(i=0; i<ldata; i++){
crc = next_crc(crc, encrypted_data[i]);
decrypted_data[i] = crc;
}
Работать должно правильно, найти обратные CRC для шифрования легко(только я не помню точно как это делается). Но криптостойкость такого алгоритма совсем никакая, он даже брутфорсится элементарно, а если ещё использовать особые свойства CRC... Так что смысл сего действа неясен, разве что простейшая обфускация кода.