-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