Архив задач олимпиады по математике и криптографии

Открытый ключ

Пользователи сети связи для обеспечения секретности сообщений выбирают (независимо друг от друга) пары преобразований (E,D), одно из которых, E (открытый ключ), публикуют в справочнике, а второе, D (личный ключ), держат в секрете. Известно, что значения E(m) и D(n) легко вычислить для любых сообщений m и n, причем из равенства E(m)=n следует, что D(n)=m. В то же время нахождение m по E(m) является сложной задачей, которую невозможно решить (любыми средствами) за реальное время, если неизвестно D. Если пользователь A хочет послать пользователю B сообщение m, он берет из справочника открытый ключ EB пользователя B, вычисляет n=EB(m) и посылает n к B. Получив n, B вычисляет DB(n)=m. Злоумышленник, перехвативший n, не сможет вычислить m. Это гарантирует секретность информации.

Ватсон предложил Холмсу способ передачи секретных сообщений с уведомлением о получении: A передает B сообщение (A,EB(m)); B, получив сообщение, вычисляет m и направляет A уведомление (B,EA(m)). Холмс возразил Ватсону, что этот способ не обеспечивает секретности информации от любого пользователя, который может перехватывать сообщения и как угодно их изменять. Дополнительно потребовав, чтобы для каждого преобразования E было сложно подобрать пару (m,n), для которой E(m)=E(n), Холмс предложил Ватсону свой способ: A передает B сообщение EB(A,m); B, получив сообщение, находит m и направляет A уведомление EA(B,m). Объясните, почему способ Холмса лучше способа Ватсона.