Как плохо 3 как общедоступная экспонента RSA

Я создаю приложение, где я должен использовать RSA для шифрования некоторого материала с помощью открытого ключа. Я хочу, чтобы это шифрование было действительно быстро. Первоначально, я попробовал ключ на 2 048 битов F4 (=65537) как экспонента, но это не достаточно быстро. Таким образом, теперь я рассматриваю следующие 2 возможности:

  1. Модуль на 2 048 битов, e=3
  2. Модуль на 1 024 бита, e=65537

Оба удовлетворяют мои требования к производительности, но какой обеспечивает лучшую безопасность? Я должен также отметить, что использую дополнительную схему PKCS#1.

8
задан safsaf32 28 December 2009 в 00:49
поделиться

5 ответов

Если вы используете случайную прокладку, такую как OAEP в PKCS#1, то большинство (все?) известных слабых мест от использования низких экспонентов уже не актуальны.

Также вы пробовали использовать e=17? Нет правила, по которому вы должны выбрать 3 или 65537.

.
9
ответ дан 5 December 2019 в 07:11
поделиться

В своей книге " Практическая криптография " Брюс Шнайер и Нильс Фергюсон предлагают использовать общественный показатель 3 для подписей и 5 для шифрования. Вы должны дважды проверить другие критерии, которые они рекомендуют, чтобы избежать катастроф. Раздел 13.4 описывает это (p229ff) и обсуждает не очень сложное требование, которое, учитывая n = pq (где p и q - случайные праймы), ни (p-1), ни (q-1) не может быть кратным 3 или 5. Но все же дважды проверьте книгу на детали.

(Полагаю, что есть новое издание книги, которое должно выйти в 2010 г.)

.
3
ответ дан 5 December 2019 в 07:11
поделиться

Если ваш экспонент низкий и значение m*e <модуль, вы можете просто взять этический корень шифрованного текста для расшифровки.

Это из моих записок по криптографии двухлетней давности. Но, отвечая на ваш вопрос, кажется, что вариант 2 лучше.

Тот, кто больше хочет заниматься математикой, возможно, сможет дать вам лучшее объяснение.

.
1
ответ дан 5 December 2019 в 07:11
поделиться

при условии, что вы используете хорошую схему прокладки, то нет известной причины, почему E = 3 должна иметь хужее безопасность, чем любой другой государственный показатель. Использование короткого показателя имеет проблемы, если вы также не используете хорошую схему прокладки, но проблема более лежит в схеме прокладки, чем в экспоненте.

«Чувство кишечника» многих исследователей состоит в том, что E = 3 не лучше , чем любой другой общедоступный показатель, и E = 3 может оказаться немного слабее на некоторой не указанной будущей дате, хотя ничего не указывает на такую ​​слабость прямо сейчас.

Длина ключа имеет гораздо более высокое практическое влияние на безопасность. 768-битный ключ RSA был взломан недавно взломан (это было непросто! Четыре года работы с большими компьютерами и большим мозгом). 1024-битный ключ считается адекватным в краткосрочной перспективе, но долгосрочное использование (например, зашифрованные данные имеют высокое значение и все равно должны быть конфиденциальными в 2030 году). 2048 бит. См. Этот сайт для большой информации о том, как можно оценить криптографическую прочность и оценивается различными исследователями и организациями.

Если вы находитесь после очень быстрого асимметричного шифрования, вы можете расследовать схему шифрования Rabin-Williams , которая является быстрее, чем RSA, обеспечивая, по меньшей мере, одинакового уровня безопасности для той же длины вывода ( Но нет простого в использовании подробных стандарта для этой схемы, противоречит RSA с PKCS # 1, так что вы немного на вашем собственном).

5
ответ дан 5 December 2019 в 07:11
поделиться

В настоящее время нет известной атаки против того, что используется правильная прокладка, небольшие показатели с большей вероятностью приведут к использованию в случае ошибок реализации. И ошибки реализации, к сожалению, все еще угрозу. Например. Это - это уязвимость, которая была довольно «популярной». (Примечание, это для подписей. Я просто хочу показать, что даже коммерческое программное обеспечение может иметь серьезные ошибки.)

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

Если вы выбираете небольшой (1024-битный) модуль, вы не можете предположить, что ваши данные могут быть конфиденциальными на протяжении десятилетий.

Если вы выбираете небольшой показатель, вы можете быть более подвержены ошибкам реализации.

В первом случае вы в значительной степени знаете, когда ваши секреты опасны, поскольку довольно легко следовать прогрессу, достигнутому в факторинге. (Это предполагает, конечно, что агентства, которые не публикуют E.g. NSA, не является вашим врагом). Во втором случае (ошибки реализации) вы не знаете, когда вы допустили ошибку. Вы можете быть в безопасности, используя E = 3 или вы могли бы сделать большую ошибку. Я В одном случае у вас есть довольно хороший способ оценить свой риск, а в другом случае у вас нет.

Поэтому я рекомендую не использовать E = 3 вообще. Я бы использовал больше запасов безопасности против этих угроз, которые трудно предсказать, чем эти угрозы, которые широко распространены.

3
ответ дан 5 December 2019 в 07:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: