Чи можемо ми побудувати k-мудрі незалежні перестановки на [n], використовуючи лише постійний час та простір?


10

Нехай - нерухома константа. З огляду на ціле число , ми хочемо побудувати перестановку таким чином:n σ S nk>0nσSn

  1. Конструкція використовує постійний час і простір (тобто попередня обробка займає постійний час і простір). Ми можемо використовувати рандомізацію.

  2. З огляду на , можна обчислити в постійному часі та просторі.σ ( i )i[n]σ(i)

  3. Перестановка є -wise незалежних, тобто для всіх випадкові величини незалежні і рівномірно розподілені по .k i 1 , , i k σ ( i 1 ) , , σ ( i k ) [ n ]σki1,,ikσ(i1),,σ(ik)[n]

Єдине, що мені відомо в даний час, - це логарифмічний простір та поліноміальний час обчислення на значення використанням псевдовипадкових генераторів.σ(i)


Фон

Мені було потрібно щось подібне до вищезгаданої для недавньої роботи, і я в кінцевому підсумку використовував щось слабкіше: я дозволяв повторні записи і перевіряв, що всі номери, які мені потрібні, були вкриті (тобто безлад). Зокрема, я отримав незалежну послідовність, яку можна обчислити за час та використовувати постійний простір. Було б непогано мати щось простіше або просто знати, що відомо.O ( 1 )kO(1)

Припущення

Я припускаю модель одиничної вартості оперативної пам'яті. Кожне слово в пам'яті / регістрі має розмір , і кожна основна арифметична операція займає час . Я готовий припустити будь-яке розумне криптографічне припущення (функція в одну сторону, дискретний журнал тощо).O ( 1 )O(logn)O(1)

Поточні речі

Як запропонував Kaveh, ось "легкий" хак, який у мене зараз є (це цілком стандартно): Нехай бути многочленом над простим (подумайте про як про ). Тут кожен рівномірно та випадковим чином відбирається з . Неважко помітити, що - це послідовність, що має повтори, але вона -поле незалежна і приблизно числа відображаються в цій послідовності. Однак зауважте, що оскільки числа повторюються в цій послідовності, це не перестановка.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]


1
Ні. За постійного часу ви можете давати лише постійну кількість виходу, тому для будь-якого алгоритму постійного часу, для досить великого , опори випадкових змінних в умові 3 будуть суворими підмножинами . [ n ]n[n]

2
Мені потрібна постійна кількість обчислень на запис перестановки - тому загальний час обчислень може бути лінійним для всієї перестановки.
Саріель Хар-Пелед

1
Що стосується простору - я припускаю модель слова - тому кожне слово займає постійну кількість місця, навіть якщо воно має логарифмічну кількість біт.
Саріель Хар-Пелед

1
Часткове рішення: Припустимо, є простою потужністю і . Нехай - поле з . Встановіть для випадкових за . Тоді - це попарно незалежна перестановка на елементах, яку можна обчислити за "постійний час". Можливо, це узагальнює. k = 2 F | Ж | = n σ ( x ) = a x + b a , b F a 0 σ nnk=2F|F|=nσ(x)=ax+ba,bFa0σn
Томас

1
Так. Я це знав;). Проблема полягає в тому, що має бути набагато більшим, і лише лінійні многочлени є перестановками, а не вищими ступенями. k
Саріель Хар-Пелед

Відповіді:


3

Якщо ви готові використовувати криптографічні прийоми і покладатися на криптографічні припущення та приймати обчислювальне поняття незалежності -wise, можливо, що шифрування, що зберігає формат (FPE), може бути корисним. Дозвольте мені накреслити кілька подібних конструкцій.k

(Під "обчислювальним поняттям незалежності" я маю на увазі, що жоден противник з розумним часом роботи не може відрізнити від -значно незалежної перестановки, за винятком незначної переваги. Ці схеми теоретично не будуть інформаційно - мудрі незалежні, але вони будуть «по суті так само хорошими, як і незалежні», якщо припустити, що всі обчислення в зорі обчислюються обчислювально.)σ k k kkσkkk

Практична схема, для меншихn

Зокрема, використовуйте конструкцію FPE для побудови блокового шифру (псевдовипадкова перестановка, PRP) з підписом . Для значень , менших за , мабуть, найкращою схемою є використання конструкції Фейстеля з фіксованою кількістю кругів (скажімо, 10) та функцією кругла, яка є PRF, отриманою з AES. Час запуску для оцінки для одного значення буде Виклики AES. Кожне виклик AES працює в постійний час.n 2 128 σ k ( i ) i O ( 1 )σk:[n][n]n2128σk(i)iO(1)

Нарешті, зауважте, що будь-яка псевдовипадкова перестановка автоматично є незалежною від . Зокрема, теорема Любі-Раккоффа гарантує, що принаймні за 3 раунди ви отримаєте (приблизну) -значну незалежність, якщо , вважаючи, що AES є безпечним. При більшій кількості раундів, ймовірно, буде більш сильний результат, але теореми важче довести і стати більш технічними, хоча поширена думка, що для отримання надзвичайно високої безпеки (і, таким чином, по суті, ідеального - достатньо постійної кількості раундів. мудра незалежність для всіх розумних значень ).до до « п 1 / 4 до доkkkn1/4kk

Узагальнення цього на більшіn

Коли більше, речі стають більш дивними, тому що модель оперативної пам’яті з одиничною вартістю неявно дозволяє отримати до паралелізм безкоштовно. Мені незрозуміло, якою має бути вартість PRP в цій моделі (постійне? Зростає з ? Я не знаю).O ( lg n ) nnO(lgn)n

Третя можлива конструкція

Нехай - модуль RSA, який трохи більше . Визначте як підгрупу що містить елементи, символом Якобі яких є . Визначте до2 n G ( Z / m Z ) + 1 π : G Gm2nG(Z/mZ)+1π:GG

π(x)=x3modm.

Далі визначте заσ

σ(i)=g(π(f(i)),

де - випадкові бієктивні 2-незалежні хеш-функції.f,g

Я підозрюю, що ця конструкція має шанс бути (приблизно) незалежною, за припущенням, подібним до RSA. У мене немає доказів, просто інтуїція. Основна відома закономірність полягає в тому, що він мультиплікативно гомоморфний: . Я не знаю жодних інших релевантних закономірностей, навіть -wise залежності. Застосування 2-незалежного хешу до і після доказово усуває цю закономірність: якщо - незалежність, за винятком мультиплікативної гомоморфічності, то 2-мудрі незалежні хеші здаються такими, що вони повинні забезпечити повнийkππ(xy)=π(x)π(y)kππkk-не незалежність. Але це супер-схематично і світло-роки з доказів -wise незалежності.k

Зауважте, що вам потрібно використовувати методи шифрування, що зберігають формат (наприклад, техніку циклічного циклу), щоб працював на а не на . Ця схема повинна мати (очікуваний) час роботи для оцінки на заданому вході , з відповідним вибором .f,gG(Z/mZ)O(1)σ(i)if,g

Крім того, у певному сенсі ця конструкція-кандидата зловживає моделлю оперативної пам’яті з одиничною вартістю, покладаючись на можливість оперувати бітними номерами в час, для великих значень , що насправді не є розумним у практика. (Ця остання конструкція не буде безпечною для малих значень , тому цей останній підхід принципово покладається на великий режим, щоб він мав шанс працювати ... саме той режим, коли модель оперативної пам'яті за одиницю найбільше сумнівний.)lgnO(1)nnn

Я вільно визнаю, що цей напрямок є досить розтяжним, але я згадую його у випадку, якщо це викликає натхнення для кращого рішення.

Наприклад, можливо, можливо, замінити на відповідну еліптичну групу кривих, так що у нас над (нагадаємо, що групи еліптичних кривих зазвичай використовують позначення адитивів, а не мультиплікативні позначення). Хороша річ у тому, що не зовсім розумно припускати, що якщо група еліптичних кривих буде обрана правильно, поводитиметься як "група чорних коробок", що, на мою думку, може ефективно означати, що буде -незалежно ", за винятком ефектів, що маються на увазі мультиплікативним гомоморфізмом". Я не готовий запропонувати повну конструкцію (відсутня деталь - як вибратиπ ( x ) = e x G G G π k G f , g kGπ(x)=exGGGπkGі як сконструювати і як довести -wise незалежність від цього), але можливо, можна якось скласти частини.f,gk


Це дуже цікаво - я подорожую протягом кількох наступних тижнів, але я б задумався про це, коли повернусь. Дякую!
Саріель Хар-Пелед
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.