Популярный ICQ-клиент Miranda IM ( http://miranda-im.org ) имеет несколько плагинов для обмена зашифрованными сообщениями.
Перебрав некоторые из них, остановился на SecureIM 1.0.4.4c ( http://addons.miranda-im.org/details.php?action=viewfile&id=411 )
Этот плагин оказался самым простым в использовании и настройке. Кроме ICQ, обеспечивает прозрачную поддержку протоколов MSN, YAHOO, JABBER, NETSEND, EMLAN, GADUGADU(x2) и AIM. Однако дальнейшее изложение касается протокола ICQ. Для шифровки сообщений используется алгоритм AES с длиной ключа 192 бита. Ключи генерируются автоматически и обмен ими происходит при помощи алгоритма Диффи-Хелмана, что избавляет от необходимости запоминать пароли для каждого пользователя в контакт-листе. И разумеется доступны исходные коды для любопытных.
Установка сводится к копированию файла SecureIM.dll в папку с остальными плагинами Миранды.
После запуска Миранды никаких дополнительных настроек не нужно.
Чтобы включить шифровку сообщенний, нажмите правую кнопку мыши на нужном контакте и выберите "Create SecureIM connection" (иконка желтый ключик). После этого плагин попытается произвести обмен ключами. Если у вашего собеседника не установлен SecureIM, он увидит строчку похожую на "----Key3@hell----81421....9C9E" и обязательно спросит что такое вы ему прислали :)
В случае успешного обмена ключами и установления защищенного канала, после имени контакта появится буква S в скобках -- "(S)"
Для отключения шифровки сообщений, правой кнопкой мыши выберите "Disable SecureIM connection" (иконка красный ключик) у нужного контакта.
Конечно, каждый раз создавать защищенное соединение для тех контактов, с которыми хочется иметь его постоянно, утомительное занятие. Для этого откройте окно с настройками Миранды, найдите там раздел SecureIM со списком своих контактов, нажмите правую кнопку мыши на нужный и выберите "Status" -> "Always try to Establish Secure IM".
Дополнительно рекомендуется поставить плагин PopUp Plus 2.0.3.8 ( http://addons.miranda-im.org/details.php?action=viewfile&id=1170 ), что позволит наблюдать процесс обмена ключами.
Что такое алгоритм Диффи-Хелмана и почему не нужно вводить и запоминать пароли, можно прочитать здесь: http://citforum.urc.ac.ru/nets/semenov/6/difi_646.shtml (копия: http://docs.luksian.com/networks/techs/intro/?f=6/difi_646.shtml)
Более подробно с примерами, но на английском языке здесь: http://en.wikipedia.org/wiki/Diffie-Hellman_key_exchange