Panama hash function with big-endian byte order. Belt-and-mill construction combining linear feedback shift register (belt) and nonlinear state machine (mill). Broken by collision attacks - use for legacy compatibility only.
| Property | Value |
|---|---|
| Category | Hash Functions |
| Sub-category | Belt-and-Mill |
| Security status | β Broken |
| Complexity | Advanced |
| Inventor | Joan Daemen, Craig Clapp |
| Year | 1998 |
| Origin | π§πͺ Belgium |
| Source | algorithms/hash/panama.js |
| Parameter | Supported values |
|---|---|
| Hash sizes | 32 bytes (256 bits) |
Status: β Broken
No vulnerabilities are recorded for this implementation.
3 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 β Panama-BE: Empty string (Crypto++ reference)
| Field | Value |
|---|---|
input |
(empty) |
expected |
e81aa04523532dd7267e5c5bc3ba0e289837a62ba032350351980e960a84b0af |
Vector 2 β Panama-BE: βThe quick brown fox jumps over the lazy dogβ (Crypto++ reference)
| Field | Value |
|---|---|
input |
54686520717569636b2062726f776e20 666f78206a756d7073206f7665722074 6865206c617a7920646f67 |
expected |
8fa7dadce0110f979a0b795e76b2c25628d8bda88747758149c42e3bc13f85bc |
Vector 3 β Panama-BE: Repeated βaβ pattern (15625 repetitions, Crypto++ generated)
| Field | Value |
|---|---|
input |
61616161616161616161616161616161 61616161616161616161616161616161 61616161616161616161616161616161 61616161616161616161616161616161 β¦ (1000000 bytes; the full value is in the source) |
expected |
cb34f0937e8d870d3bd7ff6311765f2c229a6c2154e4db119538db5159437cab |