Операция XOR

Тема в разделе "WASM.BEGINNERS", создана пользователем macluvrRU, 4 мар 2006.

  1. macluvrRU

    macluvrRU New Member

    Публикаций:
    0
    Регистрация:
    4 мар 2006
    Сообщения:
    2
    Адрес:
    Russia
    byte1 ^ byte2 = 0x74

    byte1 ^ byte3 = 0xA4

    byte4 ^ byte3 = 0x50

    byte4 ^ byte2 = 0x80



    Итак, известны результаты четырех операций XOR. Подскажите, как найти значение byte1, byte2, byte3, byte4? Возможно ли это в принципе? Проведя над этой задачкой 2 часа, я уже сомневаюсь в этом :-(

    Значит, нашедшему эти значения - приз! :)
     
  2. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Система вырожденная, поэтому один байт, к примеру byte1, задается произвольно, а остальные находятся однозначно: b2=b1^74, b3=b1^A4, b4=b1^F4
     
  3. Denis__

    Denis__ New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2006
    Сообщения:
    56
    Лови, постая математика

    byte1=0

    byte2=0x74

    byte3=0xA4

    byte4=0xF4
     
  4. Denis__

    Denis__ New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2006
    Сообщения:
    56
    Лови, простая математика

    byte1=0

    byte2=0x74

    byte3=0xA4

    byte4=0xF4
     
  5. macluvrRU

    macluvrRU New Member

    Публикаций:
    0
    Регистрация:
    4 мар 2006
    Сообщения:
    2
    Адрес:
    Russia
    leo и Denis, большое спасибо за ответы!



    насколько я понимаю, вычислять byte4 при этом можно любым из двух способов (каждые квадратные скобки заменяют ОДНО значение; они лишь уточняют, как оно получено):

    byte4 = byte1 ^ ([byte1^byte2] ^ [byte4^byte2])

    byte4 = byte1 ^ ([byte1^byte3] ^ [byte4^byte3])
     
  6. Denis__

    Denis__ New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2006
    Сообщения:
    56
    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



    Все. Блин,а где подарок :)
     
  7. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Как уже было сказано, система вырожденная (XOR всех четырех строк приводит к тавтологии 0 = 0). Поэтому система имеет 256 решений (если bi - байты).