Рейтинг:2

Насколько важна постоянная проверка метки lHash в RSA-OAEP?

флаг vu

В моем хобби-проекте реализация РСА-ОАЭП, я опустил поддержку меток в начале. Я установил метку на пустую строку при шифровании и проигнорировал метку при расшифровке.

Теперь я добавляю специальную функцию для установки и проверки метки, но пока это не постоянное время. В примечании по безопасности в PKCS#1v2.2 говорится, что проверка метки вместе с другими проверками зашифрованного текста должна выполняться как атомарный шаг с постоянным временем.

Q1: Вот и хочу спросить: насколько опасно проверять метку не в постоянное время?

Я могу думать о том, что посторонний с помощью открытого ключа шифрования угадывает предварительно разделенную секретную метку как один из сценариев, Q2: есть ли другие?

fgrieu avatar
флаг ng
В вопросе используется RSA-OAEP, где явно имеется в виду [RSAES-OAEP](https://pkcs1.grieu.fr/page=#%5B%7B%22num%22%3A44%2C%22gen%22%3A0%7D% 2C%7B%22name%22%3A%22XYZ%22%7D%2C118%2C640%2Cnull%5D). Эта лицензия прекрасна и распространена.Однако следует отметить, что RSAES-OAEP представляет собой упрощенную версию [RSA-OAEP] (https://cseweb.ucsd.edu//~mihir/papers/oaep.pdf) и имеет несколько отличий, в том числе введение этикеток.
Рейтинг:2
флаг ng

насколько опасно проверять метку не за постоянное время?

Насколько я могу судить, не так много, пока метка является общедоступной, и эта проверка выполняется и не обусловлена ​​проверкой 0x00 байта слева от результата RSA-расшифровки. $c^d\bmod п$. Это применимо независимо от того, поддерживает ли операция расшифровки метки.$я$


, кто знает цену $у$непосредственно, в наборе игроков. Из вышеизложенного это означает, что все игроки должны сотрудничать, включая игрока.

$я$, восстановить $у$. Но если все игроки решат сотрудничать, им не нужны секретные доли, так как игрок35].

$я$

имеет секретное значение. Вместо использования схемы обмена секретами игрок $я$может сначала ничего не отправлять, а потом когда все согласятся восстановить секретное значение $у$, затем игрок $я$можно просто отправить всем значение $у$Обмен секретами Шамира может дать вам
$t$ -снаружи- $К$ = схема, так что плеер || $я$может вычислять значения $x_i$ .
дать каждому игроку так, чтобы если хотя бы $t$игроки сотрудничают, эти игроки могут вычислить значения для $a_i$так что сумма $a_ix_i$для всех взаимодействующих игроков будет равно $у$Шамир делится секретом с $т=К$очень похоже на то, что вы описали, с той лишь разницей, что нет$a_i$

и$x_i$разрешено быть . Для этой схемы вы должны выбрать равномерно случайный$x_i$ для всех$я$ кроме$я=К$ . Затем установите$$ x_K = y - \sum_{i=1}^{K-1}x_i$$ Тогда любой набор$К-1$ секретные значения равномерно случайны и не зависят от$у$

, что, по сути, является лучшей гарантией безопасности, на которую вы можете надеяться. Из этих значений$x_i$ , если вы хотите, чтобы схема напоминала ваше первоначальное предложение, вы можете выбрать случайный ненулевой$x_i'$ , и установите$a_i = x_i'^{-1}x_i$ . На самом деле каждый игрок может сделать это сам, так что это не повлияет на безопасность. Но я не вижу, какую функциональность он вам дает. || насколько опасно проверять метку не за постоянное время?Насколько я могу судить, не так много, пока метка является общедоступной, и эта проверка выполняется и не обусловлена ​​проверкой 0x00 байта слева от результата RSA-расшифровки. $c^d\bmod п$. Это применимо независимо от того, поддерживает ли операция расшифровки метки.$я$ , кто знает цену$у$ непосредственно, в наборе игроков. Из вышеизложенного это означает, что все игроки должны сотрудничать, включая игрока.$я$

, восстановить $у$. Но если все игроки решат сотрудничать, им не нужны секретные доли, так как игрок $я$имеет секретное значение. Вместо использования схемы обмена секретами игрок $я$может сначала ничего не отправлять, а потом когда все согласятся восстановить секретное значение $у$, затем игрок $я$можно просто отправить всем значение $у$Обмен секретами Шамира может дать вам $t$-снаружи- $К$схема, так что плеер $я$может вычислять значения $x_i$дать каждому игроку так, чтобы если хотя бы $t$игроки сотрудничают, эти игроки могут вычислить значения для $a_i$так что сумма $a_ix_i$.

для всех взаимодействующих игроков будет равно $у$Шамир делится секретом с


$т=К$

очень похоже на то, что вы описали, с той лишь разницей, что нет $a_i$и $x_i$разрешено быть . Для этой схемы вы должны выбрать равномерно случайный$x_i$ для всех$я$

кроме

$я=К$ . Затем установите$$ x_K = y - \sum_{i=1}^{K-1}x_i$$

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

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