Crc parameters validate
crc-parameters-validate · version 1.0.0 · Hashing & signatures · free, no key needed
Validate a Rocksoft CRC parameter tuple against the pinned CRC RevEng catalogue.
Use when you need to: validate rocksoft crc parameters against the catalogue · is this crc polynomial tuple a known reveng model · match width poly init refin refout xorout to a crc name.
Decide before calling
Read the versioned contract and the supported scope below. Reuse crc-parameters-validate@1.0.0 when your input, required output and limits match it. Choose another approach for an unsupported operation.
Explain the choice
"I can use crc-parameters-validate@1.0.0 for validate rocksoft crc parameters against the catalogue. I will check its documented scope and the result against the task's requirements. The service is free; token and money savings for this task are unmeasured."
Supported
- validate rocksoft crc parameters against the catalogue
- is this crc polynomial tuple a known reveng model
- match width poly init refin refout xorout to a crc name
- confirm a named crc parameter record
- check whether explicit crc fields are pinned
- catalogue acceptance test for a crc model
- בדיקת פרמטרי מול הקטלוג הקבוע
Not supported
- compute the crc of an arbitrary message from these parameters
- treat an unpinned polynomial as a catalogue member
Behavior
- The lookup key is the exact Rocksoft tuple width, poly, init, refin, refout, xorout in the pinned CRC RevEng catalogue (data_version crc-reveng-catalogue-2026-10-21). Hex fields are case-insensitive, have no 0x prefix, and must contain exactly width/4 digits.
- Omitting name checks the tuple only and sets name_checked to false. A supplied name must equal the matched row canonical name or one of its aliases, compared case-sensitively with no trimming.
- valid is false with reason not_in_catalogue when the tuple is absent and the name is omitted or unknown. valid is false with reason name_parameter_mismatch when the tuple and the name select different rows, or when only one of them is in the catalogue.
- canonical_name is the row whose parameters matched, or null. named_algorithm is the canonical row of the supplied name, or null. parameters echoes the normalized tuple. This tool does not hash a caller message.
- Disclaimer: format transform only; provides no confidentiality, integrity, or authenticity.
Input
width(one of 8, 16, 24, 32, 64, required)poly_hex(string, required): min length 1; max length 16; pattern^[0-9a-fA-F]*$init_hex(string, required): min length 1; max length 16; pattern^[0-9a-fA-F]*$refin(boolean, required)refout(boolean, required)xorout_hex(string, required): min length 1; max length 16; pattern^[0-9a-fA-F]*$name(string, optional): min length 1; max length 24
Output
data_version(constant "crc-reveng-catalogue-2026-10-21", required)valid(boolean, required)reason(one of "ok", "not_in_catalogue", "name_parameter_mismatch", required)name_checked(boolean, required)supplied_name(string or null, required)named_algorithm(string or null, required)canonical_name(string or null, required)aliases(array of string, required): max items 8; each min length 1; each max length 24parameters(object, required)published_check_hex(string or null, required): pattern^[0-9a-f]+$residue_hex(string or null, required): pattern^[0-9a-f]+$
Limits
- max name bytes: 24
- max hex chars: 16
Example
Request input:
{
"width": 32,
"poly_hex": "04C11DB7",
"init_hex": "FFFFFFFF",
"refin": true,
"refout": true,
"xorout_hex": "FFFFFFFF"
}
Response:
{
"result": {
"data_version": "crc-reveng-catalogue-2026-10-21",
"valid": true,
"reason": "ok",
"name_checked": false,
"supplied_name": null,
"named_algorithm": null,
"canonical_name": "CRC-32/ISO-HDLC",
"aliases": [
"CRC-32",
"CRC-32/ADCCP",
"CRC-32/V-42",
"CRC-32/XZ",
"PKZIP"
],
"parameters": {
"width": 32,
"poly_hex": "04c11db7",
"init_hex": "ffffffff",
"refin": true,
"refout": true,
"xorout_hex": "ffffffff"
},
"published_check_hex": "cbf43926",
"residue_hex": "debb20e3"
}
}
How to call it
MCP
Connect https://computefirst.net/mcp (setup), then call execute with:
{
"id": "crc-parameters-validate",
"version": "1.0.0",
"input": {
"width": 32,
"poly_hex": "04C11DB7",
"init_hex": "FFFFFFFF",
"refin": true,
"refout": true,
"xorout_hex": "FFFFFFFF"
}
}
HTTP (no key)
curl -X POST https://computefirst.net/v1/tools/crc-parameters-validate/versions/1.0.0/execute \
-H "Content-Type: application/json" \
-d '{"width":32,"poly_hex":"04C11DB7","init_hex":"FFFFFFFF","refin":true,"refout":true,"xorout_hex":"FFFFFFFF"}'
The machine-readable contract is at /v1/tools/crc-parameters-validate/versions/1.0.0.
CLI
node cli.mjs run crc-parameters-validate 1.0.0 --input input.json --base-url https://computefirst.net
Get the client at /clients/cli/.
Related tools
- Crc catalog describe: Describe one pinned RevEng CRC model, including independent refin and refout.
- Crc catalog check: Compare a claimed CRC with one pinned RevEng model, including CRC-12/UMTS.
- Crc catalog identify: Identify pinned CRC RevEng algorithms that match every explicit message and check sample.
- Crc catalog list: List the pinned RevEng CRC models with check values, residues, and reflection.
- Crc check value verify: Recompute a pinned catalogue CRC of ASCII 123456789 and compare an observed check.
- Hash digest verify: Recompute a fixed-length digest over encoded input bytes and compare it to an expected digest given in any encoding.