27 #ifndef TEA_F_ADD_PDDT_H
28 #define TEA_F_ADD_PDDT_H
35 const uint32_t lsh_const,
const uint32_t rsh_const,
36 gsl_matrix* A[2][2][2][2], gsl_vector* C,
37 uint32_t* da, uint32_t* db, uint32_t* dc, uint32_t* dd,
38 double* p,
const double p_thres,
39 std::set<differential_t, struct_comp_diff_dx_dy>* diff_set_dx_dy);
41 void tea_f_add_pddt(uint32_t n,
double p_thres, uint32_t lsh_const, uint32_t rsh_const,
42 std::set<differential_t, struct_comp_diff_dx_dy>* diff_set_dx_dy);
44 bool is_dx_in_set_dx_dy(uint32_t dy, uint32_t dx_prev, std::set<differential_t, struct_comp_diff_dx_dy> diff_set_dx_dy);
46 void tea_f_da_add_pddt_i(
const uint32_t k,
const uint32_t n,
47 const uint32_t lsh_const,
const uint32_t rsh_const,
48 gsl_matrix* A[2][2][2][2], gsl_vector* C,
49 const uint32_t da, uint32_t* db, uint32_t* dc, uint32_t* dd,
50 double* p,
const double p_thres,
51 std::set<differential_t, struct_comp_diff_dx_dy>* diff_set_dx_dy,
52 std::multiset<differential_t, struct_comp_diff_p>* diff_mset_p,
56 uint32_t lsh_const, uint32_t rsh_const,
const uint32_t da,
const uint32_t da_prev,
57 std::set<differential_t, struct_comp_diff_dx_dy>* hways_diff_set_dx_dy,
58 std::multiset<differential_t, struct_comp_diff_p>* hways_diff_mset_p,
59 std::set<differential_t, struct_comp_diff_dx_dy>* diff_set_dx_dy,
60 std::multiset<differential_t, struct_comp_diff_p>* diff_mset_p);
63 std::set<differential_t, struct_comp_diff_dx_dy>* diff_set_dx_dy);
67 const std::set<differential_t, struct_comp_diff_dx_dy> diff_set_dx_dy);
70 uint32_t lsh_const, uint32_t rsh_const,
71 std::multiset<differential_t, struct_comp_diff_p>* diff_mset_p);
74 uint32_t delta, uint32_t k0, uint32_t k1,
75 uint32_t lsh_const, uint32_t rsh_const,
76 std::multiset<differential_t, struct_comp_diff_p>* diff_mset_p);
78 #endif // #ifndef TEA_F_ADD_PDDT_H
bool is_dx_in_set_dx_dy(uint32_t dy, uint32_t dx_prev, std::set< differential_t, struct_comp_diff_dx_dy > diff_set_dx_dy)
Definition: tea-f-add-pddt.cc:580
void tea_f_add_pddt_adjust_to_key(uint32_t nrounds, uint32_t npairs, uint32_t key[4], double p_thres, std::set< differential_t, struct_comp_diff_dx_dy > *diff_set_dx_dy)
Definition: tea-f-add-pddt.cc:447
void tea_f_add_pddt(uint32_t n, double p_thres, uint32_t lsh_const, uint32_t rsh_const, std::set< differential_t, struct_comp_diff_dx_dy > *diff_set_dx_dy)
Definition: tea-f-add-pddt.cc:403
bool lsh_condition_is_sat(const uint32_t k, const uint32_t new_da, const uint32_t new_db)
Definition: tea-f-add-pddt.cc:232
void tea_f_add_pddt_dxy_to_dp(std::multiset< differential_t, struct_comp_diff_p > *diff_mset_p, const std::set< differential_t, struct_comp_diff_dx_dy > diff_set_dx_dy)
Definition: tea-f-add-pddt.cc:486
bool rsh_condition_is_sat(const uint32_t k, const uint32_t new_da, const uint32_t new_dc)
Definition: tea-f-add-pddt.cc:114
void tea_f_add_pddt_i(const uint32_t k, const uint32_t n, const uint32_t lsh_const, const uint32_t rsh_const, gsl_matrix *A[2][2][2][2], gsl_vector *C, uint32_t *da, uint32_t *db, uint32_t *dc, uint32_t *dd, double *p, const double p_thres, std::set< differential_t, struct_comp_diff_dx_dy > *diff_set_dx_dy)
Definition: tea-f-add-pddt.cc:296
void tea_f_add_pddt_fk_exper(uint32_t n, double p_thres, uint32_t delta, uint32_t k0, uint32_t k1, uint32_t lsh_const, uint32_t rsh_const, std::multiset< differential_t, struct_comp_diff_p > *diff_mset_p)
Definition: tea-f-add-pddt.cc:553
void tea_f_add_pddt_exper(gsl_matrix *A[2][2][2][2], uint32_t n, double p_thres, uint32_t lsh_const, uint32_t rsh_const, std::multiset< differential_t, struct_comp_diff_p > *diff_mset_p)
Definition: tea-f-add-pddt.cc:516
uint32_t tea_f_da_add_pddt(uint32_t n, double p_thres, uint32_t lsh_const, uint32_t rsh_const, const uint32_t da, const uint32_t da_prev, std::set< differential_t, struct_comp_diff_dx_dy > *hways_diff_set_dx_dy, std::multiset< differential_t, struct_comp_diff_p > *hways_diff_mset_p, std::set< differential_t, struct_comp_diff_dx_dy > *diff_set_dx_dy, std::multiset< differential_t, struct_comp_diff_p > *diff_mset_p)
Definition: tea-f-add-pddt.cc:781