Jestem dopiero początkującym informatykiem. Nauczyłem się czegoś o czasie pracy, ale nie mogę być pewien, co rozumiem. Więc proszę, pomóż mi.dlaczego współczynnik faktoryzacji całkowitej jest czasem nie-wielomianowym?
Faktoryzacja liczb całkowitych nie jest obecnie problemem z czasem wielomianowym, ale testem pierwotności jest. Załóżmy, że liczba do sprawdzenia to n. Jeśli uruchomimy program, aby zdecydować, czy każda liczba od 1 do sqrt (n) może dzielić n, a jeśli odpowiedź brzmi tak, to zapisz numer. Myślę, że ten program to czas wielomianowy, prawda?
Jednym z możliwych sposobów, w jaki się mylę, byłby program faktoryzacji powinien znaleźć wszystkie liczby pierwsze, zamiast pierwszego odkrytego. Więc może to jest powód.
Jednak w kryptografii z kluczem publicznym znalezienie współczynnika głównego dużej liczby jest niezbędne do zaatakowania kryptografii. Ponieważ zazwyczaj duża liczba (klucz publiczny) jest tylko iloczynem dwóch liczb pierwszych, znalezienie jednej wartości początkowej oznacza znalezienie drugiej. To powinien być czas wielomianowy. Dlaczego atakowanie jest trudne lub niemożliwe?
To co powiedziałeś, to sprawdzenie, czy liczba jest liczbą pierwszą, czy nie. – Emil
Ponieważ liczby są OGROMNE! – nullpotent
Jeśli uważasz, że algorytm X ma złożoność wielomianową, spróbuj zapisać wielomian, który wyraża jego złożoność. Jeśli ci się uda, to X ma złożoność wielomianową, jeśli ci się nie uda, możesz pocieszać się myślą, że X nie ma wielomianowej złożoności, co będzie bardziej pocieszające niż myśl, że nie udało ci się znaleźć (lub) wielomianu. Ale bardziej poważnie, spróbuj napisać równanie dotyczące złożoności faktoryzacji całkowitej w kategoriach liczby cyfr w liczbie całkowitej i przestudiuj jej formę. –