Арифметика на службе защиты
Категория реферата: Рефераты по информатике, программированию
Теги реферата: инновационный менеджмент, курсовая работа по экономике
Добавил(а) на сайт: Митродора.
Предыдущая страница реферата | 1 2 3 4 5 6 7 | Следующая страница реферата
fmul real8 ptr [bp+0E]
fstp real8 ptr ds:[...]
и:
fld real8 ptr [bp+6]
fadd real8 ptr [bp+0E]
fstp real8 ptr ds:[...]
Причем эти процедуры вызываются кратное число раз коду, формирующему эти длинные числа. Уже теплее. Смотрю, что делают эти парни. И вижу, что при очередном вызове, после fadd, сопроцессор выгружает те самые входные байты, которые подаются на вход процедуре создания длинных чисел... Это была просто процедура форматирования real-чисел!
Мда... Вот что значит быть избалованным сопроцессором. Если бы не эта прога, то так бы и не узнал, как выглядят числа в формате с плавающей точкой.
Теперь уже внимательнее смотрю, что же мы там умножаем и делим. Оказывается, циклически вызывается по два умножения, затем - сложение. А вот что умножается и складывается:
Шаг
1. 1x1 = 1 1x2401 = 2401 1+2401 = 2402
2. 2x2 = 4 4x2500 = 10000 2402+10000 = 12402
3. 3x3 = 9 9x2601 = 23409 23409+15986 = 35811
4. 4x4 = 16 16x2704 = 43264 43264+35811 = 79075
...
И так 42 раза. На последем как раз получается искомый код для ИНН="1234567894", только с "лишней" пятеркой впереди:
Шаг
42. 42x42 = 1746 1746x2916 = 5091336 5091336+805895 = 5949719
...
"Лишняя" пятерка сразу показывает, что не с всеми шагами все "чисто". А именно - например, на последнем шаге складывается произведение 1746x2916 не с результатом предидущего сложения (4805895), а с его частью (805895). Теперь выясняется примерный алгоритм:
SUM=1
LOOP I=1 TO 42
SUM+= I^2 x S[i]
IF I = STEP_LEVEL THEN ... ; Откусить старшие разряды
END LOOP
Рекомендуем скачать другие рефераты по теме: курсовая работа по менеджменту, реферат факторы.
Предыдущая страница реферата | 1 2 3 4 5 6 7 | Следующая страница реферата