Permutazione unidirezionale finita con dominio infinito


10

Sia una permutazione. Nota che mentre agisce su un dominio infinito, la sua descrizione potrebbe essere finita. Per descrizione , intendo un programma che descrive la funzionalità di . (Come nella complessità di Kolmogorov.) Vedi le spiegazioni di seguito. π ππ:{0,1}{0,1}ππ

Ad esempio, la funzione NOT è una di queste permutazioni:

funzione NOT (x)
    Lascia y = x
    Per i = 1 a | x |
        Capovolgi il bit di y
    ritorna y

πk() , definito di seguito, è un altro caso:

funzione pi_k (x)
    ritorna x + k (mod 2 ^ | x |)

La mia domanda riguarda una classe speciale di permutazioni, chiamate permutazioni unidirezionali . Informalmente parlando, si tratta di permutazioni che sono facili da calcolare, ma difficili da invertire (per una macchina . La semplice esistenza di permutazioni unidirezionali è un problema aperto di vecchia data nella crittografia e nella teoria della complessità, tuttavia nel resto, supponiamo che esistano.BPP

Come esempio di una permutazione unidirezionale congetturata, si può considerare la RSA : Sia un intero di Blum , e sia . La permutazione unidirezionale è definita da: .n=pqe=65537πn(x)=xemodn

Si noti che RSA è definito sul dominio finito . In effetti, per ottenere una permutazione del dominio infinita, si deve considerare una famiglia di permutazioni RSA , dove è un insieme infinito di numeri interi di Blum. Nota che è la descrizione della famiglia e, per definizione, è infinita.Zn{πn}nDDD

La mia domanda è (supponendo l'esistenza di permutazioni unidirezionali):

Esistono permutazioni unidirezionali a descrizione finita su un dominio infinito ?

La risposta può variare: può essere positiva, negativa o aperta (sia probabile che sia positiva o negativa ).

sfondo

La domanda è emersa quando stavo leggendo un articolo di ASIACRYPT 2009 . Lì, l'autore implicitamente (e nel contesto di alcune prove) ha ipotizzato l'esistenza di tali permutazioni unidirezionali.

Sarò felice se questo è davvero il caso, anche se non sono riuscito a trovare una prova.


Non possiamo descrivere finemente ? Esiste un algoritmo finito che cerca un numero Blum più piccolo maggiore di un numero di input, quindi l'elaborazione potrebbe essere descritta ad esempio come "trova il numero Blum più piccolo più grande di , quindi calcola ". Tuttavia, non è ovvio per me che la funzione che otterrete incollando insieme un numero infinito di sarà necessariamente una permutazione. Potresti spiegare? π ( x ) b x π b ( x )Dπ(x)bxπb(x)πb
Karolina Sołtys,

@Karolina: grazie per la risposta. Penso che l'algoritmo "trova il numero Blum più piccolo maggiore di , quindi calcola " mostrerà necessariamente informazioni extra su , come la sua fattorizzazione. Pertanto, tale algoritmo non può essere utilizzato per descrivere permutazioni unidirezionali . Sei d'accordo? x π b ( x )bxπb(x)b
MS Dousti,

Ok, penso di averlo capito: vuoi che la descrizione finita descriva la funzione in un modo facile da calcolare. Penso che potremmo codificare la parte "trova il numero Blum più piccolo ..." senza rivelare alcuna informazione su (basta implementare la ricerca della forza bruta per ), ma non sarebbe calcolabile in modo efficiente. bbb
Karolina Sołtys,

Forse questa domanda sarà di aiuto con le idee: cstheory.stackexchange.com/questions/1378
Matt Groff

@Matt: grazie. In quella domanda, la condizione "facile da calcolare ma difficile da invertire" non è rispetto alle macchine con limiti di tempo.
MS Dousti,

Risposte:


14

L'articolo sulla costruzione di funzioni a senso unico 1-1 , di Goldreich, Levin e Nisan mostra come costruire la lunghezza preservando le funzioni 1-1 con domini infiniti e descrizione finita. La durezza dell'inversione delle funzioni si basa su ipotesi popolari, come la durezza dell'inversione di RSA o la ricerca di logaritmi discreti.

La loro costruzione è una svolta dell'idea semplice di convertire una famiglia, , di funzioni a senso unico in un'unica funzione a senso unico impostando dove è il casualità utilizzato per raccogliere l'indice ed è la casualità utilizzato per selezionare l'ingresso (in base all'indice ). f ( r , s ) = f i ( x ){fi}if(r,s)=fi(x)i s x irisxi

Il problema con l'idea sopra è che non è necessariamente 1-1. Modificano questo problema modificando leggermente e sostenendo che, in determinate condizioni sulla famiglia , la nuova costruzione è effettivamente 1-1. Quindi continuano a dimostrare che queste condizioni sono soddisfatte dalle funzioni RSA / Log-based.f ( r , s ) { f i } if(r,s)f(r,s){fi}i


1
Grazie Alon per la tua eccellente risposta. Fuori tema: sono molto felice di vederti qui. Adoro il tuo libro e le tue pubblicazioni sulla conoscenza zero simultanea !
MS Dousti,

Grazie, Sadeq. Sono contento di sentire che ti piace :-)
Alon Rosen,
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.