ASH24 visual

Agama Simple Hash 24 bit | Bitwise Visualizer

 
const IV8 = [0x6a, 0xbb, 0x3c, 0xa5, 0x51, 0x9b, 0x05, 0x1f];
let A = useIV ? IV8[0] : 0;
let B = useIV ? IV8[1] : 0;
let C = useIV ? IV8[2] : 0;
...

A ^= m0;
B ^= m1;
C ^= (m0 + m1) & 0xFF;

for (let i = 0; i < 16; i++) {
     A ^= IV8[(i + blockIndex) % IV8.length];
     B ^= rol8(C, 2);
     C ^= rol8(A, 3);
     A = (A + C) & 0xFF;

     A ^= B;
     B ^= C;
     C ^= A;

     [A, B, C] = [B, C, A];
...
TECHNICAL ARCHITECTURE
Merkle-Damgård Construction
Iterative processing of variable input into a fixed 24-bit state.
1. XOR (⊕): Data injection
2. ROL (&lll;): Bit diffusion
3. ADD (+): Modular carry logic
Round Transformation:
B = B ⊕ (C &lll; 2)
C = C ⊕ (A &lll; 3)
A = (A + C) mod 256
Avalanche Effect: Registers swap $[A,B,C] \to [B,C,A]$ every round. Combined with Padding (0x80 + length), a 1-bit change cascades across the entire 24-bit space.
RESULT: 000000