Название немного сбивает с толку, но суть в следующем:

У меня есть список "HexCode" (я использую этот термин свободно, поскольку они на самом деле не являются шестнадцатеричными кодами) как до преобразования, так и после преобразования. Например;

Input: aaea095f      Output: 201328c,3f,42,f4,f4
       01efb53c

У меня нет алгоритма, необходимого для их прямого преобразования, и я использую две программы для преобразования из одного шестнадцатеричного типа (HexType1) в другой шестнадцатеричный тип (HexType2), прежде чем я смогу получить их до конечного преобразования (HexType3).

Моя цель - автоматизировать процесс конвертации, но, не зная сам алгоритм, я не могу сделать это с моими текущими инструментами. Есть ли какое-нибудь программное обеспечение, где я могу представить список до и после преобразований, и оно генерирует алгоритм, основанный на том, что я дал ему для будущего использования?

Я понимаю, что создание алгоритма, основанного на ограниченных входных данных, скорее всего, не даст наилучших результатов, но у меня уже есть много преобразований, с помощью которых можно улучшить полученный алгоритм.

Приложение: я ошибочно описал свои коды как криптографические по своей природе, когда они ближе к значениям Hex. Я прошу прощения за любое замешательство, которое это вызвало. Я изменил "Ключ" на "HexCode", чтобы лучше прояснить мою точку зрения.

1 ответ1

2

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

Другими словами, то, что вы хотите сделать, не может быть сделано, если вы не подпишете программу все возможные входы и выходы. Вы должны знать больше об алгоритме, чем просто входы и выходы.


РЕДАКТИРОВАТЬ: Существуют алгоритмы, такие как нейронные сети - и несколько других - которые могут быть "обучены" с заданным набором входов и выходов. Например, нейронная сеть может быть обучена маркировать изображения птиц в наборе случайных изображений. Это звучит как простое и совершенное решение, но мир не так прост. Перед обучением нейронной сети она должна быть структурирована таким образом, чтобы соответствовать проблеме, которую необходимо решить, и в этом случае требуется дополнительная информация о том, что алгоритм имитирует, в противном случае обучение сети не будет выполнено.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .