Ridurre i prodotti prime di factoring a prodotti interi di factoring (in media)


10

La mia domanda riguarda l'equivalenza della sicurezza di varie funzioni unidirezionali candidate che possono essere costruite sulla base della durezza del factoring.

Supponendo il problema di

FATTORE: [Dato per numeri primi casuali P , Q < 2 n , trova P , Q. ]N=PQP,Q<2nPQ

non può essere risolto in tempo polinomiale con probabilità non trascurabile, la funzione

PRIME-MULT: [Dato la stringa di bit come input, usa x come seme per generare due numeri primi casuali P e Q (dove le lunghezze di P , Q sono solo polinomialmente inferiori alla lunghezza di x ); quindi emettere P Q. ]xxPQPQxPQ

può essere mostrato come a senso unico.

Un'altra candidatura a senso unico è

INTEGER-MULT: [Dati interi casuali come input, output A B. ]A,B<2nAB

INTEGER-MULT ha il vantaggio di essere più facile da definire rispetto a PRIME-MULT. (Notare in particolare che in PRIME-MULT, c'è una possibilità (sebbene fortunatamente trascurabile) che il seme non riesca a generare P , Q che sono primi.xP,Q

Almeno in due luoghi diversi (Arora-Barak, Computational Complexity, pagina 177, footnote 2) e ( Note di lezione di Vadhan's Introduzione alla crittografia ) si menziona che INTEGER-MULT è a senso unico assumendo una durezza media del factoring. Tuttavia, nessuno di questi due fornisce la ragione o un riferimento per questo fatto.

Quindi la domanda è:

Come possiamo ridurre il factoring nel tempo polinomiale di con probabilità non trascurabile per invertire INTEGER-MULT con probabilità non trascurabile?N=PQ

Ecco un possibile approccio (che come vedremo NON funziona!): Dato , moltiplica N per un intero casuale A ( ' polinomiale) molto più lungo per ottenere A = N A . L'idea è che un ' è così grande che ha un sacco di fattori primi di dimensioni pari a circa P , Q , in modo che P , Q non "spiccano" tra i fattori primi di A . Quindi A ha approssimativamente la distribuzione di un intero uniformemente casuale in un dato intervallo (diciamo [ 0N=PQNAA=NAAP,QP,QAA ). Quindi scegliere l'intero B in modo casuale dallo stesso intervallo [ 0 , 2 n - 1 ] .[0,2n1]B[0,2n1]

Ora se un inverter per INTEGER-MULT può, dato , con una certa probabilità trovare A , B < 2 n tale che A B = A B , la speranza è che uno di A o B contenga P come un fattore e l'altra contiene Q . Se questo era il caso, possiamo trovare P o Q prendendo GCD di A ' con N = P Q .ABA,B<2nAB=ABABPQPQAN=PQ

Il problema è che l'inverter può scegliere di separare i fattori primi, ad esempio, mettendo i piccoli fattori di in A e quelli grandi in B , in modo che P e Q finiscano entrambi in A o entrambi in B .ABABPQAB

C'è un altro approccio che funziona?


possiamo ridurre la probabilità di fallimento per INT-FACT di essere esponenzialmente piccola e quindi usare la densità dei numeri primi per dire che non fallirà sulla maggior parte dei prodotti di due numeri primi?
Kaveh,

2
Se potessimo invertire INTEGER-MULT per tutte le istanze tranne una frazione esponenzialmente piccola delle istanze, in effetti i prodotti FACTORING dei numeri primi sarebbero facili. Ma non conosco un modo per ottenere un inverter potente da un inverter debole.
Omid Etesami,

1
L'inverso (in qualche modo) di questo problema è già stato discusso qui .
MS Dousti,

Risposte:


4

Questa non è davvero una risposta, tuttavia fa luce sulla difficoltà di dimostrare tali riduzioni.


AnccNnAAnnddN

AN N=PQRPQn/4Rn/2NPQRAnA

k

2k/ln(2k)2k1/ln(2k1)=Θ(2k/k)

n

Θ(2n/4/(n/4))2Θ(2n/2/(n/2))2n1=Θ(n3)

n

AAnnddN

APQ

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.