Обратное действие операции (a + const) mod M ?

Тема в разделе "WASM.CRYPTO", создана пользователем EvilsInterrupt, 22 окт 2006.

  1. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Вот есть операция сложение по модулю:

    (A + K) mod M = R

    каково обратное действие?

    (R - K) mod M = A


    так?

    Возьмем игрушечный пример:

    A = 3
    K = 5
    M = 6

    (3 + 5) mod 6 = 2

    (2 - 5) будет -3, но мы же по модулю, значит 3!

    все верно?
     
  2. dermatolog

    dermatolog Member

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    406
    Адрес:
    Екатеринбург
    Для начала проверь это уравнение на кошках. Глядишь вопрос "так?" или "не так?" отпадет сам собой :))
     
  3. dermatolog

    dermatolog Member

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    406
    Адрес:
    Екатеринбург
    "mod" - это вообще-то остаток от деления а не модуль :))
     
  4. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    ключевая фраза для гугля "классы вычетов". все эти сложения/вычитания/умножения/деления по модулю в алгебре довольно подробно разобраны, и есть всякие книжки на эту тему.
     
  5. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    в алгебре:
    -3 mod M == (M - 3) mod M == (k*M - 3) mod M, где k -- любое целое

    но C-шный `%' действует иначе на отрицательных числах...
     
  6. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    r90
    mov eax

    если сделать:

    add eax,0x21

    то обратное будет

    sub eax,0x21

    что мне и надо! :)
     
  7. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    если числа и результат заведомо меньше модуля, по которому производятся операции, то всё верно.
     
  8. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    EvilsInterrupt
    я чёт не понимаю что тебе надо. Обратный элемент найти? hint: вычитания нету, есть добавление обратного. Если мы работаем по модулю M, то обратным к a будет любое из чисел: k*M - a, при целых k. Выбирай на вкус.
    Или тебя что-то другое интересует?