Większość współczesnego szyfrowania, takiego jak RSA, opiera się na faktoryzacji liczb całkowitych, co nie jest uważane za problem trudny dla NP, ale należy do BQP, co czyni go podatnym na komputery kwantowe. Zastanawiam się, dlaczego nie istniał algorytm szyfrowania oparty na znanym problemie NP-trudnym. Brzmi (przynajmniej teoretycznie) tak, jakby był lepszym algorytmem szyfrującym niż ten, który nie jest trudny do NP.
109
Były.
Jednym z takich przykładów jest kryptosystem McEliece, który opiera się na twardości dekodowania kodu liniowego.
Drugim przykładem jest NTRUEncrypt, który opiera się na najkrótszym problemie wektorowym, który moim zdaniem jest znany jako NP-Hard.
Innym jest uszkodzony kryptosystem plecakowy Merkle-Hellman .
Uwaga: Nie mam pojęcia, czy pierwsze dwa są zepsute / jak dobre są. Wiem tylko, że one istnieją, i mam je z wyszukiwania w Internecie.
źródło
Mogę wymyślić cztery główne przeszkody, które nie są całkowicie niezależne:
Pamiętaj, że nie mam doświadczenia w kryptografii; są to tylko algorytmiczne wzgl. zastrzeżenia teoretyczne złożoności.
źródło
Kryptografia klucza publicznego, jaką znamy dzisiaj, opiera się na jednostronnych permutacjach klap , a klapa jest niezbędna.
Aby protokół był publicznie bezpieczny, potrzebujesz klucza dostępnego dla każdego oraz sposobu szyfrowania wiadomości za pomocą tego klucza. Oczywiście po zaszyfrowaniu odzyskanie oryginalnej wiadomości, znającej jedynie jej szyfr i klucz publiczny, powinno być trudne: szyfr musi być odszyfrowalny tylko z pewnymi dodatkowymi informacjami, a mianowicie kluczem prywatnym.
Mając to na uwadze, łatwo zbudować prymitywny system kryptograficzny oparty na dowolnej jednostronnej permutacji zapadni.
źródło
Wystarczy podać heurystyczny argument oparty na doświadczeniu praktycznym.
Prawie wszystkie przypadki prawie wszystkich problemów związanych z NP są łatwe do rozwiązania. Są problemy, w których to nie jest prawda, ale trudno je znaleźć i trudno być przekonanym, że masz taką klasę.
Pojawiło się to kilkakrotnie w praktyce, gdy ludzie próbowali pisać losowe generatory problemów dla niektórych znanych klas NP-zupełnych, takich jak programowanie ograniczeń, SAT czy Traveling Salesman. W późniejszym terminie ktoś znajdzie metodę rozwiązania prawie wszystkich przypadków, które generator losowy generuje w trywialny sposób. Oczywiście, gdyby tak było w przypadku systemu szyfrowania, mielibyśmy poważne kłopoty!
źródło
Kryptosystemy Merkle-Hellman opierają się na problemach plecaków binarnych (suma podzbiorów).
źródło