Вскрытие шифрования и подписи с использованием RSA

Имеет смысл подписывать сообщение перед шифрованием (см. раздел 2.7), но на практике никто не выпол­няет этого. Для RSA можно вскрыть протоколы, шифрующие сообщение до его подписания [48].

Алиса хочет послать сообщение Бобу. Сначала она шифрует его открытым ключом Боба, а затем подписы­вает своим закрытым ключом. Ее зашифрованное и подписанное сообщение выглядит так :

те" то&пвУА то&пА

Вот как Боб может доказать, что Алиса послала ему т', а не т. Так как Бобу известно разложение на множи­тели ид (это его собственный модуль), он может вычислить дискретные логарифмы по основанию пв. Следова­тельно, ему нужно только найти х, для которого

т* = тmod пв

Тогда, если он может опубликовать хев в качестве своего нового открытого показателя степени и сохранить свой прежний модуль пв, он сможет утверждать, что Алиса послала ему сообщение т', зашифрованное этим новым показателем.

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