Уничтожение в темноте приведет вас к безумию.Есть некоторые алгоритмы, которые, учитывая текущее понимание, вы не могли бы надеяться на то, чтобы вывести внутреннюю работу между настоящим моментом и [предсказанным] концом вселенной, не зная точных деталей (потенциально включая личные ключи или внутренниегосударство).Конечно, некоторые из этих алгоритмов являются основой современной криптографии.
Если вы заранее знаете, что существует шаблон, который необходимо обнаружить, иногда есть способы приблизиться к этому.Например, если набор данных содержит несколько входных значений, которые отличаются на 1, сравните соответствующие выходные значения:
7262627 -> 8172
7262628 -> 819
7262629 -> 1732
...
7262631 -> 3558
Здесь довольно ясно (с учетом нескольких минут и калькулятора), что, когда вход увеличивается на 1выходной сигнал увеличивается на 913 по модулю 8266 (т. е. простой линейный конгруэнтный генератор ).
Дифференциальный криптоанализ - это относительно современная методика, используемая для анализа прочности криптографического блокашифры, опираясь на аналогичную, но более сложную идею о том, где известен алгоритм шифрования, но предполагается, что закрытый ключ не .Считаются входные блоки, отличающиеся друг от друга одним битом, и влияние этого бита отслеживается через шифр, чтобы определить, какова вероятность того, что каждый выходной бит "перевернется" в результате.
Другие способы решения этой проблемы заключаются в рассмотрении крайностей (максимальные, минимальные значения), распределения (что приводит к частотному анализу ), направления (всегда ли числа увеличиваются? Уменьшаются?) И (если это разрешено) рассмотрите контекст, в котором были найдены наборы данных.Например, некоторые типы PIN-кодов всегда содержат повторяющуюся цифру, чтобы их было легче запомнить (я не говорю, что PIN-код обязательно может быть выведен из всего остального - просто повторяющаяся цифра равна единице меньше цифр для беспокойства!).