Я просто новичок в компьютерной науке. Я кое-что узнал о времени работы, но я не могу быть уверен, что я понял правильно. Пожалуйста, помогите мне.
Итак, целочисленная факторизация в настоящее время не является проблемой полиномиального времени, но тест примитивности. Предположим, что число, которое нужно проверить, равно n. Если мы запустим программу только для того, чтобы решить, может ли каждое число от 1 до sqrt (n) делить n, а если да, то сохраните номер. Я думаю, что эта программа является полиномиальным временем, не так ли?
Один из возможных способов, которым я ошибаюсь, - это программа факторизации, которая должна найти все простые числа, а не первое обнаруженное первое. Поэтому, возможно, именно по этой причине.
Однако в криптографии с открытым ключом для нахождения криптографии необходимо найти основной коэффициент большого числа. Поскольку обычно большое число (открытый ключ) является всего лишь результатом двух простых чисел, поиск одного простого означает найти другое. Это должно быть полиномиальное время. Так почему это трудно или невозможно атаковать?