Рейтинг:3

Метод дискретного логарифма Эль-Гамаля для отправки ключей

флаг cn

На моем курсе криптографии мне дали следующее упражнение:

Эль-Гамаль предложил следующую схему цифровой подписи с использованием дискретных логарифмов по полю. $\mathbb{F}_p$, куда $р$ является большим простым числом.

  • Шаг 1) Все согласны с простым числом $р$ и генератор $г$ за $\mathbb{F}_p^*$.

  • Шаг 2) A (и все другие варианты использования) выбирает секретный показатель $d_A$, и обнародует $ e_A \ эквив г ^ {d_A} \ мод р $ (как и в криптосистеме Эль-Гамаля).

  • Шаг 3) Чтобы подписать сообщение, закодированное как целое число $м$ с $0\ле м\ле р-1$, A выбирает случайное целое число $к$ относительно простой $p-1$ (т.е. $\gcd(k,p-1)=1$). Затем вычисляет $r\эквив g^k \mod p$ и решает уравнение $g^m\equiv e_A^r r^s \ мод р $ в неизвестном $s$. В случае $с=0$ (весьма маловероятно), она снова начинает с другого $к$. Наконец, A отправляет B сообщение $м$ вместе с парой $(р,с)$, что является ее подписью для этого сообщения.

  • Шаг 4) Беатрис проверяет, что $г^м \экв e_A^r r^s \mod p$. Если это верно, B принимает, что подпись $(р,с)$ действительно принадлежит А.

а) Убедитесь, что Ана знает все, что ей нужно для расчета $s$.

б) Проверить, что C не может выдать себя за A, не зная $d_A$, то есть не имея возможности решить задачу дискретного логарифмирования и, следовательно, $В$ можно быть уверенным, что сообщение действительно исходит от А.

c) Почему A должен отбрасывать $к$ если окажется, что $с=0$?

Вот что у меня есть:

а) Поскольку $ г \ эквив г ^ к \ мод р $ и $e_A=g^{d_A}\mod p$ тогда: $$g^m\equiv e_A^rr^s\equiv (g^{d_A})^{r}(g^k)^s=g^{d_Ar+ks}\mod p$$ А из малой теоремы Ферма следует, что $m\equiv d_Ar+ks\mod p-1\Rightarrow ks\equiv m-d_Ar\mod p-1$. Следовательно, поскольку $\gcd(k,p-1)=1$ у нас есть это $к$ обратим в $\mathbb{F}^*_p$ и другие $s\equiv k^{-1}(m-d_Ar)\mod p-1$. Итак, мы закончили, так как Ана знает $p,k,m,d_A$ и $г$.

б) Если $С$ хочу притвориться $А$, нужно отправить $м$ и $(р,с)$ такой, что $g^m\equiv e_A^rr^s\mod p$. Но $s$ зависит от $d_A$ как мы видели в $а)$. Следовательно, мы не можем построить $s$ не зная $d_A$, и так, если $С$ хочу притвориться $В$, нужно найти $d_A$. Но это трудно, так как единственное, что мы знаем о $d_A$ (если мы не $А$) в том, что $ e_A \ эквив г ^ {d_A} \ мод р $ так и притворяясь $А$ эквивалентно решению задачи дискретного логарифмирования.

в) Если $с=0$ тогда $g^m\equiv e_A^r\equiv g^{d_Ar}\mod p$ и другие $m\equiv d_Ar\mod p-1$. Отсюда я застрял, так как это единственная информация, которая у меня есть, но я не понимаю, как это позволяет нам создавать сигнатуру, не зная $d_A$. Конечно, мы можем решить $m\equiv d_Ar\mod p-1$, который будет иметь $\gcd(r,p-1)$ решения, а затем проверить, какое из них является правильным $d_A$, но $\gcd(r,p-1)$ может быть близко к $p-1$ если нам не повезло, и это означало бы, что этот процесс экспоненциальный, и это не лучше, чем решение дискретного логарифма.

Если вы можете проверить правильность а) и б) и подсказать в) буду очень признателен.

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

Решение, данное а Это хорошо.


Попытка доказательства для б неверно: возможно, что C … посылает $м$ и $(р,с)$ такой, что $ г ^ м \ эквив (е_А) ^ г \, г ^ с \ pmod р $.

Один из способов сделать это, даже если А не использовал $d_A$ после шага 1: C выбирает $r=s=(p-1)/2$, и вычисляет $(e_A)^r\,r^s\bmod p$. Это либо $p-1$ или же $1$. C соответственно выбирает $m=(p-1)/2$ или же $м=0$, а сейчас имеет $м$ и $(р,с)$ которые проходят проверку шага 4. Это экзистенциальная подделка (есть другие которые приводят к случайному виду $м$). Некоторое облегчение от них можно получить, потребовав, чтобы на шаге 4 B принимал только осмысленные $м$ для некоторого определения осмысленного. Или изменить уравнение проверки на $g^{H(m)}\equiv(e_A)^r\,r^s\pmod p$.

Но тогда есть проблема, что C мог захватить $м$ и $(р,с)$ подготовленный A в предыдущем выполнении шага 3, и отправить его B. Это повторная атака на протокол, описанный в б. Один из способов заблокировать их — попросить B выбрать $м$ перед каждым выполнением шага 3.

Но тогда C может передать A любое сообщение, полученное C от B, а B любое сообщение, полученное C от A. Это ретрансляционная атака на протокол, описанный в б. Решение этого вопроса в рамках вопроса довольно ограничено: решение, что это не проблема, или предположение, что A изолировано от взаимодействий между B и C.

Если вопрос правильно транскрибирует постановку задачи, то последняя, ​​таким образом, неверна! Если простое указание будет считаться рискованным, я предлагаю перефразировать протокол, изложенный в б как: предположить $м$ выбирается случайным образом в $[0,p-1)$ на B до шага 3, и A не участвует в обмене между B и C из этого выбора $м$ к завершению шага 4. Докажите, что если C может пройти тест шага 4 с ненулевой вероятностью, то C может найти $d_A$ с одинаковой вероятностью. Я надеюсь (не уверен), что есть относительно простое решение этой переформулировки.


Подсказка для с: Сначала предположим $(p-1)/2$ является основным (общее требование, помогающее сделать DLP сложным), и перехватчик получает доступ к $м$ и $(г,с=0)$ прохождение теста 4, и $m\not\equiv0\pmod{(p-1)/2}$. Докажите, что этот подслушиватель может найти $d_A$, затем выдавать себя за А.


Даже если в постановке задачи изначально этого нет, я рекомендую придерживаться стандартных обозначений для$\bmod$:

  • $а\экв б\пмод д$, введено как $а\экв б\пмод д$, Значит это $q\ne0$ и $b-a$ является кратным $q$, без ограничения для $а$. Непосредственно перед$\bmod$, подразумевая, что у него нет левого операнда.$\bmod$и это правильный операнд квалифицируется ранее $\экв$ подписать. Их может быть несколько, как в $ а \ эквив б \ эквив с \ pmod q $.
  • $a=b\bmod q$ (внесено как $a=b\bmod q$) Значит это $0\le a<q$ и $b-a$ является кратным $q$. В этом выражении$\bmod$это оператор с двумя аргументами, применяемый к левому операнду $b$ и правый операнд $q$. Здесь нет $\экв$ знак и без скобок непосредственно перед$\bmod$. Мы могли бы эквивалентно написать $a=(b\bmod q)$, $(b\bmod q)=a$, или же $b\bmod q=a$.
Marcos avatar
флаг cn
Хм, спасибо за ваше решение, я спрошу своего учителя о части б), потому что вы правы, а это должно быть неправильно. Для c) это моя попытка, если вы можете это проверить: пусть $\frac{p-1}{2}$ простое число, тогда $m\equiv d_Ar\pmod {p-1}$, что подразумевает $m\equiv d_A \,r\pmod {\frac{p-1}{2}}$ и, следовательно, поскольку $\gcd(r,p-1)\in\lbrace 1,\frac{p-1}{2},p -1\rbrace$, если предположить, что $m\neq 0\pmod{\frac{p-1}{2}}$, то $\gcd(r,p-1)=1$, и мы закончили, поскольку $ г ^ {- 1} м \ эквив d_A \ pmod {p-1} $
fgrieu avatar
флаг ng
@Marcos: мне кажется, все в порядке.

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

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