Сейчас на форуме: _MBK_, tyns777, UniSoft (+10 невидимых)

 eXeL@B —› Программирование —› Помогите понять логику алгоритма
Посл.ответ Сообщение

Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 07 июня 2012 11:22
· Личное сообщение · #1

Добрый день. уже около суток стараюсь понять суть алгоритма, но видимо плохо что не учился в спец ВУЗе.
выглядит достаточно просто
Code:
  1. Function GenDW (inDW:Dword):Dword;
  2. Asm
  3.   mov     edx, inDW
  4.   mov     ecx, edx
  5.   lea     eax, [edx+2]
  6.   and     eax, 4
  7.   lea     eax, [edx+eax*2]
  8.   imul    ecx, eax
  9.   neg     ecx
  10.   add     ecx, 2
  11.   imul    eax, ecx
  12.   mov     ecx, edx
  13.   imul    ecx, eax
  14.   neg     ecx
  15.   add     ecx, 2
  16.   imul    eax, ecx
  17.   imul    edx, eax
  18.   neg     edx
  19.   add     edx, 2
  20.   imul    eax, edx
  21.   neg     eax
  22.   mov result,eax

суть этого алгоритма заключаеца в получении DWORD по заданному DWORD причем ЭТА парочка обладает одним спецеэффектом.. пример
GenDW($60465CFF)=$630F5D01
60465CFF*630F5D01= 2540FD0F FFFFFFFF (особенно интересен младший DWORD FFFFFFFF )
очень подозреваю что это чтото стандартное,какойто мат. алго. но востановить его не получаеца..
З.Ы. эта функция часть большой процедуры по шифрованию с длинами 512бит(3 параметра). вроде не рса.. похоже на чтото блочное, но кишит mul imul add, а характерных xor mod не наблюдаеца. может кто то подскажет еще что за алго это может быть.

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....





Ранг: 340.0 (мудрец), 22thx
Активность: 0.120
Статус: Участник
THETA

Создано: 07 июня 2012 12:23
· Личное сообщение · #2

VodoleY пишет:эта функция часть большой процедуры по шифрованию с длинами 512бит
Хм, а почему ты уверен, что это именно шифр, а не алгоритм хеширования? Конкретно из этого кода не удастся восстановить исходный DWORD по подсчитанному (тому, что на выходе)...
Кстати, в алгоритмах SHA-0 и SHA-1 используется разбитие блоков на 512 бит. Однако там не только одни умножения и сложения, а множество битовых операций...

-----
Программист SkyNet




Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 07 июня 2012 12:34
· Личное сообщение · #3

FrenFolio Это не шифр.. это отдельно взятый алгоритм с логикой которого я банально не могу разобраца. Повторюсь этот алгоритм есть частью большого, а ДВОРД , из этого алгоритма одна из переменных, использующаяся в последствии. Я про алгоритм писал с надеждой что ктото увидит тут чтото знакомое.. маленькая часть большой мазайки как бы

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....





Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 07 июня 2012 12:52
· Личное сообщение · #4

Какой-то полином, попробую упростить, если получится. Смущает операция 'И'.

-----
Следуй за белым кроликом





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 07 июня 2012 13:10
· Личное сообщение · #5

VodoleYили руками или через hexrays сначала в читабельный формула-код преобразуй



Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 07 июня 2012 13:11
· Личное сообщение · #6

neomant угу меня тоже.. я пытался выкинуть.. по факту АНД 4 делает 2 варианта формулы ЕАХ=(0 или 4). меня больше imul смущает с потерей в старших разрядах

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 07 июня 2012 13:26
· Личное сообщение · #7

VodoleY
-1 == ab mod (2^32 - 1)?

-----
старый пень


| Сообщение посчитали полезным: daFix

Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 07 июня 2012 13:36
· Личное сообщение · #8

r_e если честно тебя и ждал . скорее да чем нет.. но я вупор недогоняю логики работы высшепоказанного алгоритма

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 07 июня 2012 16:01
· Личное сообщение · #9

VodoleY
Да, собсно, какая разница-то как оно работает? Возможно, оптимизированное решение (частный случай) приведенного выше уравнения.
Ты бы постарался идентифицировать алгоритм целиком. Если что-то стандартное - сразу бы прояснился момент с частностями.

-----
старый пень




Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 07 июня 2012 16:06 · Поправил: VodoleY
· Личное сообщение · #10

r_e вот на идент алго убил сутки.. начал куски разбирать.. сегодня сел перелистал еще раз Брюса Шнайера.. ничего похожего... поэтому и прошу помощи у комьюнити
P.s я блин буду в бешенстве если это таки РСА... черезчур эти махинации попахивают формированием экспоненты... причем если вдобавок я копаюсь в механизме создание ключей...

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 07 июня 2012 16:40
· Личное сообщение · #11

Ну закинь бинарь в ПМ - может что попадется на глаза.

-----
старый пень





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 07 июня 2012 16:47
· Личное сообщение · #12

да давай уже бинарь на паблик) будем все смотреть что там за алго такой неизвесный
кстати да, по одной функе не понять всего алго



Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 07 июня 2012 16:55
· Личное сообщение · #13

reversecode плане паблика проблема... буду копать глубже..

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 85.4 (постоянный), 51thx
Активность: 0.090
Статус: Участник

Создано: 08 июня 2012 09:42 · Поправил: drone
· Личное сообщение · #14

это м.б. что угодно rsa, elgamal, dh, и больше похоже на верификацию...



Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 08 июня 2012 14:25 · Поправил: VodoleY
· Личное сообщение · #15

кстати.. пока лазил по инету нашел такую либу для насильников.. http://cryptolib.com/crypto/ecc/ecc.c
вид из асма и его аналог на сях операций с большими числами.. может комуто будет полезно..

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....



 eXeL@B —› Программирование —› Помогите понять логику алгоритма
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати