Нужна помощь с кодом. С#
for (int i = 0; i < 16; i += 4)
{
t0 = buf;
t3 = buf[i + 3];
t01 = t0 ^ buf[i + 1];
t23 = buf[i + 2] ^ t3;
t = t01 ^ t23;
t01 = (t01 << 1) ^ ((t01 >> 7) * 0x1B);
buf ^= t01 ^ t;
t01 = t ^ t0 ^ t3;
t01 = (t01 << 1) ^ ((t01 >> 7) * 0x1B);
buf[i + 1] ^= t01 ^ t;
t01 = (t23 << 1) ^ ((t23 >> 7) * 0x1B);
buf[i + 2] ^= t01 ^ t;
t01 = t0 ^ t3;
t01 = (t01 << 1) ^ ((t01 >> 7) * 0x1B);
buf[i + 3] ^= t01 ^ t;
}
это код шифратора, мне нужно понять как оно работает и расшифровать код: e3wjR3t8XcO7MiZaIw==,но я сам вообще ничего не понимаю и прошу у вас помощи. Дизайте если хотите,я пойму.
В современном мире знание алгоритма шифрования как правило не дает возможности расшифровать зашифрованную информацию (за исключением случаев, когда код, воплощающий алгоритм, содержит ошибки). Представьте, что алгоритм это обычный русско-английский словарь. Вы шифруете слово "яблоко" и на выходе получаете "apple". Для правильной расшифровки нужен другой словарь: англо-русский. Даже, если у перехватчика будет такой же русско-английский словарь (знание алгоритма шифрования и ключа), он не сможет расшифровать слово "apple", кроме как тупым последовательным чтением всего словаря. Такое тупое последовательное чтение называют методом грубой силы или перебором.
ЗЫ. Пример со словарями относится к ассиметричным алгоритмам. Какой алгоритм в заглавном примере я понятия не имею.
ЗЗЫ. Заглавный код не читал.
ЗЗЗЫ. Большинство стандартных шифровальных алгоритмов известны, но это не дает возможности запросто расшифровывать зашифрованные данные.