seed_generator.hHeader

This file defines macros and functions for generating cryptographic seeds and entropy values. More...

Detailed Description

The seed_generator.h file is designed to generate cryptographic seeds and entropy values, which are essential in various encryption, hashing, and obfuscation operations. The seeds and entropy are calculated using a combination of predefined prime numbers, FNV-1/FNV-1a hash values, and compile-time parameters such as the current line number and counter. The use of XOR operations and bit shifting ensures that the generated seeds are unique, secure, and resistant to reverse engineering.

Key Features:

  • Prime Number Definitions : The file defines several 64-bit prime numbers used in the seed generation process.

  • Entropy Array : A static array of entropy values is generated using the defined primes and hash values.

  • Seed Generation Macros : Macros are provided to generate seed values using complex bitwise operations, ensuring uniqueness and security.

  • Clang-Specific Bit Masking : A template function is provided for creating bit masks, with a specialization for Clang.

  • Template Seed Function : A templated function allows for generating seeds of different types using the predefined entropy values.

Usage Example:

#include <antispy/libantispy.h>

int main() {
   // Example of generating a seed using the seed() function
   size_t generated_seed = libantispy::detail::seed<size_t, 0>();
}

In this example, a seed value is generated using the seed() function, which utilizes the entropy array and predefined primes.