Page actions
instrument mechanism / verified-clean
SHA-256 / Hash Function Demo mechanism
The inspectable method record for SHA-256 / Hash Function Demo, kept separate from implementation and qualification.
Model scope
The SHA-256 standard is appropriate for the claimed educational computation, and the existing honest label correctly identifies MD5 and SHA-1 as cryptographically broken. The specification needs the exact preprocessing, encoding, complete SHA-256 algorithm definition, and explicit definitions for the optional algorithms and avalanche comparison before it can receive PASS.
- The stated formula identifies the SHA-256 compression function but does not specify the complete hash procedure: UTF-8 or byte encoding, Merkle-Damgard padding, 64-bit message-length encoding, initial hash values, message schedule, 64 rounds, and final state-word addition are all required to compute a digest.
- The optional SHA-1 and MD5 comparison modes have no formulas or exact algorithm specifications. SHA-1 is covered by FIPS 180-4, but MD5 is not.
- The avalanche-effect comparison is an output feature, not a defined formula; the changed-input construction and comparison metric must be specified. A simple digest inequality is not a quantitative avalanche measure.
Units and conventions
- Text inputs are encoded as UTF-8 bytes with no BOM, and the digest is computed over those exact bytes.
- File inputs are hashed as their raw bytes without text decoding or newline normalization.
- The message length is measured in bits and encoded as an unsigned 64-bit big-endian integer during SHA-256 padding.
- Digest output is lowercase hexadecimal, with two hex characters per byte.
- The implementation uses 32-bit unsigned arithmetic modulo 2^32, including additions, rotations, and shifts.
Inspectable vector
One of 4 source-bound review vectors:
{
"inputs": {
"algorithm": "SHA-256",
"text": ""
},
"expected_outputs": {
"hex_digest": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
"working": "1. UTF-8 bytes: 0 bytes. 2. Bit length: 0 x 8 = 0 bits. 3. Pad one 0x80 byte, then 55 zero bytes, then append the 64-bit big-endian length 0x0000000000000000: 1 + 55 + 8 = 64 bytes, so there is one 512-bit block. 4. Initialize the standard SHA-256 state and apply the 64 compression rounds to that block. 5. Add the resulting working words to the initial state modulo 2^32. 6. Concatenate the eight final 32-bit words: e3b0c442 || 98fc1c14 || 9afbf4c8 || 996fb924 || 27ae41e4 || 649b934c || a495991b || 7852b855 = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855."
}Failure boundary
BREAK_CLAIMED · SELF_FLAGGED
The extreme-length vector reaches the SHA-256 domain limit and must be rejected; otherwise the 64-bit length field wraps to zero and the result is not standard SHA-256. The specification also leaves hex-letter case unspecified, creating a representation-compatibility hazard.
Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche4/tranche4-results.jsonBOUNDARY_HAZARD_CATALOG.json