eSTREAM Profile II (hardware) ‘Variable Clocking Mechanism’ stream cipher: three irregularly-clocked nLFSR data banks with independent small nLFSR clock generators, a pseudo-random long/short clock, dual substitution hash matrices and a cipher/MAC feedback network, as implemented in the DarkCrypt Total Commander plugin.
| Property | Value |
|---|---|
| Category | Stream Ciphers |
| Sub-category | Stream Cipher |
| Security status | 🎓 Educational Only |
| Complexity | Expert |
| Inventor | Carmi Gressel, Orr Dunkelman, Gabi Vago, Ran Granot, Aviad Kipnis, Michael Rimon, Yaakov Belenky (FortressGB); DarkCrypt port by Alexander Myasnikov |
| Year | 2006 |
| Origin | 🇮🇱 Israel |
| Source | algorithms/stream/darkcrypt-zkcrypt3.js |
| Parameter | Supported values |
|---|---|
| Key sizes | 20 bytes (160 bits) |
| Block sizes | 1 byte (8 bits) to 65536 bytes (524288 bits) |
Status: 🎓 Educational Only
| Issue | Description | Mitigation |
|---|---|---|
| Reduced configuration | This build of the engine has the reference algorithm’s optional ‘Super tier’ nLFSR bank compiled out, and several literal C expressions in the reference source evaluate to a constant rather than their apparent intent. The resulting keystream is bit-exact to the DarkCrypt implementation but is a specific, non-configurable instance of the general ZK-Crypt v3 design. | Use a vetted, actively analyzed stream cipher. |
1 vector ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — DarkCrypt ZK-Crypt v3 — keystream from incrementing key, zero IV, zero input
| Field | Value |
|---|---|
key |
000102030405060708090a0b0c0d0e0f10111213 |
iv |
00000000000000000000000000000000 |
input |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 |
expected |
bb3a598264069344c7a3d1c0d6b6eb4f 7eb4098e7fb2135053c9edde467f33c5 cd2d8364a1f38307ade7a8a365b589fe e90c2d0ee81e790d06875b6c7d6d867a ccaea351d4819026740ebe2e4cd31837 458b48d77fa991823defb988a7602e2b e25815cded92720379bfa7709f80926f f5153a5f8b2c6c05f95c4d1e07fb8ed2 |