У меня есть номер длиной 615 цифр.Во всем номере 8 фиксированных мест, где не хватает цифры.Я должен найти, что это за пропущенные цифры.Так что есть 10 ^ 8 возможностей.После их вычисления я должен поднять зашифрованный текст до каждого возможного числа и посмотреть, что это за выход (мод N), и посмотреть, какое число дает правильный вывод.Другими словами, я пытаюсь найти ключ дешифрования в проблеме RSA.Моя главная задача сейчас - как эффективно / правильно создать все 10 ^ 8 возможных ответов.
Я использую gmpy2, и чтобы это работало, мне пришлось скачать Python2.7 просто чтобы не было ошибкипри попытке установить gmpy2.Я надеюсь, что они достаточно адекватны для решения этой проблемы.Если нет, я был бы очень признателен, если бы кто-то указал мне правильное направление.
Я еще ничего не пробовал, так как уверен, что на это уйдут часы.Поэтому я действительно хочу убедиться, что я все делаю правильно, чтобы, если я позволю своему ноутбуку работать в течение пары часов, я не испортил внутренности и не замерзал, и я буду сидеть здесь, не зная, не испортился ли мой ноутбукили если его все еще вычисляют.
Итак, я полагаю, что пытаюсь получить совет о том, как мне действовать дальше.
С точки зрения фактического кода, я полагаю, циклически проходить через 0-9 8 раз не так сложно, но я не знаю, как перевести число в другое число.В Python, как мне сделать так, чтобы число вставлялось только в ту позицию, в которой оно мне нужно?Число выглядит следующим образом:
X = 124621431523_13532535_62635292 //this is only 30 digits long, mine is 615 digits long
, где каждое «_» - это место, где отсутствует число.
Я совершенно не знаю, как это сделать.
После того, как все числа будут сгенерированы, я собираюсь просмотреть их все и поднять их, пока не получу требуемый ответ.Эта часть кажется немного проще, так как кажется, что это просто цикл.
Итак, я думаю, что мой главный вопрос заключается в том, как перебрать 10 ^ 8 чисел, но расположить их в определенном месте внутри номера, длина которого уже составляет 615 цифр?Я ищу советы как по технической разработке, так и по дизайну кода, чтобы их создание не заняло слишком много времени.
Спасибо за чтение.