Threefish-512 as implemented in the DarkCrypt Total Commander plugin build “TW1.2”: standard 72-round/permutation/rotation/tweak structure, but with a non-standard key-schedule parity constant (0x5555555555555555). 512-bit block, 512-bit key + 128-bit tweak.
| Property | Value |
|---|---|
| Category | Block Ciphers |
| Sub-category | Block Cipher |
| Security status | 🎓 Educational Only |
| Complexity | Advanced |
| Inventor | Bruce Schneier, Niels Ferguson, Stefan Lucks, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon Callas, Jesse Walker (base Threefish); DarkCrypt variant by Alexander Myasnikov |
| Year | 2008 |
| Origin | 🇷🇺 Russia |
| Source | algorithms/block/darkcrypt-threefish512tw.js |
| Parameter | Supported values |
|---|---|
| Key sizes | 80 bytes (640 bits) |
| Block sizes | 64 bytes (512 bits) |
Status: 🎓 Educational Only
| Issue | Description | Mitigation |
|---|---|---|
| Non-standard variant | Modified Threefish-512 with an unanalyzed key-schedule constant; unanalyzed and not recommended for real use. | Use AES or another vetted cipher. |
3 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — DarkCrypt Threefish-512-tweak — zero key/tweak/plaintext
| Field | Value |
|---|---|
key |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 |
input |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 |
expected |
54c48fea2dac72222c0380d1a1a9f768 4d47bd90fc491724dc599e1824b6b30a e22db97e841482db209c0e6974c2111a d6c691984919c11f987fc2d132379fb4 |
Vector 2 — DarkCrypt Threefish-512-tweak — incrementing key/tweak/plaintext
| Field | Value |
|---|---|
key |
000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 303132333435363738393a3b3c3d3e3f 404142434445464748494a4b4c4d4e4f |
input |
000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 303132333435363738393a3b3c3d3e3f |
expected |
54eba34f9c4492af834cc2cb46ac1611 7e9100f6c3f9ec2240f22750038a0ff1 144bf2448bebcd6bc6919270a2a18322 091f60b4345a1c8a5538d57058a22def |
Vector 3 — DarkCrypt Threefish-512-tweak — shifted incrementing key/tweak/plaintext
| Field | Value |
|---|---|
key |
0102030405060708090a0b0c0d0e0f10 1112131415161718191a1b1c1d1e1f20 2122232425262728292a2b2c2d2e2f30 3132333435363738393a3b3c3d3e3f40 4142434445464748494a4b4c4d4e4f50 |
input |
101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 303132333435363738393a3b3c3d3e3f 404142434445464748494a4b4c4d4e4f |
expected |
95d7e6e756799a33da241d309d8f23ea 7b8436ac36380e90bfc8a3eac0ebcabe 302a0472ded6d94a97484fc7e02b21dc 95ad2fab5e85fd26547ebd2ff1a9ca47 |