Hawkynt

HC-256

eSTREAM Phase 3 finalist with large table-based design. Uses two 1024-word tables with nonlinear update functions for high-speed software encryption. Designed by Hongjun Wu.

Properties

Property Value
Category Stream Ciphers
Sub-category Stream Cipher
Variant 256
Security status Not classified
Complexity Advanced
Inventor Hongjun Wu
Year 2004
Origin 🇨🇳 China
Source algorithms/stream/hc.js

Parameters

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

Capabilities

Flag Value
HAS_XY_ARRAYS No

Security

Status: not classified — treat as unverified.

Known vulnerabilities

Issue Description Mitigation
Distinguishing Attack 2^255 complexity distinguishing attack (impractical) —

Documentation

References

Test vectors

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

Vector 1 — HC-256 Test Vector - Zero Key/IV

Source: eSTREAM verified implementation

Field Value
key 0000000000000000000000000000000000000000000000000000000000000000
iv 0000000000000000000000000000000000000000000000000000000000000000
input 0000000000000000000000000000000000000000000000000000000000000000
expected 5b078985d8f6f30d42c5c02fa6b6795153f06534801f89f24e74248b720b4818

Vector 2 — HC-256 Test Vector - Non-zero Key/IV

Source: eSTREAM verified implementation

Field Value
key 0053a6f94c9ff24598eb3e91e4378add3083d6297ccf2275c81b6ec11467ba0d
iv 0d74db42a91077de45ac137ae148af16b9c6b1f8e9c1a86a6b17f1b9a6c3c8f7
input 0000000000000000000000000000000000000000000000000000000000000000
expected 2ec868d5779c5f522a5e2a9530a675ec359dd8d08845f57064562fe0c5927ea4

Vector 3 — DarkCrypt keystream, incremental key

Field Value
key 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
iv 0000000000000000000000000000000000000000000000000000000000000000
input 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000
expected 7cb997d6e1b46dd7c0a9629b441c3771 14d6c18f230291fa7ef0b039aedcc9aa a4ae05ba13f3931e3f8373aa320a8bcf 28e825b2084d0fa486be52c92c3c6f14 87f9af5c886705dcbd33d08c62e59c81 4a719c6b0372f44948d5130aaf20289b c3dc704d2ffa09ce7989d5afc977695a fa6c82dd92a9a01cdc5de373127cc4e1

Vector 4 — DarkCrypt incremental plaintext, incremental key

Field Value
key 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
iv 0000000000000000000000000000000000000000000000000000000000000000
input 000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 303132333435363738393a3b3c3d3e3f
expected 7cb895d5e5b16bd0c8a068904811397e 04c7d39c371787ed66e9aa22b2c1d7b5 848f279937d6b53917aa59811e27a5e0 18d917813c783993be8768f21001512b

← All algorithms