Как понять алгоритм шифрования зная исходные и конечные символы?
Имеются пары наборов символов, исходный и конечный, связанные одинаковым механизмом шифрования.
Возможно ли его выявить и с этим знанием из нового исходного набора символов получить конечное значение по выявленному алгоритму?
Известны две пары (символы английские, верхний регистр)
первая:
5CA619881C
476971D0AC
и вторая:
978ED28285
71C2B48B35
Какое итоговое значение будет соответствовать согласно алгоритму, использованному выше, начальному набору символов ниже?
FF373B15DA
mayton2019, нет это не репост задачи. Я дилетант, ищу решение конкретной бытовой проблемы, если подскажете программу под данную задачу (выявление алгоритма и последующее его применение), я был бы Вам очень признателен.
Un-a, современное шифрование создано так чтобы никто никогда этот ключ не нашел.
Какие основания у нас чтобы говорить что шифр не современный. Он - школьный? Учебный?
Квадрат Полибия? Шифр Виженера? Шифр Пасьянс? Одно- или поли-алвафитная замена?
Откуда вообще ты получил эти строки? Знание о их происхождении обычно дает подсказки.
А просто закидывание рандомного текста в форум с просьбой расшифровать звучит как троллинг.
mayton2019, нет. Никакого троллинга.
Так как я дилетант, то не знаю, возможно ли вообще имея образцы исходного и конечного набора символов, всего в двух экземплярах, выявить алгоритм, который будет рабочим для преобразования нового набора символов по этой схеме. Поэтому прошу помощи у специалистов.
Это просто схема активации электронного устройства через введение ключа. Сначала вводится код запроса (первое, исходное значение), а затем в ответ на него приходит код, который вводится для активации устройства.
Итоговый код уникален и соответствует единственному и конкретному исходному набору символов.
Если имеются доступные программы, в которых можно ввести исходное и конечное значение для выявления алгоритма преобразования символов - скажите, пожалуйста.
Это просто схема активации электронного устройства через введение ключа. Сначала вводится код запроса (первое, исходное значение), а затем в ответ на него приходит код, который вводится для активации устройства.
Значит это и не шифрование вовсе.
Очевидно, что алгоритм специфичен для производителя устройства.
По набору символов можно предположить, что это пять байт в 16-ричной кодировке.
То что первое - это собственно идентификатор устройства.
То что второе - каким-то образом полученное значение, после преобразований.
Проблема главная в том, что второе число из первого можно получить бесконечным способом вариантов.
Если у вас есть доступ к программе или устройству, которое проверяет вторую строку - можно попробовать через отладку/сканирование памяти попытаться определить конкретный алгоритм проверки и уже по нему восстановить алгоритм генерации.
И никаких гарантий, что получится.
Например, производитель в момент запроса может не генерировать новое число, а доставать то что есть из базы.
А конечное устройство не проверяет эти данные, а генерирует чсть кода или важную часть данных на их основе
Василий Банников, в данном случае точно конечный набор символов не берется из базы.
Доступа к программе нет, поэтому и задал я вопрос.
Это дилерская программа, что-то наподобие "кейгена" для компьютерных игр. Первый (исходный) набор символов это, по-сути, идентификатор устройства, верно. Но итоговый набор символов, после обработки исходного, точно не берется из базы, а генерируется программой и он уникальный для каждого отдельного устройства(его идентификатора). И аппарат не генирирует ни часть кода ни какие-то данные, он просто использует код активации, как есть.
Ситуация простая: раньше можно было отправить исходный набор символов (идентификатор устройства, код запроса) дилеру в РФ и он присылал код активации. Сейчас, из-за последних событий, такой возможности нет.
Василий Банников, если Вы обратите внимание, то это все предложения по снятию геофенсинга удалённо, я же веду речь про замену языкового пакета вводом ключа.
Но тут уже разговор в ином русле.
2 пары маловато будет, а способов перестановки 20 бит (шифрования) много чтобы получить такие значения. Например младшие 8 бит получаются через XOR 0xb0 - но ведь это может быть просто совпадением и не иметь отношения к кодированию. Если так выйдет, что хвост 3й пары будет выглядеть так: XXXXXXXX6A то это совпадение превратится в зацепку, и то не факт что она подтвердится на след паре.