We have provided the required codes to verify the probability of our boomerang distinguishers experimentally. To specify the input/output differences, the number of rounds for boomerang distinguisher, and the number of boomerang queries open boomerang.h
and adjust the corresponding variables. For example, the setting of the experimental verification for the 10-round middle part in our 14-round boomerang distinguisher is as follows:
const int DEG1 = 13;
const int DEG2 = 13;
const int NUMBER_OF_EXPERIMENTS = 10; // Number of independent experiments
const int NUMBER_OF_ROUNDS = 10; // Number of rounds
char DP_STR[] = "0a000000000000000000000000000000";
char DC_STR[] = "0000a000000000000000000000000000";
DEG1
and DEG2
specify the total number of boomerang queries
make
./boomerang 0
We have also prepared a code to experimentally verify the differential probability of differential hulls. For example, to experimentally verify the differential probability of the 6-round differential for boomerang.h
and modify it as follows:
const int DEG1 = 2;
const int DEG2 = 27;
const int NUMBER_OF_EXPERIMENTS = 5; // Number of independent experiments
const int NUMBER_OF_ROUNDS = 6; // Number of rounds
char DP_STR[] = "00000000aaaaaaaa0a00aa00000a000a";
char DC_STR[] = "a0000000000000000000000000000000";
To compile the code and then perform the experimental evaluation use the following commands:
make
./diff 0