-rw-r--r-- 999 cryptattacktester-20231020/attack.h raw
#ifndef attack_h #define attack_h #include <map> #include <string> #include <vector> #include "bit.h" #include "bigint.h" #include "bigint.h" #include "bigfloat.h" struct attack { const char *problemname; const char *name; std::vector<bit> (*circuit)( const std::vector<bit> &, const std::vector<bigint> &, const std::vector<bigint> & ); bool (*params_valid)(const std::vector<bigint> &,const std::vector<bigint> &); void (*params)(const std::vector<bigint> &,std::map<std::string,std::string> &,int (*)(const std::vector<bigint> &)); bigint (*cost)(const std::vector<bigint> &,const std::vector<bigint> &); bigfloat (*prob)(const std::vector<bigint> &,const std::vector<bigint> &); std::vector<const char *> paramnames; } ; extern std::vector<attack> attack_list; #include "problem.h" #include "selection.h" extern selection_type attack_selection; int attack_handle(const problem &,const std::vector<bigint> &,const attack &,const std::vector<bigint> &); #endif