Markopy
Utilizing Markov Models for brute forcing attacks
cudaMarkopy.cu
Go to the documentation of this file.
1 /** @file cudaMarkopy.cpp
2  * @brief CPython wrapper for libcudamarkov utils. GPU
3  * @authors Ata Hakçıl
4  *
5  * @copydoc markopy.cpp
6  * @copydoc cudaModelMatrix.cu
7  */
8 
9 #define BOOST_PYTHON_STATIC_LIB
10 #include <Python.h>
11 #include <boost/python.hpp>
12 #include "CudaMarkovAPI/src/cudaModelMatrix.h"
13 
14 using namespace boost::python;
15 
16 /**
17  * @brief CPython module for Markov::API::CUDA objects
18  */
19 namespace Markov::Markopy::CUDA{
20  BOOST_PYTHON_MODULE(cudamarkopy)
21  {
22  bool (Markov::API::MarkovPasswords::*Export)(const char*) = &Markov::Model<char>::Export;
23  void (Markov::API::CUDA::CUDAModelMatrix::*FastRandomWalk)(unsigned long int, const char*, int, int, bool, bool) = &Markov::API::CUDA::CUDAModelMatrix::FastRandomWalk;
24 
25  class_<Markov::API::CUDA::CUDAModelMatrix>("CUDAModelMatrix", init<>())
26 
27  .def(init<>())
28  .def("Train", &Markov::API::ModelMatrix::Train)
29  .def("Import", &Markov::API::ModelMatrix::Import, "Import a model file.")
30  .def("Export", Export, "Export a model to file.")
31  .def("ConstructMatrix",&Markov::API::ModelMatrix::ConstructMatrix)
32  .def("DumpJSON",&Markov::API::ModelMatrix::DumpJSON)
33  .def("FastRandomWalk", FastRandomWalk)
34  ;
35  };
36 };