Рейтинг:1

Использование ElGamal вместо RSA в FDH

флаг bd

В RSA-FDH для подписи сообщения $м$, применяем хеш-функцию $Ч$ а затем «расшифровать» его с помощью закрытого ключа $д$, так $Sign(m) = H(m)^d \mod N =: \sigma$ а затем для проверки мы используем открытый ключ, в результате чего $H(m) = \sigma^e \mod N$ если все пойдет хорошо.

Почему мы должны использовать для этого RSA, а не что-то другое, например ElGamal? Это потому, что зашифрованный текст в ElGamal в два раза длиннее открытого текста, или возможна какая-то подделка со стороны злоумышленника, которая невозможна при использовании RSA-FDH?

kelalaka avatar
флаг in
Вы не должны использовать расшифровку слов для подписи и шифрование для проверки. Это совершенно разные концепции, которые мало связаны с RSA!.
Рейтинг:4
флаг vu

Это неоднократно повторялось в этом сообществе.

Цифровая подпись НЕТ зашифровать закрытым ключом. RSA — единственная известная нам биекция, в которой и публичная, и приватная операции возводятся в степень по модулю публичности.

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

fgrieu avatar
флаг ng
Точнее: чтобы попробовать то, что пытались сделать, нам пришлось бы определить $H$ с выводом на множестве всех шифротекстов Эль-Гамаля. Это возможно. Но поскольку шифрование Эль-Гамаля рандомизировано, нет причин, по которым шифрование подписи могло бы дать хэш.Таким образом, рассматриваемая система подписи не является надежной. Примечание: последний абзац текущего ответа будет применяться, если мы попытаемся зашифровать с помощью закрытого ключа, но вопрос не в этом: предложение состоит в том, чтобы _ «… затем «расшифровать» (хеш) с помощью закрытого ключа » _, что в Эль-Гамале возможно, для правильного хеша.
Рейтинг:3
флаг ng

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

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


Для простоты рассмотрим Эль-Гамаля в мультипликативная группа по модулю $р$, отмеченный $\mathbb Z_p^*$, с $р$ и $(p-1)/2$ премьер, и $G$ такой, что $G^{(p-1)/2}\bmod p\,=\,p-1$:

  • Закрытый ключ — это случайный секрет $х\в[0,р-1)$, открытый ключ $X:=G^x\bmod p\in[1,p)$.
  • Шифрование произвольного открытого текста $M\in[1,p)$ идет
    • генерировать эфемерный случайный секрет $y\in[0,p-1)$
    • вычислять $Y:=G^y\bmod n$
    • вычислять $Z:=M\cdot X^y\bmod n$
    • выходной зашифрованный текст $(Г,Z)$
  • Расшифровка произвольного зашифрованного текста $(Y,Z)\in[1,p)\times[1,p)$ выходы $M':=Y^{n-1-x}\cdot Z\bmod n$.

$М'=М$ невзирая на $у$. Доказательство подсказки: Маленькая теорема Ферма.

В отличие от учебника RSA, этот вариант Эль-Гамаля близок к Индивидуальная цена за конверсию, но не совсем. Подсказка: рассмотрим отношения между Символы Лежандра из $\left(\frac M p\right)$, $\влево(\фракция X p\вправо)$, $\влево(\фракция Y p\вправо)$. В дальнейшем мы игнорируем эту относительно незначительную проблему.

Одной из самых простых попыток исправить проблему, поднятую во втором абзаце этого ответа, было бы исправить $у=1$, таким образом $Y=G$. Затем схема подписи вопроса может использовать хэш $Ч$ с выходом $Ч(м)$ в полном домене $[1,р)$ такие как $$H(m):=\big(\operatorname{SHAKE256}(m,b)\bmod p-1\big)+1\text{с}b=64\left\lceil\log_2(p)/64 +2\право\rceil$$ а потом

  • Закрытый и открытый ключи как в шифровании
  • Подпись $м$ является $\sigma:=G^{n-1-x}\cdot H(m)\bmod n$
  • Проверочные чеки $\sigma\cdot X\bmod n=H(m)$.

По крайней мере, проверка проходит без изменений, так что эта схема подписи верна. Но это небезопасно даже по самым простым критериям УФ-КОА.

Другие простые попытки также терпят неудачу, в том числе

  • изготовление $у$ секрет, добавленный к закрытому ключу, с $Y:=G^y\bmod n$ и $Y':=X^y\bmod n$ добавлен в открытый ключ
  • изготовление $у$ хэш сообщения $м$
  • изготовление $Y$ хэш сообщения $м$
  • по-видимому, все, что работает в произвольной группе, как использует шифрование Эль-Гамаля, а подпись является групповым элементом, как выводит дешифрование Эль-Гамаля.

Хотя это не относится к Эль-Гамалю, возникает другая проблема при попытке создать подпись из общей схемы шифрования с открытым ключом и хэша в его домене зашифрованного текста: расшифровка произвольного зашифрованного текста может завершиться неудачно (что и происходит для практических систем, таких как РСА-ОАЭП, РГАЭС-ОАЭП, RSAES-PKCS1-v1_5). Это на самом деле функция в интересах IND-CCA безопасность.

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

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

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