Blowfish-derived block cipher from the DarkCrypt Total Commander plugin: 16-round Feistel network over a 64-bit block with an extra 1-bit rotation per round, keyed via a 256-bit key through Blowfishβs self-encryption schedule applied to a pi-seeded constant table shifted by two words relative to textbook Blowfish.
| Property | Value |
|---|---|
| Category | Block Ciphers |
| Sub-category | Block Cipher |
| Security status | π Educational Only |
| Complexity | Advanced |
| Inventor | Bruce Schneier (Blowfish base design); DarkCrypt variant by Alexander Myasnikov |
| Year | 2009 |
| Origin | π·πΊ Russia |
| Source | algorithms/block/darkcrypt-cobra.js |
| Parameter | Supported values |
|---|---|
| Key sizes | 32 bytes (256 bits) |
| Block sizes | 8 bytes (64 bits) |
Status: π Educational Only
| Issue | Description | Mitigation |
|---|---|---|
| Non-standard variant | Modified Blowfish with a shifted constant table and an added per-round bit rotation; 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 Cobra β zero key/plaintext
| Field | Value |
|---|---|
key |
0000000000000000000000000000000000000000000000000000000000000000 |
input |
0000000000000000 |
expected |
30021edebc2495f0 |
Vector 2 β DarkCrypt Cobra β incrementing key/plaintext
| Field | Value |
|---|---|
key |
000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f |
input |
0001020304050607 |
expected |
db6b87b5b52f4591 |
Vector 3 β DarkCrypt Cobra β shifted incrementing key/plaintext
| Field | Value |
|---|---|
key |
0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 |
input |
1011121314151617 |
expected |
108d81be52ba6d48 |