cSHAKE256 File Checksum Calculator
Hash a file with cSHAKE256 using your own function name, customization string and output length. Processed locally in chunks; compare with an expected value.
A multiple of 8, from 8 to 16384 bits.
Usually left empty. Reserved by NIST for functions built on cSHAKE.
Optional domain-separation label, e.g. your application name. Different strings give unrelated outputs.
No file selected yet. The checksum appears as soon as you pick a file.
The file is read in chunks inside your browser and is never uploaded.
What is cSHAKE256 File Checksum?
This tool computes cSHAKE256 over the bytes of a file with the function name N, customization string S and output length you choose, then compares the result with an expected value. The file is read in chunks and stays on your device.
How to use cSHAKE256 File Checksum
- Set Output length (bits), Function name (N) and Customization string (S); changing them recomputes the hash.
- Click the drop zone or drag a file onto it; the file is read in chunks and a progress bar is shown.
- Check the File name and File size shown below to make sure you picked the right file.
- Paste the checksum published by the provider into Expected checksum — you get Match or Mismatch (case,
0xand a trailing file name are ignored). - Choose the Output format if you need uppercase hex or Base64, then click Copy.
Example
A file hash-abc.txt containing "abc", N and S empty
483366601360a8771c6863080cc4114d8db44530f8f1e1ee4f94ea37e78b5739d5a15bef186a5386c75744c0527e1faa9f8726e462a12a4feb06bd8801e751e4
With empty N and S this equals SHAKE256 (512 bits).
When to use cSHAKE256 File Checksum
Use it when a system fingerprints files with cSHAKE256 and an application-specific customization string. For general download verification, SHA-256 checksums are the norm.
How cSHAKE256 File Checksum works
The N/S prefix is absorbed first, then the file in 4 MB slices, and finally the output is squeezed. cSHAKE256 (NIST SP 800-185) is SHAKE256 with domain separation. Before the message, it absorbs bytepad(encode_string(N) || encode_string(S), 136) — the function name N and the customization string S, each prefixed with their bit length — and then pads with suffix 00 instead of SHAKE's 1111. If both N and S are empty, cSHAKE256 is defined to equal SHAKE256. Different N or S values give independent functions. N and S are entered as text and encoded as UTF-8.
Common Use Cases
- Verify files fingerprinted with a domain-separated cSHAKE
- Produce context-specific file identifiers
- Test a cSHAKE implementation on large real inputs
Security Note
S is not secret; the result is not a MAC. Use KMAC with a secret key for authentication.
FAQs
Is the file uploaded?
No. The file is read and hashed inside your browser.
Why does my value differ from another tool?
All three parameters must match exactly: N, S (case and spaces matter) and the output length.
Does the file name affect the hash?
No. Only the file content, N, S and the output length are hashed.