Skip to content

CRC‐32

Robert Jordan edited this page Sep 24, 2020 · 2 revisions

CRC-32/CS2

🚧 This page is a work in progress

The CRC-32 (32-bit Cyclic redundancy check) is a method used by CatSystem2 to generate seeds, such as GenerateTocSeed, from strings. The primary strings used are decrypted V_CODEs.

This version of CRC-32 is based on the CRC-32/BZIP2 variation with one specific change.

The CRC-32/BZIP2 parameters are:

width=32 poly=0x04c11db7 init=0xffffffff refin=false refout=false xorout=0xffffffff
check=0xfc891918 residue=0xc704dd7b name="CRC-32/BZIP2"

The usage of this in CatSystem2 is slightly modified, or just plain used wrong. While cyclic redundancy checks are designed to be used to verify a whole set of data, CatSystem2 performs the full CRC-32 calculation for every byte, and then passes it in again.

Difference from CRC-32/BZIP2

Normally the XorOut parameter of a CRC is applied only after reading the data is finished. But here, the XorOut parameter is applied after every byte. Its possible that CatSystem2 used this incorrectly by accident. Because of these differences, this variation will be named CRC-32/CS2, although I cannot confirm if this can even meet the normal requirements of a Cyclic redundancy check.

See also

External links

Clone this wiki locally