Можно ли взломать стандартный шифр XOR?
Зная, что это:
*#(I@KI
кодируется с помощью функции XOR
//
std::string CStringCoding::Xor( const std::string& strIn )
{
std::string sOut = "";
for(std::size_t loop = 0; loop < strIn.size(); loop++)
{
unsigned int iCharacter = static_cast<unsigned int>(strIn[loop] ^ sKey[loop % sKey.size()]);
sOut += iCharacter;
}
return sOut;
}
Могу ли я перебрать это с помощью классического подхода к списку слов?
Я думал о:
Создать КЛЮЧ списка слов
XOR *#(I@KI с КЛЮЧОМ, чтобы РАСШИФРОВАТЬ его и получить СТРОКУ
XOR STRING с КЛЮЧОМ, чтобы зашифровать его
Сравните новую ЗАШИФРОВАННУЮ СТРОКУ с ВХОДНОЙ ЗАШИФРОВАННОЙ СТРОКОЙ
Если они совпадают, КЛЮЧ найден.
Я не проверял это, просто спросил, прежде чем предпринимать действия и тратить слишком много времени на то, что не сработает.
Спасибо.