Hawkynt

Rainbow (DarkCrypt)

Home-grown SP-network block cipher from the DarkCrypt Total Commander plugin (not related to the Rainbow signature scheme or any other published cipher named Rainbow). 256-bit key, 128-bit block, 8 rounds combining word-wise XOR, a circular AND/XOR mix, and a pair of fixed 256-entry substitution tables with position-dependent byte permutation.

Properties

Property Value
Category Block Ciphers
Sub-category Block Cipher
Security status πŸŽ“ Educational Only
Complexity Intermediate
Inventor Alexander Myasnikov (DarkCrypt / β€œZarya” project)
Year 2009
Origin πŸ‡·πŸ‡Ί Russia
Source algorithms/block/darkcrypt-rainbow.js

Parameters

Parameter Supported values
Key sizes 32 bytes (256 bits)
Block sizes 16 bytes (128 bits)

Security

Status: πŸŽ“ Educational Only

Known vulnerabilities

Issue Description Mitigation
Undocumented home-grown design Proprietary DarkCrypt cipher with no public specification or cryptanalysis; unanalyzed and not recommended for real use. Use AES or another vetted cipher.

Documentation

Test vectors

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

Vector 1 β€” DarkCrypt Rainbow β€” zero key/plaintext

Field Value
key 0000000000000000000000000000000000000000000000000000000000000000
input 00000000000000000000000000000000
expected c0976d52c43382351c60816706aabc5a

Vector 2 β€” DarkCrypt Rainbow β€” incrementing key/plaintext

Field Value
key 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
input 000102030405060708090a0b0c0d0e0f
expected cfee4bb0ffe0309628166dc2ca110aa4

Vector 3 β€” DarkCrypt Rainbow β€” shifted incrementing key/plaintext

Field Value
key 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
input 101112131415161718191a1b1c1d1e1f
expected e0d408b835a32ed5e47a12b9214a8b02

← All algorithms