Задать вопрос
@ingoll

Как генерировать одно число на основе другого?

Задача: Есть числа, по 8 байт, на их основе генерируется другое число, тоже 8 байт, нужно понять по какому алгоритму из одного получается другое,
мне ничего в голову не идет...

исходные значение:
1) 0x0257ABE900000048 из него получается 0x35D57C087D1CE7B6
2) 0x028001EA0000000F из него получается 0x31D42C4829BCE7B6
3) 0x026962С40000008A из него получается 0xB1D42C38FD9CB7B4

Известно, что крайний бай в каждом из исходных чисел т.е 0x48 0x0F 0x8A, это контрольные суммы CRC первых 7-ми байт, это точно проверено.
Знатоки, подскажите есть ли решение в принципе подобной задачи, или в моем случае чужой алгоритм понять нет никакой возможности?
  • Вопрос задан
  • 341 просмотр
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@d-stream
Готовые решения - не подаю, но...
В общем случае - никак.

Образчик 2,2 и 4
Несколько вариантов алгоритма:
1. 4=2+2
2. 4=2*2
Но этими двумя вариантами множество алгоритмов не исчерпывается...

Возможно подробное описание предметной области позволит сузить круг алгоритмов.
Ответ написан
Комментировать
В Вашем случае результирующие числа очень близки друг к другу. Это обычно позволяет достаточно успешно определить алгоритм методом chosen plain-text. Старайтесь найти как можно больше пар исходных чисел, отличающихся между собой как можно меньшим количеством бит, и анализируйте изменения, происходящие в результирующих числах .
Ответ написан
Комментировать
@ingoll Автор вопроса
Более предметно, если это как то может помочь.
Исходные числа это ID микросхем памяти DS1991, работающие по протоколу 1-Wire,
Организована, эта конкретная память, так: поделена на 4 области:
1. Блокнот (64 байта) - не закрытая область.
2. SubKey0 (48 байт)- защищена паролем
3. SubKey1 (48 байт)- защищена паролем
4. SubKey2 (48 байт)- защищена паролем
Пароль, 8-мь байт, устанавливается пользователем произвольный.
Аппарат в котором установлены эти микросхемы генерирует пароль для областей SubKey0/1/2 одинаковый, но разный для каждого экземпляра микросхемы (DS1991), т.е. на основе ID конкретной памяти. Сейчас мне пароли известны потому, что есть возможность, аппарат не мой но пока у меня, снифером снять дамп данных во время обмена и проанализировать. Аппарат скоро будет не доступен, и всегда анализировать трафик на шине 1-Wire не будет возможности. Поэтому и встала задача понять логику генерации пароля на основе ID микросхемы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы