Lightweight hash function based on bit-sliced PRESENT-like permutations, finalist in NIST Lightweight Cryptography competition. Uses KNOT-256 permutation in sponge construction with 256-bit output.
| Property | Value |
|---|---|
| Category | Hash Functions |
| Sub-category | Lightweight Hash |
| Security status | ๐งช Experimental |
| Complexity | Advanced |
| Inventor | Zheng Gong, Guohong Liao, Ling Song, Keting Jia, Lei Hu |
| Year | 2019 |
| Origin | ๐จ๐ณ China |
| Source | algorithms/hash/knot-hash.js |
| Parameter | Supported values |
|---|---|
| Output sizes | 32 bytes (256 bits) |
Status: ๐งช Experimental
No vulnerabilities are recorded for this implementation.
6 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 โ KNOT-HASH-256-256: Empty message (NIST KAT Count=1)
| Field | Value |
|---|---|
input |
(empty) |
expected |
cf1ac5b7aa08d36d544e2d2049d0d0a5f1f6ff7b553d18035e69323d8e4118b1 |
Vector 2 โ KNOT-HASH-256-256: Single zero byte (NIST KAT Count=2)
| Field | Value |
|---|---|
input |
00 |
expected |
1b8f1c5978adce6c4bac3715e304a0f3026f873820ca4a6386cbfd0a3709949c |
Vector 3 โ KNOT-HASH-256-256: Two bytes (NIST KAT Count=3)
| Field | Value |
|---|---|
input |
0001 |
expected |
3cff1e8cd8cac2feeb696969251f828aa2288d8ccbbecbaf422634577fced63b |
Vector 4 โ KNOT-HASH-256-256: Four bytes (NIST KAT Count=5)
| Field | Value |
|---|---|
input |
00010203 |
expected |
8410c4bbd8828e9d9a2183f23918b5f45182735560a2e1d142884d10b66327a8 |
Vector 5 โ KNOT-HASH-256-256: Eight bytes (NIST KAT Count=9)
| Field | Value |
|---|---|
input |
0001020304050607 |
expected |
6b8ccc0a32775c876b63e8e146e103172188287cdf7ed236cd5d6276c16c6b76 |
Vector 6 โ KNOT-HASH-256-256: 16 bytes (NIST KAT Count=17)
| Field | Value |
|---|---|
input |
000102030405060708090a0b0c0d0e0f |
expected |
3d1bb21c5b2fdb385db2231896467cc987e9eb5ccc622f88e9fa45afef66b6ab |