Рейтинг:3

Какова идеальная жесткая функция памяти?

флаг in

Этот говорит $f_n$ трудна ли память, если для любого места $S$ и время $Т$, $S\cdot T \in \Omega(n^2)$.

Мои вопросы:

  • Что $S$? Космос? Например. байт доступной памяти?
  • Что $n$? Байты запрошенной памяти аппаратной функцией памяти?
  • Что $Т$? Количество раундов?
  • Насколько хорошо это определение? Например. насколько он плотный? Например. $\Омега(n^2)$ является асимптотической нижней границей, но я думаю, что не все функции, которые $\in \Омега(n^2)$ равны. Например. может некоторые лучше? Так что я полагаю, что это определение недостаточно точное, чтобы показать нам, какой KDF с жесткой памятью обязательно лучше?
  • Есть ли лучшее определение жесткости памяти? Например. теснее, чем просто $\in \Омега(n^2)$?
Рейтинг:5
флаг us

Многие из них рассмотрены в статье.В этой постановке «противником» является некоторый алгоритм, который может оценить $f_n$ используя меньше ресурсов, чем мы надеялись.

  • $S$ = сложность пространства/памяти противника. В этом направлении работы $f_n$ это функция, которая обращается к какому-то случайному оракулу $H : \{0,1\}^k \to \{0,1\}^k$, и $S$ это (в худшем случае) использование пространства противником, измеренное в $к$-битные «блоки».

  • $Т$ = временная сложность противника. Обычно измеряется количеством обращений к $Ч$. В некоторых моделях противнику разрешено делать параллельные вызовы $Ч$ бесплатно, так что $Т$ количество "последовательных раундов" обращений к $Ч$.

  • $n$ = настраиваемый параметр жесткости функции жесткой памяти. Больше $n$ увеличивает усилия, необходимые для оценки функции $f_n$ (и в идеале усилия масштабируются квадратично в $n$). Честные партии должны выбирать самые крупные $n$ так что они готовы потратить усилия на оценку $f_n$.

Насколько хорошо это определение? ... Итак, я полагаю, что это определение недостаточно точное, чтобы показать нам, какой KDF с жестким объемом памяти обязательно лучше?

Это правда, что $n^2/1000$ сильно отличается от $1000n^2$, но это определение подходит для функций, требовательных к памяти, с любым из этих уровней сложности. На момент написания этой статьи большинство функций-кандидатов, требовательных к памяти, были асимптотически гораздо хуже, чем $\Тета(n^2)$. Таким образом, это определение достаточно эффективно для исключения многих плохих кандидатов. Как только у вас будет много кандидатов, удовлетворяющих этому асимптотический определения, то вы можете начать беспокоиться о постоянных факторах.

Есть ли лучшее определение жесткости памяти?

Да, это определение касается только наихудший использование места в кейсе $S$. Предполагать $f_n$ это функция, которая действительно требует $n$ единицы памяти для оценки - нет способа оценить $f_n$ без удержания $n$ единицы памяти в какой-то момент. Это не исключает возможности того, что $n$ единицы памяти требуются только в течение очень короткого промежутка времени. Другими словами, может существовать алгоритм для $f_n$ чей график использования памяти с течением времени выглядит так:

введите описание изображения здесь

(изображения взяты из Слайды Лео Рейзина на скрипте)

Если этот алгоритм имеет максимум использование пространства $n$ а также использует $n$ время, его ST-сложность равна $\Омега(n^2)$. ST-сложность похожа на площадь синего прямоугольника ограничивающей рамки на этом рисунке.

Но эта мера жесткости памяти скрывает некоторые проблемы. Предположим, противник хочет оценить $f_n$ на многих различных входных данных, и он умело планирует эти оценки следующим образом:

введите описание изображения здесь

Эту стратегию можно использовать для оценки примера $f_n$ на $n$ различные входы, используя только $ О (п) $ время и $ О (п) $ Общий объем памяти! Таким образом, общая «стоимость ST» для оценки функции $n$ раз $ О (п ^ 2) $, что означает, что амортизированный стоимость одного экземпляра только $ О (п) $.

Лучшим способом классификации памяти функции было бы измерение площадь под кривой а не площадь ограничивающей рамки. Именно это и предлагается в последующие работы, где метрика жесткости памяти называется «кумулятивной сложностью памяти».

kodlu avatar
флаг sa
хороший ответ, я многому научился из него.
kelalaka avatar
флаг in
Да, люди много раз забывали об амортизированной стоимости. И именно поэтому функциям, требовательным к памяти, постоянно требуется произвольный доступ.

Ответить или комментировать

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