Skip to content

How could Haraka be adapted to support seeding? #2

Description

@cipriancraciun

Looking in the paper, and in the implementation, the current Haraka v2 does not support seeding, however sometimes such a feature is very useful.

Thus, how could one adapt Haraka V2 to support seeding?

I'm making the difference between "seeding" and "keying" in the sense that, especially for non-cryptographic purposes like hash-tables, having "different enough" outputs (for the same inputs but different "seeds") is "good enough".


For example, looking at the AES-NI optimized implementation, the current aesenc is used with a fixed round key (where X is the lane, and R is the round):

sX = _mm_aesenc_si128(sX, rc[rci + R]);

Would XOR-ing the seed into the round key be enough, e.g. (kX is a lane of the key):

sX = _mm_aesenc_si128(sX, _mm_xor_si128(kX, rc[rci + X]));

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions