Hawkynt

Panama (DarkCrypt)

Panama belt-and-mill construction used as a keystream generator (PRNG mode), as implemented in the DarkCrypt Total Commander plugin. Distinct from the Panama hermetic hash/MAC mode. 256-bit key, 256-bit IV.

Properties

Property Value
Category Stream Ciphers
Sub-category Stream Cipher
Security status πŸŽ“ Educational Only
Complexity Advanced
Inventor Joan Daemen, Craig Clapp
Year 1998
Origin πŸ‡§πŸ‡ͺ Belgium
Source algorithms/stream/darkcrypt-panama.js

Parameters

Parameter Supported values
Key sizes 32 bytes (256 bits)
Block sizes 1 byte (8 bits) to 65536 bytes (524288 bits)

Security

Status: πŸŽ“ Educational Only

Known vulnerabilities

Issue Description Mitigation
Cryptanalytic weaknesses Panama’s compression function has known collision/distinguishing attacks; the PRNG mode is unanalyzed for stream-cipher use. Use a vetted modern stream cipher.

Documentation

Test vectors

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

Vector 1 β€” DarkCrypt keystream, incremental key

Field Value
key 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
iv 0000000000000000000000000000000000000000000000000000000000000000
input 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000
expected 18bfb00205af08bb4e294f897aedd0ab e99a80b203a3e25d53de52929c02c2cf 2b66dee8dd0de55cc17a8877f9bbd02e 4ea046c1997ec0d86cf4cb122fe17e75 4cd8ad9306221c72f772ddce75504016 fa43150b49e7d79e303488a4b2150b45 57da010d74a300375687994f2cae9c87 767d6448a9cf30fba41be0ac39ff2271

Vector 2 β€” DarkCrypt incremental plaintext, incremental key

Field Value
key 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
iv 0000000000000000000000000000000000000000000000000000000000000000
input 000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 303132333435363738393a3b3c3d3e3f
expected 18beb20101aa0ebc4620458276e0dea4 f98b92a117b6f44a4bc74889801fdcd0 0b47fccbf928c37be953a25cd596fe01 7e9174f2ad4bf6ef54cdf12913dc404a

← All algorithms