Подписи не гарантируют конфиденциальность. Если у вас есть данные, которые должны быть переданы, но должны оставаться конфиденциальными, вы должны использовать механизм передачи, обеспечивающий конфиденциальность.
Вы, очевидно, также хотите, чтобы сообщение было подписано объектом C, но без указания на сообщение для C. В общем, подписывающему объекту нужно знать только хэш подписанных данных. Затем подписавший может попытаться «угадать» данные, хэшируя потенциальные сообщения, и посмотреть, совпадает ли он с полученным хешем. Это та точка, в которой слепые подписи вступают в действие: чтобы подписывающее лицо даже не увидело хешированное сообщение.
Так получилось, что с RSA хешированное сообщение может быть восстановлено из подписи и открытого ключа подписавшего. Подписывающий (С), безусловно, знает свой собственный открытый ключ. Следовательно, сама подпись должна быть конфиденциальной (иначе было бы бессмысленно использовать слепые подписи в первую очередь). Таким образом, любой механизм, который вы используете для обеспечения конфиденциальности самого сообщения при его передаче от А к В, также должен применяться к подписи (а подпись не этого механизма).