One experienced user of this forum said: "The key is the input of the hash function to build up a fast internal hash table. The key is hashed again to perform the lookup.".

If I hash a data such as a 262144-bytes seed (as SMhasher does) is passed through a hash function to build up a fast internal hash table, can the secondary lookups include different data such as a counter appended to the seed again? I mean if some bytes can be appended to the seed to be hashed and reuse the same internal hash table again, not having to rebuild it again.

For example:


H is the hash, S is the seed, 01, 02, 03 the counter, all hashed sequentially. The H(S) hashed first should build the internal hash table for subsequent lookups.

  • $\begingroup$ Your question could really use a concrete example of what you're trying or expecting to achieve. Missing that, I can only speak generically: if the question is whether there is a simple relationship between any two inputs (related, as you're suggesting, or not) to a secure hash function, such as SHA-3, then the answer is no. $\endgroup$
    – swineone
    Mar 13, 2023 at 3:02
  • $\begingroup$ @swineone I want to know if I could freely use a large seed with a hash function for encryption, hashing a 4096-byte seed and produce a 32-byte output would make the speed of output be terrible slow. Without the need to rebuild the internal hash table of a hash function would make the output be way faster, but as you said "no", I'm giving up that idea. Thanks! $\endgroup$
    – alpominth
    Mar 13, 2023 at 5:31


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.