Peut-on construire une permutation indépendante k-sage sur [n] en utilisant uniquement le temps et l'espace constants?

10

Soit k>0 une constante fixe. Etant donné un entier n , nous voulons construire une permutation σSn telle que:

  1. La construction utilise un temps et un espace constants (c'est-à-dire que le prétraitement prend un temps et un espace constants). Nous pouvons utiliser la randomisation.

  2. Étant donné i[n] , σ(i) peut être calculé en temps et en espace constants.

  3. La permutation σ est indépendante de k , c'est-à-dire que pour tout i1,,ik , les variables aléatoires σ(i1),,σ(ik) sont indépendantes et uniformément réparties sur [n] .

La seule chose que je connaisse actuellement utilise l'espace logarithmique et le temps de calcul polynomial par valeur de σ(i) aide de générateurs pseudo-aléatoires.


Contexte

J'avais besoin de quelque chose comme ce qui précède pour certains travaux récents, et j'ai fini par utiliser quelque chose de plus faible: j'ai autorisé des entrées répétées et vérifié que tous les numéros dont j'avais besoin étaient couverts (c'est-à-dire un gâchis). Plus précisément, j'ai obtenu une séquence indépendante dans le sens k qui peut être calculée en temps O(1) et en utilisant un espace constant. Ce serait bien d'avoir quelque chose de plus simple, ou simplement de savoir ce qui est connu.

Hypothèses

Je suppose que le modèle de RAM à coût unitaire. Chaque mot dans la mémoire / le registre est de taille , et chaque opération arithmétique de base prend O ( 1 ) . Je suis prêt à assumer toute hypothèse cryptographique raisonnable (fonction unidirectionnelle, journal discret, etc.).O(logn)O(1)

Actuel truc

p p n a i [ p ] σ ( 1 ) , σ ( 2 ) , , σ ( n ) k n ( 1 - 1 / e ) [ n ]σ(x)=i=0k+2aiximodpppnai[p]σ(1),σ(2),,σ(n)kn(11/e)[n] apparaît dans cette séquence. Notez, cependant, que puisque les nombres se répètent dans cette séquence, ce n'est pas une permutation.

Sariel Har-Peled
la source
1
Non. En temps constant, vous ne pouvez donner qu'une quantité constante de sortie, donc pour tout algorithme à temps constant, pour suffisamment grand , les supports des variables aléatoires dans la condition 3 seront des sous-ensembles stricts de [ n ] .n[n]
2
J'ai besoin d'une quantité de calcul constante par entrée de la permutation - ainsi le temps de calcul global peut être linéaire pour toute la permutation.
Sariel Har-Peled
1
Quant à l'espace - je suppose le modèle de mot - donc chaque mot prend une quantité constante d'espace même s'il a un nombre logarithmique de bits.
Sariel Har-Peled
1
Solution partielle: Supposons que est une puissance première et k = 2 . Soit F un champ avec | F | = n . Fixer σ ( x ) = a x + b pour aléatoire a , b F avec a 0 . Alors σ est une permutation indépendante par paire sur n éléments qui peut être calculée en "temps constant". Peut-être que cela se généralise. nk=2F|F|=nσ(x)=ax+ba,bFa0σn
Thomas
1
Ouais. Je le savais ;). Le problème est que doit être beaucoup plus grand, et seuls les polynômes linéaires sont des permutations, pas les degrés supérieurs. k
Sariel Har-Peled

Réponses:

3

Si vous êtes prêt à utiliser des techniques cryptographiques et à vous fier à des hypothèses cryptographiques et à accepter une notion informatique d' indépendance -wise, il est possible que le chiffrement préservant le format (FPE) puisse être utile. Permettez-moi d'esquisser quelques constructions différentes de ce genre.k

(Par "notion de calcul de l' indépendance sensée", je veux dire qu'aucun adversaire avec un temps d'exécution raisonnable ne peut distinguer σ d'une permutation indépendante k- sens, sauf avec un avantage négligeable. Ces schémas ne seront théoriquement pas k- sens indépendants, mais ils seront "essentiellement aussi bons que k -wise indépendants", en supposant que tout le calcul en vue est borné par le calcul.)kσkkk

Un schéma pratique, pour les petits n

En particulier, utilisez une construction FPE pour construire un chiffrement par blocs (permutation pseudo-aléatoire, PRP) avec la signature . Pour des valeurs de n inférieures à 2 128 , le meilleur schéma est probablement d'utiliser une construction de Feistel avec un nombre fixe de tours (disons, 10) et une fonction de tour qui est un PRF dérivé d'AES. Le temps d'exécution pour évaluer σ k ( i ) pour une seule valeur de i sera O ( 1 ) invocations AES. Chaque appel AES s'exécute en temps constant.σk:[n][n]n2128σk(i)iO(1)

Enfin, notez que toute permutation pseudo-aléatoire est automatiquement indépendante dans le sens . En particulier, le théorème Luby-Rackoff garantit au moins 3 tours, vous obtenez (environ) k L' indépendance -wise si k « n 1 / 4 , en supposant AES est sécurisé. Avec plus de tours, il est probable qu'il y aura un résultat plus fort, mais les théorèmes sont plus difficiles à prouver et deviennent plus techniques, bien qu'il soit largement admis qu'un nombre constant de tours devrait suffire pour obtenir une sécurité extrêmement élevée (et donc essentiellement parfait k - sage indépendance pour toutes les valeurs raisonnables de k ).kkkn1/4kk

Généraliser ceci à un n plus grandn

Lorsque est plus grand, les choses deviennent plus étranges, car le modèle de RAM à coût unitaire autorise implicitement jusqu'à O ( lg n ) parallélisme gratuitement. Ce n'est pas clair pour moi quel devrait être le coût des PRP dans ce modèle (constant? Croissant avec n ? Je ne sais pas).nO(lgn)n

Une troisième construction possible

Soit un module RSA légèrement supérieur à 2 n . Définissez G comme le sous-groupe de ( Z / m Z ) contenant les éléments dont le symbole Jacobi est + 1 . Définissez π : G G parm2nG(Z/mZ)+1π:GG

π(x)=x3modm.

Ensuite, définissez parσ

σ(je)=g(π(F(je)),

sont des fonctions de hachage indépendantes bijectives aléatoires 2.F,g

Je soupçonne que cette construction a une chance d'être (approximativement) indépendante dans le sens , sous une hypothèse de type RSA. Je n'ai aucune preuve, juste une intuition. La principale régularité connue de π est qu'elle est homomorphique multiplicative: π ( x y ) = π ( x ) π ( y ) . Je ne connais aucune autre régularité pertinente, même une dépendance k -wise. L'application d'un hachage indépendant de 2 avant et après π élimine de façon prouvée cette régularité: si π est kkππ(Xy)=π(X)π(y)kππkindépendance dans le sens des deux sauf pour l'homomorphicité multiplicative, alors les hachages indépendants sur 2 semblent devoir fournir une indépendance complète dans le sens . Mais c'est super-sommaire et des années-lumière d'une preuve d' indépendance k -wise.kk

Notez que vous devrez utiliser des techniques de chiffrement préservant le format (par exemple, la technique de cyclage) pour vous assurer que fonctionne sur G plutôt que sur ( Z / m Z ) . Ce schéma devrait avoir un temps d'exécution O ( 1 ) (prévu) pour évaluer σ ( i ) à une entrée donnée i , avec un choix approprié de f , g .F,gg(Z/mZ)O(1)σ(je)jeF,g

En outre, dans un certain sens, cette construction candidate abuse du modèle de RAM à coût unitaire en s'appuyant sur la capacité à fonctionner sur des nombres bits en temps O ( 1 ) , pour des valeurs élevées de n , ce qui n'est pas vraiment raisonnable en pratique . (Cette dernière construction ne sera pas sécurisée pour les petites valeurs de n , donc cette dernière approche repose fondamentalement sur le grand régime n pour qu'il ait une chance de fonctionner ... exactement le régime où le modèle de RAM à coût unitaire est le plus douteux.)lgnO(1)nnn

J'admets librement que celui-ci est assez extensible, mais je le mentionne au cas où il déclencherait une inspiration pour une meilleure solution.

Par exemple, il pourrait être possible de remplacer par un groupe de courbes elliptiques approprié, de sorte que nous ayons π ( x ) = e x sur G (rappelons que les groupes de courbes elliptiques utilisent généralement la notation additive plutôt que la notation multiplicative). La bonne chose à ce sujet est qu'il n'est pas totalement déraisonnable de conjecturer que, si le groupe de courbes elliptiques G est choisi correctement, G se comportera comme un "groupe de boîtes noires", ce qui, je pense, pourrait effectivement impliquer que π sera kgπ(X)=eXgggπkindépendant des sens "sauf pour les effets induits par l'homomorphisme multiplicatif". Je n'ai pas de construction complète prête à proposer (la pièce manquante est de savoir comment choisir et comment construire f , g et comment prouver l' indépendance k par rapport à cela), mais il pourrait être possible de rassembler les pièces d'une manière ou d'une autre .gF,gk

DW
la source
C'est très intéressant - je voyage pour les prochaines semaines, mais j'examinerai cela à mon retour. Merci!
Sariel Har-Peled