Моє запитання - про еквівалентність безпеки різних кандидатів односторонніх функцій, які можна побудувати на основі жорсткості факторингу.
Припустимо, що проблема о
ФАКТОРИНГ: [Дано для випадкових прайменів P , Q < 2 n , знайдіть P , Q. ]
не може бути розв’язана в поліноміальний час з незначною ймовірністю, функція
PRIME-MULT: [Враховуючи бітовий рядок як вхідний, використовуйте x як початковий елемент для генерації двох випадкових прайменів P і Q (де довжини P , Q лише поліноміально менші за довжину x ); потім виведіть P Q. ]
може бути показано одностороннім.
Ще одна однобічна функція кандидата
INTEGER-MULT: [Дано випадкові цілі числа як вхід, вихід A B. ]
INTEGER-MULT має ту перевагу, що його простіше визначити порівняно з PRIME-MULT. (Зокрема, зауважте, що в PRIME-MULT існує ймовірність (хоча на щастя, незначна), що насіння не може генерувати первісні P , Q. )
Принаймні у двох різних місцях (Арора-Барак, Комп'ютерна складність, стор. 177, виноска 2) та ( Вступ Вадхана до криптовалютних лекцій ) згадується, що INTEGER-MULT є однобічним, припускаючи середню твердість факторингу. Однак жоден із цих двох не дає приводу та посилання на цей факт.
Отже, питання:
Як ми можемо зменшити в многочлен часовий коефіцієнт з незначною ймовірністю до інвертування INTEGER-MULT з несуттєвою ймовірністю?
Ось можливий підхід (який, як ми побачимо, НЕ працює!): Дано , помножимо N на набагато (хоча поліноміально) довше випадкове ціле число A ', щоб отримати A = N A ' . Ідея полягає в тому , що " настільки велика , що вона має безліч простих дільників розміром приблизно дорівнює P , Q , так що P , Q не" виділятися »серед головних чинників A . Тоді А має приблизно розподіл рівномірно випадкового цілого числа в заданому діапазоні (скажімо [ 0 ). Далі виберіть ціле число B випадковим чином із того ж діапазону [ 0 , 2 n - 1 ] .
Тепер, якщо інвертор INTEGER-MULT може, задавши , з деякою ймовірністю знайде A ′ , B ′ < 2 n такий, що A ′ B ′ = A B , сподіваємося, що один з A ′ або B ′ містить P як фактор , а інший містить Q . Якби це було так, то ми можемо знайти P або Q , взявши НСД А ' з N = P Q .
Проблема полягає в тому, що інвертор може вирішити розділити основні коефіцієнти, наприклад, поставивши малі множники в A ′ і великі в B ′ , так що P і Q закінчуються як в A ′, так і обидва в B ′ .
Чи є інший підхід, який працює?