Hawkynt

F-FCSR (DarkCrypt)

Feedback-with-Carry Shift Register (Galois FCSR) filter generator from the DarkCrypt Total Commander plugin. Non-standard 256-bit register variant with a custom feedback polynomial, 128-bit key and 128-bit IV.

Properties

Property Value
Category Stream Ciphers
Sub-category FCSR Stream Cipher
Security status ❌ Broken
Complexity Intermediate
Inventor François Arnault, Thierry Berger, Cédric Lauradoux (base F-FCSR); DarkCrypt variant by Alexander Myasnikov
Year 2005
Origin 🇷🇺 Russia
Source algorithms/stream/darkcrypt-ffcsr.js

Parameters

Parameter Supported values
Key sizes 16 bytes (128 bits)
Nonce sizes 16 bytes (128 bits)

Security

Status: ❌ Broken

Known vulnerabilities

Issue Description Mitigation
Broken family The F-FCSR family was cryptanalytically broken; this non-standard variant is unanalyzed. Use a modern vetted stream cipher.

Documentation

Test vectors

3 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.

Vector 1 — DarkCrypt Ffcsr — keystream (zero input)

Field Value
key 000102030405060708090a0b0c0d0e0f
iv 00000000000000000000000000000000
input 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000
expected 76ca63bf052e9a95075561334c58b548 f7fd37f3d211bcbcdef9179ada8227db 98454d5385979d0c2870dab8060ebfdb e1867588ffccc9103e9eba78e4e25e54 753831b76e78b0b5f80263c43b57efe6 18c838c23176f5cb3e87ecf323fa802a 6b91ccfba84d26d1052ed0c923ae3068 de16643f9934e513c232f6b99ae17363

Vector 2 — DarkCrypt Ffcsr — encryption of incrementing bytes 00..3f

Field Value
key 000102030405060708090a0b0c0d0e0f
iv 00000000000000000000000000000000
input 000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 303132333435363738393a3b3c3d3e3f
expected 76cb61bc012b9c920f5c6b384055bb47 e7ec25e0c604aaabc6e00d81c69f39c4 b8646f70a1b2bb2b0059f0932a2391f4 d1b747bbcbf9ff2706a78043d8df606b

Vector 3 — DarkCrypt Ffcsr — non-zero key and IV, 48-byte message (verified against the DarkCrypt implementation)

Field Value
key 0b30557a9fc4e90e33587da2c7ec1136
iv 073c71a6db10457aafe4194e83b8ed22
input 03203d5a7794b1ceeb0825425f7c99b6 d3f00d2a4764819ebbd8f5122f4c6986 a3c0ddfa1734516e8ba8c5e2ff1c3956
expected 4751e5ea956a10aa6dcb1f90d60c8402 9a3103debe8b8f4ccb86bbe367609d46 6aa42ad8ca2d59f89d8215a8a680b3d6

← All algorithms