Autokey byte-feedback stream cipher from the DarkCrypt Total Commander plugin. A 256-entry table plus three running indices are updated on every byte using an S-box-driven transform in which the plaintext byte itself indexes the table, so encryption is not a plain independent-keystream XOR.
| Property | Value |
|---|---|
| Category | Stream Ciphers |
| Sub-category | Stream Cipher |
| Security status | 🎓 Educational Only |
| Complexity | Intermediate |
| Inventor | DarkCrypt variant by Alexander Myasnikov |
| Year | 2013 |
| Origin | 🇷🇺 Russia |
| Source | algorithms/stream/darkcrypt-qcypher.js |
| Parameter | Supported values |
|---|---|
| Key sizes | 64 bytes (512 bits) |
| Block sizes | 1 byte (8 bits) to 65536 bytes (524288 bits) |
Status: 🎓 Educational Only
| Issue | Description | Mitigation |
|---|---|---|
| Non-standard, unanalyzed construction | Ad-hoc autokey S-box transform with no public design rationale or cryptanalysis; not recommended for real use. | Use a vetted stream cipher. |
3 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — DarkCrypt Qcypher — keystream from incrementing key, zero plaintext
| Field | Value |
|---|---|
key |
000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 303132333435363738393a3b3c3d3e3f |
input |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 |
expected |
bfc942b0682ded41418464d6357e8dba 86af59fb971424fcd25b5827fe74dd43 7d12caa54d09e4d0c2a3d4db2b16f6c1 fece08767dcbe78442036d83b7d3acb9 2b57e4543371e0caca4810784571a8fe 7599cbaffe3c7e3e1a7810d3bd5a2330 972af0bda7ab74edb6e12b6a81557704 c01d8af10a9cf6cde1c016f5313e78ef |
Vector 2 — DarkCrypt Qcypher — incrementing key/plaintext
| Field | Value |
|---|---|
key |
000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 303132333435363738393a3b3c3d3e3f |
input |
000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 303132333435363738393a3b3c3d3e3f |
expected |
bf3502c4af056921ca34a9b99e94c4eb 3872e9bf05d36fcc8d04bd78800e9b81 7d2984e03ba9c5f58f022631ef4111dd bd859b5fa4673acc7f9b7a6ebb0e589e |
Vector 3 — DarkCrypt Qcypher — all-zero key, zero plaintext
| Field | Value |
|---|---|
key |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 |
input |
00000000000000000000000000000000 |
expected |
f234bc5b14597fb310906d97aff87900 |