Пользователи сети связи для обеспечения секретности сообщений выбирают (независимо друг от друга) пары преобразований (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). Объясните, почему способ Холмса лучше способа Ватсона.
Недостаток способа Ватсона состоит в том, что, перехватив сообщение (A,EB (m)), злоумышленник C может заменить его на (C,EB (m)), получив которое, B воспринимает его как первый шаг протокола передачи с уведомлением от C. Вычислив m, B затем уведомляет C о получении, посылая ему сообщение (B,EC(m)). Из него C извлекает искомое m и от имени B уведомляет A о получении, посылая ему сообщение (B,EA(m)).
Способ Холмса не позволяет злоумышленнику получить секретное сообщение m. В самом деле, получить его C может либо из перехваченных сообщений EB(A,m), EB(B,m), либо из направленного к нему сообщения EC(B,m). По EB(A,m) и EB(B,m) злоумышленнику невозможно найти m, поскольку для этого ему нужно решить сложную задачу обращения EA или EB. Исключая возможность сговора между B и C, считаем, что B « добровольно» не пошлет к C сообщение EC(B,m). Значит, такое сообщение попадет к C от B лишь в качестве уведомления о получении им сообщения EB(C,m). Такое сообщение к B может попасть лишь от C, который заменяет EB(A,m) на сообщение EB(C,m). По условию этого C также сделать не в состоянии.