Можем ли мы построить k-мудрую независимую перестановку на [n], используя только постоянное время и пространство?


10

Пусть k>0 фиксированная константа. Для целого числа n мы хотим построить перестановку σSn такую, что:

  1. Конструкция использует постоянное время и пространство (т.е. предварительная обработка требует постоянного времени и пространства). Мы можем использовать рандомизацию.

  2. Учитывая i[n] , σ(i) может быть вычислено в постоянном времени и пространстве.

  3. Перестановки σ есть k -wise независимы, то есть, для всех i1,,ik , случайные величины σ(i1),,σ(ik) независимы и равномерно распределены по [n] .

Единственное, что я в настоящее время знаю, использует логарифмическое пространство и время полиномиального вычисления на значение σ(i) с использованием псевдослучайных генераторов.


Фон

Для недавней работы мне понадобилось что-то похожее на вышеприведенное, и в итоге я использовал что-то более слабое: я разрешил повторные записи и убедился, что все числа, которые мне нужны, были покрыты (т.е. беспорядок). В частности, я получил k независимую последовательность, которая может быть вычислена за O(1) времени и с использованием постоянного пространства. Было бы неплохо иметь что-то попроще или просто знать, что известно.

Предположения

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

Ток чтоли

p p n a i [ p ] σ ( 1 ) , σ ( 2 ) , , σ ( n ) k n ( 1 - 1 / e ) [ п ]σ(x)=i=0k+2aiximodpppnai[p]σ(1),σ(2),,σ(n)kn(11/e)[n] появляются в этой последовательности. Обратите внимание, однако, что, поскольку числа повторяются в этой последовательности, это не перестановка.


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

2
Мне требуется постоянное количество вычислений для каждой записи перестановки, поэтому общее время вычислений может быть линейным для всей перестановки.
Сариэль Хар-Пелед

1
Что касается пробела - я предполагаю слово модель - поэтому каждое слово занимает постоянное количество места, даже если оно имеет логарифмическое число битов.
Сариэль Хар-Пелед

1
Частичное решение. Пусть - простая степень и . Пусть - поле с . Установите для случайных с . Тогда - это попарно независимая перестановка для элементов, которая может быть вычислена за «постоянное время». Может быть, это обобщает. k = 2 F | F | = n σ ( x ) = a x + b a , b F a 0 σ nnk=2F|F|=nσ(x)=ax+ba,bFa0σn
Томас

1
Yeh. Я знал это;). Проблема в том, что должно быть намного больше, и только линейные полиномы являются перестановками, а не высшими степенями. k
Сариэль Хар-Пелед

Ответы:


3

Если вы готовы использовать криптографические методы и полагаться на криптографические предположения и принять вычислительное представление о независимости от , возможно, что шифрование с сохранением формата (FPE) может оказаться полезным. Позвольте мне набросать несколько различных конструкций такого рода.k

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

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

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

Наконец, отметим, что любая псевдослучайная перестановка автоматически независима. В частности, теорема Луби-Рэкоффа гарантирует, что по крайней мере с 3 раундами вы получите (приблизительную) независимость, если , предполагая, что AES безопасен. С большим количеством раундов, вероятно, будет более сильный результат, но теоремы труднее доказать и они станут более техническими, хотя широко распространено мнение, что для получения чрезвычайно высокого уровня безопасности должно быть достаточно постоянного количества раундов (и, следовательно, по существу идеального - мудрая независимость для всех разумных значений ).к к КК к кК«N1/4КК

Обобщая это на большееN

Когда больше, вещи становятся более странными, потому что модель оперативной памяти неявно допускает параллелизм до бесплатно. Мне не ясно, какой должна быть стоимость PRP в этой модели (постоянная, с ростом , не знаю).NnО(Л.Г.N)N

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

Пусть будет модулем RSA, который немного больше, чем . Определим как подгруппу содержащую элементы, чей символ Якоби равен . Определить как2 n G ( Z / m Z ) + 1 π : G Gм2Nг(Z/мZ)*+1π:гг

π(Икс)знак равноИкс3модификациям,

Затем определите помощьюσ

σ(я)знак равног(π(е(я)),

где - случайные биективные 2-независимые хеш-функции.е,г

Я подозреваю, что эта конструкция имеет шанс быть (приблизительно) независимой в предположении, подобном RSA. У меня нет доказательств, только интуиция. Основная известная регулярность состоит в том, что он мультипликативно гомоморфен: . Я не знаю каких-либо других соответствующих закономерностей, даже зависимость от . Применение 2-независимого хэша до и после доказуемо устраняет эту закономерность: если является зависимой независимостью, за исключением мультипликативной гомоморфности, то 2-мудрые независимые хэши кажутся такими, что должны обеспечить полноеπ π ( x y ) = π ( x ) π ( y ) k π π k k kКππ(ИксY)знак равноπ(Икс)π(Y)КππККнезависимость Но это супер-отрывочные и световые годы от доказательства независимости от .К

Обратите внимание, что вам нужно будет использовать методы шифрования, сохраняющие формат (например, метод циклического воспроизведения), чтобы работали с а не с . Эта схема должна иметь (ожидаемое) время выполнения для оценки на заданном входе с подходящим выбором .G ( Z / m Z ) O ( 1 ) σ ( i ) i f , gе,гг(Z/мZ)О(1)σ(я)яе,г

Кроме того, в некотором смысле эта конструкция-кандидат злоупотребляет моделью ОЗУ с единичной стоимостью, полагаясь на способность работать с битными числами за времени для больших значений , что на самом деле нецелесообразно в практика. (Эта последняя конструкция не будет безопасна для малых значений , поэтому последний подход в основном полагается на режим с большими чтобы у него был шанс работать ... именно тот режим, в котором модель ОЗУ с единичной стоимостью наиболее сомнительное.)O ( 1 )Л.Г.NО(1)N NNNN

Я свободно признаю, что это довольно натянуто, но я упомяну об этом на случай, если оно вызовет некоторое вдохновение для лучшего решения.

Например, возможно заменить подходящей группой эллиптических кривых, так что мы имеем над (напомним, что группы эллиптических кривых обычно используют аддитивные обозначения, а не мультипликативные обозначения). Хорошая вещь об этом состоит в том, что вполне разумно предположить, что, если группа эллиптической кривой выбрана правильно, будет вести себя как «группа черного ящика», что, я думаю, может эффективно подразумевать, что будет независимый от всех «за исключением эффектов, подразумеваемых мультипликативным гомоморфизмом». У меня нет готовой конструкции, готовой предложить (недостающий фрагмент - как выбратьπ ( x ) = e x G G G π k G f , g kгπ(Икс)знак равноеИксгггπКги как построить и как доказать way независимость от этого), но можно было бы как-то собрать кусочки вместе.е,гК


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