Skein-256(128) Hash
Technical details, regex signatures, and cracking commands for the Skein-256(128) algorithm.
What is Skein-256(128)?
Skein-256(128) is a truncated variant of the Skein cryptographic hash function, designed as part of the NIST SHA-3 competition but ultimately excluded from the final SHA-3 standard. Introduced in 2008 by Doug Whiting and Charles Wu, Skein was conceived as a modular, parameterized hash function with configurable block size (256-bit), output length (here truncated to 128 bits), and internal state structure. Its architecture follows a layered design comprising three stages: a keyed initialization phase (KSA), a message expansion and compression phase (Tweakable Block Cipher, TBC), and a final output transformation. The algorithm’s primary use-case lies in applications requiring lightweight hashing—such as password storage (via iterations) or data integrity checks—where a 128-bit digest balances security and performance. Skein’s design emphasizes flexibility, allowing adjustments to parameters like block size and output length, though the 256-bit block size remains fixed in this variant, influencing its collision resistance and computational overhead.
The truncated Skein-256(128) variant is vulnerable to cracking primarily due to its reduced output size and susceptibility to optimization attacks. A 128-bit hash space enables brute-force collision attacks within a feasible computational budget, as demonstrated by the birthday paradox (requiring ~2²⁸ operations for a collision). The lack of a salt or iterative hashing mechanism in plain use exacerbates this risk, particularly for password hashing, where precomputed rainbow tables can efficiently reverse truncated hashes. Additionally, Skein’s parallelizable compression stage allows for GPU/FPGA optimizations, enabling attackers to deploy high-throughput collision-finding algorithms (e.g., Floyd’s cycle-finding) at scale. Theoretical weaknesses in the TBC’s diffusion properties further undermine long-term security, as adversaries exploit side-channel optimizations or implementation flaws to reduce effective security margins below the nominal 128-bit security.
Identifying Skein-256(128) Hashes
Identifying a hash blindly is often difficult because multiple algorithms can output strings of the exact same length. For example, a standard 32-character hexadecimal string could be MD5, NTLM, MD4, or LM. To definitively identify Skein-256(128), security researchers analyze the hash against a strict regular expression (regex) signature (shown above) to find structural matches.
How to Crack Skein-256(128)
If you need to recover the plaintext password for a Skein-256(128) hash during a penetration test or forensics investigation, you must supply the correct module ID to your cracking software. Use the exact commands provided at the top of this page to target the hash successfully.