Первое, что вы можете попробовать, это выяснить, можете ли вы применить атаку Дж. Мангера из статьи «Выбранная атака шифротекста на RSA-оптимальную асимметричную атрибутивную набивку (OAEP), стандартизированную в PKCS # 1 v2.0»."Crypto 2001.
Это означает, что вы должны выяснить, какую информацию вы можете получить от оракула.Т.е. выберите два произвольных целых числа m0, m1 так, чтобы m1 было 1024-разрядным целым числом, меньшим, чем n, и m0 было бы длиной 1023 или менее бит.Если вы передадите m0 ^ e mod n и m1 ^ e mod n оракулу, получите ли вы другой ответ?Если это так, то вы можете применить атаку в статье выше.В противном случае вам придется искать другой недостаток в оракуле расшифровки.
Еще один подход, который может сработать, - попытаться изменить модуль n.Если оракул действительно читает модуль из предоставленного пользователем ввода, то похоже, что изменение модуля должно работать, и атака становится довольно легкой.У меня нет доступа к реализации оракула, поэтому я могу только догадываться, что возможно.Если вы можете проверить для любого выбранного n ', c', является ли c '^ d mod n' действительным открытым текстом, закодированным OAEP, то вы дешифруете исходное сообщение - это не все, что вы можете сделать, фактически вы также можете восстановить d и, следовательно, учестьоригинальный модуль RSA.
(Более того, это действительно очень хорошая головоломка, поэтому я не хочу испортить удовольствие, дав пошаговый рецепт о том, как ее решить.)