cSHAKE128 File Checksum Calculator

Hash a file with cSHAKE128 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 cSHAKE128 File Checksum?

This tool computes cSHAKE128 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 cSHAKE128 File Checksum

  1. Set Output length (bits), Function name (N) and Customization string (S); changing them recomputes the hash.
  2. Click the drop zone or drag a file onto it; the file is read in chunks and a progress bar is shown.
  3. Check the File name and File size shown below to make sure you picked the right file.
  4. Paste the checksum published by the provider into Expected checksum — you get Match or Mismatch (case, 0x and a trailing file name are ignored).
  5. Choose the Output format if you need uppercase hex or Base64, then click Copy.

Example

Input
A file hash-abc.txt containing "abc", N and S empty
Output
5881092dd818bf5cf8a3ddb793fbcba74097d5c526a6d35f97b83351940f2cc8

With empty N and S this equals SHAKE128 (256 bits).

When to use cSHAKE128 File Checksum

Use it when a system fingerprints files with cSHAKE128 and an application-specific customization string. For general download verification, SHA-256 checksums are the norm.

How cSHAKE128 File Checksum works

The N/S prefix is absorbed first, then the file in 4 MB slices, and finally the output is squeezed. cSHAKE128 (NIST SP 800-185) is SHAKE128 with domain separation. Before the message, it absorbs bytepad(encode_string(N) || encode_string(S), 168) — 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, cSHAKE128 is defined to equal SHAKE128. 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.

Explore more categories