#ifndef LAB2_H #define LAB2_H #include #include #include #include #include #include typedef unsigned char byte; namespace FeistelNetwork { // Константы const byte T_PLUS = 165; const byte G_PLUS = 23; const byte T_SHIFT = 3; const byte G_SHIFT = 3; const int TARGET_LENGTH = 128; // Прототипы функций std::string MultiplyString(const std::string& s); byte CircularShiftLeft(byte value, byte count); void G(int index, std::vector& GArray); void T(int row, int col, const std::vector& msgBytes, std::vector>>& TArray, const std::vector& GArray); std::vector Hash(const std::vector& msgBytes); std::vector ComputeHash(const std::string& input); void PrintHash(const std::vector& hash); int CalculateSum(const std::vector& hash); } #endif // LAB2_H