1#ifndef BKCRACK_ATTACK_HPP
2#define BKCRACK_ATTACK_HPP
25 Attack(
const Data& data, std::size_t index, std::vector<Keys>& solutions, std::mutex& solutionsMutex,
26 bool exhaustive,
Progress& progress);
39 void exploreZlists(
int i);
42 void exploreYlists(
int i);
49 const std::size_t index;
51 std::vector<Keys>& solutions;
52 std::mutex& solutionsMutex;
53 const bool exhaustive;
56 std::array<std::uint32_t, contiguousSize> zlist;
57 std::array<std::uint32_t, contiguousSize> ylist;
58 std::array<std::uint32_t, contiguousSize> xlist;
71auto attack(
const Data& data,
const std::vector<std::uint32_t>& zi_2_32_vector,
int& start, std::size_t index,
int jobs,
72 bool exhaustive,
Progress& progress) -> std::vector<Keys>;
auto attack(const Data &data, const std::vector< std::uint32_t > &zi_2_32_vector, int &start, std::size_t index, int jobs, bool exhaustive, Progress &progress) -> std::vector< Keys >
Iterate on Zi[2,32) candidates to try and find complete internal keys.
void carryout(std::uint32_t z7_2_32)
Carry out the attack for the given Z[2,32) value.
Attack(const Data &data, std::size_t index, std::vector< Keys > &solutions, std::mutex &solutionsMutex, bool exhaustive, Progress &progress)
Constructor.
static constexpr std::size_t contiguousSize
Number of contiguous known plaintext bytes required by the attack.
Definition Attack.hpp:32
static constexpr std::size_t attackSize
Total number of known plaintext bytes required by the attack.
Definition Attack.hpp:35
Structure to report the progress of a long operation or to cancel it.
Definition Progress.hpp:10
Structure to hold the data needed for an attack.
Definition Data.hpp:10
Useful types, constants and utility functions.