Como funciona o registro de recuperação do WinRAR?

1

Eu estava tentando oferecer alguma proteção contra a podridão de bits e o WinRAR tem a opção de adicionar uma "porcentagem" de "registro de recuperação" que reivindica proteção contra corrupção de dados.

A única maneira que posso pensar em proteger contra corrupção em posição arbitrária sem copiar todo o arquivo é XOR todas as "partes" dos dados. Seu XOR pode então recuperar qualquer uma das "partes" corrompidas.

Isso significa que o WinRAR divide o arquivo em "partes" que não podemos ver e gerar seu XOR que também não podemos ver? E quanto maior a "porcentagem", maior é o tamanho das "partes"?

Isso também significa que, se ocorrerem duas varreduras de bits no início e no final dos dados, essa proteção será inútil?

    
por 7E10FC9A 01.10.2018 / 06:11

1 resposta

3

O XOR é um modo de o fazer (também conhecido como "paridade", por exemplo, no RAID5). De acordo com a documentação do WinRAR , é isso que o formato "RAR 4" usa - embora com uma estrutura diferente da que você descreveu, para implementar o escalonamento percentual personalizado e, presumivelmente, para garantir alguma recuperação, mesmo nos casos de borda que você descreve.

No entanto, existem métodos muito mais avançados. Especificamente, de acordo com os documentos do WinRAR , o "novo" formato RAR 5 usa Codificação Reed-Solomon , que se eu entendi corretamente pode recuperar uma determinada quantidade de bytes em qualquer lugar nos dados do arquivo.

Reed-Solomon também é usado por Parchive / PAR2. Existem outras implementações; veja estes artigos para referência geral sobre técnicas avançadas:

por 01.10.2018 / 06:39