Рейтинг:1

Возможна ли цифровая подпись без схемы?

флаг in

В своем приложении я хочу использовать криптосистему Рабина с короткими ключами (например, 128 бит) и MD5 для хеширования. Я обнаружил, что такая схема, как PKCS1-V1_5 или PPS, не позволяет вам иметь такие маленькие ключи, а результирующая подпись равна 64 байтам для 512-битного ключа.

Мне нужно подписать небольшой объем данных, например 30-50 байт, а наличие 64-байтовой подписи требует значительных накладных расходов. Я попробовал BLS (48 байт для подписи), но он слишком медленный по сравнению с Рабином.

Моя идея состоит в том, чтобы использовать MD5, потому что ему нужно всего 128 бит и короткий ключ того же размера, чтобы избежать заполнения. Так что в этом случае мне не нужна схема. Также это должно дать мне 20 байтов для каждой подписи. Я понимаю, что это очень слабая подпись, но время жизни данных (пакетов) будет коротким.

Будет ли работать такой подход?

Maarten Bodewes avatar
флаг in
128 бит для криптосистемы, зависящей от жесткости факторизации, явно не урежут. MD5 также является плохим выбором, потому что он допускает атаки без каких-либо заметных преимуществ по сравнению с FDH, таким как SHAKE128, и вы также можете просто использовать (крайние левые биты) быстрого, криптографически безопасного хэша. Я бы предпочел рассмотреть способы решения проблемы (например, ECDH, а затем получить ключ MAC для нескольких сообщений).
fgrieu avatar
флаг ng
Рабин с 64-байтной подписью (512-бит) очень небезопасен; он был публично взломан в 1999 году (см. [это] (https://crypto.stackexchange.com/a/1982/555)). Для 64-байтной подписи вы можете использовать [Ed25519](https://ed25519.cr.yp.to/) или [ECDSA](https://www.secg.org/sec1-v2.pdf#subsection. 4.1) с кривой [secp256r1](https://www.secg.org/sec2-v2.pdf#subsubsection.2.4.2). Проверка подписи не такая быстрая, как у Рабина, и более сложная, но помимо этого я могу думать только о преимуществах: меньший открытый ключ и подпись, более быстрое создание подписи. Есть варианты на 25% меньше (48 байт).
poncho avatar
флаг my
Будет ли код аутентификации сообщения работать в вашем сценарии? Это означает, что получатель может генерировать «подписанные» сообщения; в некоторых сценариях это не проблема (а в других - очень большая проблема). Если вы можете использовать MAC, ну, размеры MAC могут быть довольно маленькими без проблем (кроме очевидного; злоумышленник просто угадывает; с MAC-адресом $n$ бит он имеет вероятность $2^{-n}$ быть правильно...)
флаг in
@poncho К сожалению, нет, потому что для этого требуется какой-то сеансовый ключ для каждой пары участников.
fgrieu avatar
флаг ng
Опять же, ** я предлагаю пересмотреть вопрос с указанием функциональных целей **: размер сообщения, максимальный размер сообщения + подписи, необходимость или отсутствие того, чтобы сообщение было понятным без открытого ключа (если нет, можно внедрить стандартизированное 256-байтовое сообщение Рабина + подпись). 222 байта сообщения), ограничения производительности для генерации подписи и (отдельно) проверки, любые требования безопасности, выходящие за рамки [стандартных](https://en.wikipedia.org/wiki/Digital_signature_forgery) (в частности, является ли проблемой знание закрытого ключа позволяет создавать пары различных сообщений с одинаковой подписью?).
Рейтинг:2
флаг in

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

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

Однако при 128-битной подписи закрытый ключ будет известен за секунды — если что. Так что, в конце концов, не имеет значения, является ли хеширование безопасным или нет. Для больших размеров ключа его определенно можно сделать безопасным, используя другой PRF, например. ШЕЙК128.

Если вы можете установить секретный ключ, то 128-битный MAC будет очень безопасным. Поэтому, возможно, вам нужно предложить два сообщения в любом направлении, чтобы вместо этого выполнить ECDH, чтобы получить некоторый сеансовый ключ MAC.

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

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