4. Криптографические методы защиты информации
1. - Антон посылает Борису свой открытый ключ.
2. - Борис посылает Антону свой открытый ключ.
3. - Антон зашифровывает свое сообщение и отсылает половину этого сообщения Борису.
4. - Борис зашифровывает свое сообщение и отсылает половину этого сообщения Антону.
5. - Антон отсылает вторую половину своего сообщения Борису.
6. - Борис расшифровывает сообщение Антона с помощью своего тайного ключа. Борис отсылает вторую половину своего сообщения Антону.
7. - Антон расшифровывает сообщение Бориса с помощью своего тайного ключа.
Необходимо, чтобы одну часть сообщения, посланного Антоном или Борисом, нельзя было прочитать, не имея на руках другой его части. Тогда Борис не сможет прочитать сообщение Антона до тех пор, пока не дойдет до шага 6 блокировочного протокола, а Борис не сможет ознакомиться с сообщением Антона до шага 7. Существует несколько способов добиться этого:
• - если для шифрования используется блочный криптографический алгоритм, то первую часть отсылаемого сообщения можно, например, составить из первых половин блоков шифртекста, а вторую — из вторых;
• - расшифрование сообщения можно поставить в зависимость от случайного битового вектора, который отсылается вместе со второй частью сообщения;
• - первая часть сообщения представляет собой хэш-значение, полученное для шифртекста этого сообщения, а вторая часть содержит собственно сам шифртекст.
На шаге 1 блокировочного протокола Зиновий по-прежнему может подставить свой собственный открытый ключ вместо открытого ключа Антона. Однако теперь на шаге 3 Зиновий будет не в состоянии дешифровать перехваченное сообщение Антона и зашифровать его заново при помощи открытого ключа Бориса. Зиновию непременно придется придумать свое собственное сообщение (случайный битовый вектор или хэш-значение) и послать его половину Борису. То же самое касается и сообщения Бориса Антону, которое Зиновий перехватит на шаге 4 блокировочного протокола.