-
Notifications
You must be signed in to change notification settings - Fork 9
CRC‐32
🚧 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_CODE
s.
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.
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.