byte1 ^ byte2 = 0x74 byte1 ^ byte3 = 0xA4 byte4 ^ byte3 = 0x50 byte4 ^ byte2 = 0x80 Итак, известны результаты четырех операций XOR. Подскажите, как найти значение byte1, byte2, byte3, byte4? Возможно ли это в принципе? Проведя над этой задачкой 2 часа, я уже сомневаюсь в этом :-( Значит, нашедшему эти значения - приз!
Система вырожденная, поэтому один байт, к примеру byte1, задается произвольно, а остальные находятся однозначно: b2=b1^74, b3=b1^A4, b4=b1^F4
leo и Denis, большое спасибо за ответы! насколько я понимаю, вычислять byte4 при этом можно любым из двух способов (каждые квадратные скобки заменяют ОДНО значение; они лишь уточняют, как оно получено): byte4 = byte1 ^ ([byte1^byte2] ^ [byte4^byte2]) byte4 = byte1 ^ ([byte1^byte3] ^ [byte4^byte3])
macluvrRU че-то ты не то написал: Есть уравнение: byte1 ^ byte2 = 0x74 byte1 ^ byte3 = 0xA4 byte4 ^ byte3 = 0x50 byte4 ^ byte2 = 0x80 Откуда: b2=74^b1 b3=a4^b1 b4=74^b1^80 или b4=a4^b1^50 Допустим b1=56 тогда имеем: b2=74^56=22 b3=F2 b4=A2 Все. Блин,а где подарок
Как уже было сказано, система вырожденная (XOR всех четырех строк приводит к тавтологии 0 = 0). Поэтому система имеет 256 решений (если bi - байты).