Доброго времени суток! Я не специалист в криптографии, но хотелось бы кое-что для себя прояснить. Подскажите как решаются задачи следующего вида. Есть ли какие-то методики, где про них можно почитать? 64 bit блок данных на входе, на выходе также блок данных в 64 бита. алгоритм шифрования не известен. Известно, что ключ один и фиксированный. Во времени ключ не изменяется. Используется какой-то симметричный алгоритм. Есть неограниченное количество пар (не зашифрованные данные) -> (зашифрованные данные). Можно написать генератор для создания кастомных данных для шифрования и изучать получившиеся зашифрованные данные, но только что искать в этих данных??? Предполагаю, что разные алгоритмы дают разный разброс в зашифрованных данных. Наверно имеются какие-то алгоритмы анализа для шифрованных данных которые позволят предположить используемый алгоритм.
Если используется стойкий криптоалгоритм, то по анализу валидных пар вы ни алгоритм не определите, ни тем более ключ не найдёте. Общий подход к решению таких задач - реверс ПО либо на шифрующей стороне, либо на расшифровывающей, и вытягивание алгоритма оттуда. Визуально стойкость можно оценить, меняя 1 бит на входе. Если выход при этом меняется до неузнаваемости, алгоритм можно считать стойким.