Рейтинг:11

Почему конечные поля так важны в криптографии?

флаг id

Я только начинаю заниматься криптографией и в настоящее время учусь, пытаясь реализовать некоторые криптоалгоритмы.

В настоящее время реализуя алгоритм обмена секретами Shamir, я заметил, что конечные поля продолжают появляться.

Я просто пока не понимаю, почему они актуальны.

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

Кроме того, вредит ли безопасности тот факт, что они ограничены?

kelalaka avatar
флаг in
Dlog прост в реальных и сложных полях. На ваш вопрос нет идеального ответа. В криптографии мы полагаемся на сложные проблемы и формируем схемы поверх них. Исследователи используют их всякий раз, когда это возможно. Ваше понимание в основном правильное, но недостаточное: [Существуют ли какие-либо (асимметричные) криптографические примитивы, не основанные на арифметике над простыми полями и/или конечными полями?] (https://crypto.stackexchange.com/q/54263/18298)
fgrieu avatar
флаг ng
Конечные поля важны в криптографии, потому что поля важны в науке, а криптография — это наука, которая имеет дело с конечными множествами.
TonyK avatar
флаг us
iammadab, Dlog означает [проблема с дискретным логарифмом] (https://en.wikipedia.org/wiki/Дискретный_логарифм). @kelalaka, я действительно не понимаю, как iammadab должен был это выяснить - это невозможно найти в Google.
kelalaka avatar
флаг in
Однако @TonyK вне контекста, если вы вставляете результат поиска Google, Google использует некоторые теги в запросе, которые могут привести к утечке некоторой информации (никогда не искал, что это такое!). Я удалил ненужные комментарии.
Рейтинг:17
флаг ng

Одной из особенно важных тем для этого вопроса является размер кодировки. Это следует из следующего «тривиального факта»:

Для бесконечного множества $А$, не существует некоторых $s\in\mathbb{N}$ такой, что каждый $а\в А$ можно описать в $s$ биты.

Можно обойти эту проблему, обратившись к кодировкам переменной длины, но это может легко привести к проблемам с безопасностью — может быть довольно легко пассивно получить некоторую информацию о размере некоторого закодированного элемента. Если бы это давало какое-то указание на то, какой элемент был закодирован, это было бы плохо. Поэтому, если вы хотите, чтобы объекты в вашей криптосистеме имели кодировку одинакового размера, вы застряли с конечными объектами.

(Меньшее) преимущество работы с конечными структурами заключается в том, что существует равномерное распределение. Это:

  • Максимальное распределение энтропии на множестве
  • Инвариант относительно биекций
    • В том числе для группы $G\ни г$, биекция $x\mapsto x+g$, который невероятно общий.

Этих свойств достаточно, чтобы показать безопасность одноразового блокнота, которая является довольно фундаментальной, и к ней часто хочется обратиться (часто после замены «реальных» объектов идеализированными, например, замены PRG случайной функцией).

Для некоторых бесконечных групп можно получить распределения с аналогичными свойствами, в частности мера Хаара. Но это много более технически сложный, поэтому тот факт, что равномерное распределение настолько простое (хотя и обладает отличными свойствами), определенно является аргументом в пользу конечной земли, хотя и менее важным, чем точка фиксированного размера кодирования в моих глазах.

Ничто из этого не отвечает, почему конечный поля, а не просто конечные алгебраические структуры. Но часто конечные поля используются исключительно как источник конечных групп, например $\mathbb{F}_p^\times$. Можно спорить, почему нужны группы, а не более слабые алгебраические структуры, но у меня есть только неясные моменты по этой теме.

Возможно, последний пункт — «почему нет конечные структуры" --- что-то вроде $(\mathbb{Z}/pq\mathbb{Z})^\times$ за $р, д$ из $\около 1024$ бит настолько смехотворно велик, что, хотя он и не технически бесконечно, это "по существу" так --- например, есть примерно $2^{270}$ атомов во Вселенной, т. много меньше чем $2^{2048}$, так что в определенном смысле он «больше, чем наша вселенная» (хотя, конечно, он все еще конечен). Пока что-то вроде $\mathbb{R}$ бесконечен, если кто-то вызывает ошибки округления (как вы упомянули), вы, вероятно, работаете с приближениями с плавающей запятой, которые обычно используют не более $128$ бит, так что на самом деле (неявно) работает с меньше конечное множество, чем тот, который используют криптографы.

Рейтинг:8
флаг ng
SSA

Я постараюсь дать общий ответ на этот вопрос.

Конечное поле, обозначаемое ${F_p}$, где p — простое число, хорошо работает с криптографическими алгоритмами, такими как AES, RSA и т. д., по следующим причинам:

  • Нам нужно расшифровать зашифрованное сообщение, это возможно только тогда, когда доступна уникальная (биективная) обратная функция. Это возможно только тогда, когда у функции нет делителя нуля, а также она инъективна и сюръективна.

  • Также это обеспечивает закрытую операцию, что означает, что любая операция, которую вы выполняете в поле, результат останется в поле, что упрощает реализацию криптографических алгоритмов.

  • Конечное поле, порожденное простым числом (простым числом или неприводимым полиномом), обладает этими необходимыми характеристиками.

  • Он используется не только в криптографии, но и в канальном кодировании, таком как BCH или кодирование Рида-Соломона. он широко распространен в большинстве кодов исправления ошибок связи, безопасности данных / контента, а также их расширения, такие как группы и кольца, используются в химии и других научных областях.

poncho avatar
флаг my
Небольшое примечание: RSA не выполняется в конечном поле...
флаг ar
@poncho: Однако несколько интересно отметить, что кольцо RSA (целых по модулю $n=pq$) является «почти полем» в том смысле, что делители нуля встречаются редко и, по сути, находят ненулевое один эквивалентен факторизации модуля $n$ и, таким образом, взлому криптосистемы.
poncho avatar
флаг my
"почти поле" $\ne$ "поле"
флаг id
@poncho: RSA «выполняется» в конечном поле, поскольку, хотя полное кольцо целых чисел по модулю pq не является полем, успешные операции RSA будут использовать только те части кольца, где оно ведет себя как поле (операции, которые спотыкаются на части, где он не ведет себя как поле, не будет работать).
Рейтинг:5
флаг bd

Вопросы, поднятые Марком и SSA, являются главными. У нас есть хорошо изученный класс структур, которые сочетаются с подходящими задачами, которые в настоящее время считаются неразрешимыми с вычислительной точки зрения (несмотря на то, что они хорошо изучены). На самом деле все аффинные линейные отображения $x\mapsto ax+b$ являются биекциями (см., что Марк сказал о максимальной энтропии) всякий раз, когда $а$ является ненулевым элементом поля. Если бы у нас не было конкретного поля, это не имело бы места.

Я также хочу добавить несколько свойств конечных полей характеристики два, в частности ($GF(2^n)$ или же $\Bbb{F}_{2^n}$):

  • Пространство ключей (или пространство сообщений или еще что-то) имеет размер, который представляет собой точное целое число битов. Это, по общему признанию, не является насущной проблемой. Скорее удобство.
  • Наличие полевой структуры позволяет анализировать определенные вычислительно эффективные операции с точки зрения безопасности. Например, мономиальные функции широко изучались с точки зрения дифференциального криптоанализа. Найдите функции APN (= Почти идеальная нелинейность). При более случайной структуре такой анализ был бы более утомительным.

Однако у этих полей есть и недостатки.

  • дополнительная структура означает, что, например, DLP может быть более удобным, чем A) в группе «черных ящиков» того же размера или даже B) в простом поле почти такого же размера.
флаг bd
Это больше похоже на комментарий, но слишком длинно для такого. Приносим извинения за потребляемую полосу пропускания.
Рейтинг:3
флаг sa

Почему поле: Идея совместного использования секрета Шамиром состоит в том, чтобы восстановить секрет (функциональность) и доказать, что любой общий секрет возможен (безопасность), используя полиномиальную интерполяцию.

Хотя полиномиальная интерполяция может быть выполнена для многих алгебраических структур, она всегда будет работать для поля. (Над полем ненулевой многочлен имеет не больше нуля, чем его степень. В отношении других родственных алгебраических структур это обычно неверно.)

В то время как обмен секретами Шамира обычно осуществляется с полями, это было сделано со многими другими алгебраическими структурами. Это обычно требует большой осторожности и сложно. Если вам действительно не нужно, делать это над полями намного проще и предпочтительнее.

Почему конечно: Для безопасности недостаточно того, что возможен любой общий секрет, каждый общий секрет также должен быть (почти) равновероятным. Использование конечных полей позволяет нам выбирать случайность из равномерного распределения, что, как оказывается, дает нам именно то, что мы хотим.

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

Сделать это над целыми числами (не полем!) можно, но для обеспечения безопасности требуется довольно много работы. В качестве побочного эффекта (по крайней мере, для схемы, которую я рассматривал) доли в конечном итоге становятся намного больше. Вы не хотите эти расходы, если у вас нет веской причины. (Что вы иногда делаете.)

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

Другие области криптографии: Конечные поля используются во всей криптографии. Как правило, это связано с ненулевыми элементами в полях, имеющих мультипликативные обратные значения, которые нам очень часто нужны. У операции также есть много других хороших, доказуемых свойств.

Конечная часть обычно требуется для практичности, а иногда и из-за особых свойств конечных полей.

  • АЕС: Одним из примеров является поле AES, где многие желаемые свойства следуют из алгебраических свойств. Например, вы не получите те же алгебраические свойства от целых чисел по модулю 256 (кольцо).

  • Мультипликативная подгруппа: Другой пример — мультипликативная подгруппа конечного поля (ненулевые элементы конечного поля образуют циклическую группу), которая для тщательно выбранного конечного поля оказывается подходящей группой для криптографии на основе d.log. (Дискретные логарифмы определяются аналогично обычным логарифмам, но оказывается, что в некоторых группах их очень сложно вычислить без квантового компьютера.)

    В этом случае мы могли бы также использовать определенные кольца, но оказалось, что на практике для такого рода приложений лучше подходят первичные конечные поля. Например, безопасность не зависит от секретного группового порядка, что позволяет нам делать некоторые вещи, которые вы не можете сделать, если групповой порядок неизвестен. (RSA работает с такими кольцами, но имеет другие свойства и требования.)

  • Эллиптические кривые: Еще одним примером являются эллиптические кривые, которые широко используются в криптографии (даже постквантовой криптографии). В то время как что-то очень похожее на эллиптические кривые можно определить с помощью других алгебраических структур, таких как кольца, богатая теория эллиптических кривых требует работы с полями.

    Изучение эллиптических кривых — важная часть теории чисел, но для криптографических целей кривые, заданные над бесконечными полями, непрактичны или непригодны для функциональных целей и не обладают требуемыми свойствами безопасности. (Например, приблизительный дискретный логарифм можно вычислить, взглянув на размер координат, который нарушил бы безопасность, если бы сначала не нарушил практичность.) Хотя эллиптические кривые, заданные для бесконечных полей, функционально не используются в криптографии, их изучение необходимо для анализа криптографии на эллиптических кривых.

    Эллиптические кривые над некоторыми конечными кольцами рассматривались в криптографическом контексте, но, за исключением неясных случаев, не представляют ничего интересного. (Очевидно, что факторинг эллиптических кривых исключен!)

  • Дополнительные примеры: Криптография на основе решетки и криптография на основе кода, в которой используются алгебраические структуры, определенные над конечными полями. Многомерная криптография, основанная на системах полиномиальных уравнений над конечными полями.

    Опять же, многое из этого можно сделать над определенными конечными кольцами, но есть много недостатков и мало что можно получить.

Рейтинг:1
флаг ph

В частности, для Шамира, посвященного секретному обмену, статья в Википедии Переговоры о почему используются конечные поля вместо другого кольца.В конечном поле никакая информация о секрете не утекает, если известно количество долей ниже порогового значения. Причина этого в том, что каждая функция на конечном поле имеет уникальное полиномиальное представление (степени не выше q-1)

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

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