Skein-512(160) Hash

Technical details, regex signatures, and cracking commands for the Skein-512(160) algorithm.

Regex Identification Signature:
^[a-f0-9]{40}(:.+)?$
Not supported natively by Hashcat
Not supported natively by John the Ripper
← Back to Hash Identifier

What is Skein-512(160)?

Skein-512(160) is a truncated variant of the Skein cryptographic hash function, designed as part of the NIST SHA-3 competition’s alternative candidates in 2008 by Doug Whiting and the Skein team. Structurally, Skein follows a modular design inspired by the Threefish block cipher, incorporating a 1024-bit (128-byte) block size and a variable output length (e.g., 256, 512, or 1024 bits) via post-processing. The "512" suffix denotes the full output length, while "160" indicates a truncated 160-bit (20-byte) digest, achieved by truncating the final hash state after the compression phase. Skein-512(160) was primarily proposed as a lightweight alternative for applications requiring compact fingerprints, such as checksums, password hashing (with caution), or lightweight authentication tags, though its truncated length severely limits collision resistance. The algorithm employs a triple-DB (Double-Block) design with 72 rounds of keyed mixing (using a 256-bit key derived from the input message and three hardcoded constants), optimized for both software and hardware acceleration. Its modularity allowed customization for different security parameters, but the 160-bit truncation was never intended for high-security contexts, as it violates modern cryptographic best practices for hash lengths.

Skein-512(160) is fundamentally vulnerable to cracking due to its truncated output size, which violates the birthday paradox threshold for collision resistance. A 160-bit hash requires approximately **2²⁰ (≈1 trillion)** operations to find a collision with non-negligible probability, but practical attacks exploit optimizations in the Skein compression function. Modern GPUs and FPGAs can evaluate Skein’s parallelizable rounds at near-optimal speed, enabling brute-force or meet-in-the-middle attacks when preimage resistance is required. Additionally, the absence of a salt in password hashing scenarios makes it susceptible to rainbow table attacks, as identical passwords produce identical hashes. Skein’s design, while efficient for bulk operations, lacks the preimage resistance of full-length hashes like SHA-256 or BLAKE3, and its truncated variant is now considered insecure for cryptographic purposes, particularly in environments where collision resistance is critical (e.g., digital signatures or integrity verification). The algorithm’s reliance on keyed hashing also introduces side-channel risks if implementation security is compromised, further diminishing its suitability for modern security applications.

Identifying Skein-512(160) 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-512(160), security researchers analyze the hash against a strict regular expression (regex) signature (shown above) to find structural matches.

How to Crack Skein-512(160)

If you need to recover the plaintext password for a Skein-512(160) 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.