YAARX: Yet Another ARX Toolkit  0.1
 All Data Structures Files Functions Variables Macros Pages
eadp-tea-f.hh
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2012-2013 Luxembourg University,
3  * Laboratory of Algorithmics, Cryptology and Security (LACS).
4  *
5  * This file is part of the YAARX toolkit. YAARX stands for
6  * Yet Another ARX toolkit for analysis of ARX cryptographic algorithms.
7  *
8  * YAARX is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * YAARX is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with YAARX. If not, see <http://www.gnu.org/licenses/>.
20  */
27 #ifndef EADP_TEA_F_H
28 #define EADP_TEA_F_H
29 
30 double eadp_tea_f(gsl_matrix* A[2][2][2][2], const uint32_t da, const uint32_t db, double* prob_db,
31  uint32_t lsh_const, uint32_t rsh_const);
32 
33 double eadp_tea_f_exper(const uint32_t dx, const uint32_t dy, uint32_t lsh_const, uint32_t rsh_const);
34 
35 double max_eadp_tea_f(gsl_matrix* A[2][2][2][2], const uint32_t da, uint32_t* dd_max, double* prob_max,
36  uint32_t lsh_const, uint32_t rsh_const);
37 
38 double max_eadp_tea_f_exper(gsl_matrix* A[2][2][2][2], const uint32_t da, uint32_t* dd_max, double* prob_max,
39  uint32_t lsh_const, uint32_t rsh_const);
40 
41 void nz_eadp_tea_f_i(const uint32_t k, const uint32_t n,
42  gsl_matrix* A[2][2][2][2], gsl_vector* C,
43  const uint32_t da, const uint32_t db, const uint32_t dc, uint32_t* dd,
44  double* p, double* p_thres, uint32_t* ret_dd, double* ret_p, uint32_t* cnt, uint32_t max_cnt);
45 
46 //double nz_eadp_tea_f(gsl_matrix* A[2][2][2][2], uint32_t da, uint32_t* ret_dd);
47 double nz_eadp_tea_f(gsl_matrix* A[2][2][2][2], double p_thres, uint32_t da, uint32_t* ret_dd);
48 
49 #endif // #ifndef EADP_TEA_F_H
double eadp_tea_f_exper(const uint32_t dx, const uint32_t dy, uint32_t lsh_const, uint32_t rsh_const)
Definition: eadp-tea-f.cc:61
void nz_eadp_tea_f_i(const uint32_t k, const uint32_t n, gsl_matrix *A[2][2][2][2], gsl_vector *C, const uint32_t da, const uint32_t db, const uint32_t dc, uint32_t *dd, double *p, double *p_thres, uint32_t *ret_dd, double *ret_p, uint32_t *cnt, uint32_t max_cnt)
Definition: eadp-tea-f.cc:380
double max_eadp_tea_f(gsl_matrix *A[2][2][2][2], const uint32_t da, uint32_t *dd_max, double *prob_max, uint32_t lsh_const, uint32_t rsh_const)
Definition: eadp-tea-f.cc:238
double max_eadp_tea_f_exper(gsl_matrix *A[2][2][2][2], const uint32_t da, uint32_t *dd_max, double *prob_max, uint32_t lsh_const, uint32_t rsh_const)
Definition: eadp-tea-f.cc:322
double eadp_tea_f(gsl_matrix *A[2][2][2][2], const uint32_t da, const uint32_t db, double *prob_db, uint32_t lsh_const, uint32_t rsh_const)
Definition: eadp-tea-f.cc:149
double nz_eadp_tea_f(gsl_matrix *A[2][2][2][2], double p_thres, uint32_t da, uint32_t *ret_dd)
Definition: eadp-tea-f.cc:447